CORRECTSUM
Вычисляет коррекцию для числового поля, в связи с потерями при округлении сумм. Была реализована для решения конкретной проблемы: при создании товарного документа (до разбивки по сериям) рассчитываются цены и суммы по строчке таким образом, чтобы получить круглую цену без НДС и сумму НДС. Если потом печатать форму с разбивкой по сериям, то может возникнуть ошибка округления, в результате чего сумма по строкам не будет совпадать с суммой документа.
Синтаксис
CORRECTSUM (Имя поля,Текущее значение,Итоговая сумма)
Аргументы
- Имя поля
- Строка, являющаяся именем поля, значение в котором требуется скорректировать.
- Текущее значение
- действительное число, текущее значение поля.
- Итоговая сумма
- действительное число, итоговая сумма.
Тип результата
- Действительное число.
Примеры
SAmount=Amount(Quantity*FPrice,1)
Goodies.FNDSSum=IIF(ISNULL(?BaseOneTaxAmt2),0,?BaseOneTaxAmt2)+
IIF(ISNULL(?BaseOneTaxAmt3),0,?BaseOneTaxAmt3)
SNDSSum=Amount(SAmount*FNdsPercents/100+CorrectSum("SNdsSum", SAmount*FNdsPercents/100,Goodies.FNDSSum),1)
При этом значение CORRECTSUM во всех строках, кроме последней, будет равно 0, а в последней - недостающему числу.