Доброго дня
Незнаю баг это или что, но проблема существует уже давно.
Есть поля:
Единиц - поле Числовое
Цена за единицу - поле Числовое
Сумма - поле Текст
Сумма = Единиц * Цена за единицу
в шаблоне {$subtable.Edinic * $subtable.Cena_za_edinicu}
проблема в том что при сохранении в таблице цифры сохраняются в виде "2 000", "5 000 000" разделенные пробелом и вычисление уже не работает.
Раньше проблему решал заменой числовых полей на текстовые. Но это не верно. При вводе можно точку или запятую поставить.
Что посоветуете.
Произведение в шаблоне печати
Автор sniper3d, 20 июня 2013 14:03
В теме одно сообщение
#1
Отправлено 20 Июнь 2013 - 14:03
#2
Отправлено 20 Июнь 2013 - 18:30
Это не баг. Но вы правы, производить напрямую какие-либо вычисления с числовыми полями в шаблоне нельзя, из-за их представления в локальном формате. Тем не менее, выход есть. Для этого необходимо воспользоваться функцией SumFormat. Например, в вашем случае:
{SumFormat value="{$subtable.Edinic}*{$subtable.Cena_za_edinicu}" digits=0}
Поясняю: функция преобразует числовые поля внутри аргумента "value" обратно во внутренний числовой формат, после чего с ними можно производить любые арифметические действия (-,+,*,/), а затем выводит результат снова в локальном (т.е. в русском, к примеру) формате. Аргумент "digits" при этом отвечает за количество цифр после запятой.
{SumFormat value="{$subtable.Edinic}*{$subtable.Cena_za_edinicu}" digits=0}
Поясняю: функция преобразует числовые поля внутри аргумента "value" обратно во внутренний числовой формат, после чего с ними можно производить любые арифметические действия (-,+,*,/), а затем выводит результат снова в локальном (т.е. в русском, к примеру) формате. Аргумент "digits" при этом отвечает за количество цифр после запятой.
Количество пользователей, читающих эту тему: 2
0 пользователей, 2 гостей, 0 анонимных












