Точный расчет пропорционально зависимых значений в спецификации.
Больше статья, чем программа. Прилагаемая внешняя обработка — пример расчета на таблице значений.
- Описание
- Подробнее
Описание
Точный расчет пропорционально зависимых значений в спецификации.
(Пример на сумме накладной и НДС)
Проблема возникает при округлении значений в расчетных колонках спецификации.
Накопление этих округлений приводит иногда к ощутимой погрешности расчетного итогового значения:
Итог по расчетной колонке <> Расчетное значение по итогу «колонки-основания» для расчета (1)
(проще говоря)
Итог("НДС") <> СтавкаНДС * Итог("Сумма") Погрешность в 1-2 копейки возникает очень часто, если количество строк в документе большое,
может достигать 10-20 копеек.
На первый взгляд проблема надуманна или несущественна.
Она имеет организационное решение: выверять сумму построчно в накладных;
расставаться с поставщиками, которые присылают такие документы;
в силу несущественности оставить как есть.
Исключения всегда есть:
— Валютная накладная с курсом, — пересчет спецификации на момент ввода в «рублевую» учетную систему,
— Необходимость распространения общей скидки / надбавки от суммы документа на его спецификацию (скидка, бонус, доп. расходы).
— Документы перепродажи между собственными юрлицами с небольшой наценкой (десятые доли процента), —
разница между «исходящим» и «входящим» НДС может сильно отличаться от нормативной по ставке от наценки.
Идея точного расчета состоит в том, чтобы условие (1) выполнялось на любой момент пересчета спецификации.
Таким образом, на примере НДС для позиции i спецификации (единая ставка для всей спецификации):
НДС_i = Окр(СтавкаНДС * Сумма_i,2); // по старому
НДС_i = Окр(СтавкаНДС * ПромИтог("Сумма",1,i),2) -
ПромИтог("НДС",1,i-1); // по новому
ПромИтог(<Колонка>,<ГраницаОтВкл>,<ГраницаДоВкл>) — промежуточный итог по указанной колонке
по диапазону строк с указанными границами.
Или, словами: НДС для позиции это разница между ставкой НДС от накопленной суммы на данную позицию
минус накопленный НДС на предыдущую позицию.
Пример для НДС условный, таким же образом могут сводиться в ноль любые процентные расчеты.
Реализация метода — в прилагающейся внешней обработке.
