Логика работы табличных документов

12 Feb 2016

Почти все табличные документы, которые содержат колонки:

работаю следующим образом:

Все эти три поля храняться в базе данных, и вычисляються лишь в интерфейсах, по событийным тригерам.

Обычно в самом документе есть еще поле СуммаДокумента. Он вычисляется и пересчитываеться при записи документа. Картинка Типовые правила пересчёта:

Естесвенно что при использовании копеек теряеться точность, за счёт округления. Т.е. если цена: 4,42 количество: 7 сумма: 30,94. Примеры легко продуцировать на простых числах. При этом при изменении суммы от 30,97 до 31,04 цена в большенстве случаев будет сохраняться без изменения. В целом это нормально, потому что большинство людей любит круглые суммы документов, и строк в частности.

Если нужно пользоваться округлением, или какой то небольшой скидкой, то обычно есть дополнительные поля отвечающие за сумму скидки.

InSales