0
pvase
07.02.12
✎
11:36
|
Есть проблема с округлением налоговых накладных. В конфигурации сделано округление до 3-х знаков СуммаБезНДС, НДС и СуммаСНДС.
С таким округлением все хорошо работает и построчно сумма умножается на ставку и получается то что надо, И итого СуммаБезНДС * СтавкаНДС = СуммаСНДС.
Но вот в чем незадача, налоговая не хочет принимать округление до 3-х знаков (Регистрация в едином реестре, привет нашим законодателям). Получается что надо 2 знака. Но если сделать 2 знака - тогда не во всех строках Окр(СуммаБезНДС,2) * СтавкаНДС = Окр(СуммаСНДС,2). Т.е. уже не совпадение по строкам, даже если извратиться и подобрать необходимый НДС (подобавляв 3 знак на 0.001 - 0.004) - то можно выйти на необходимое равенство. Так это не еще не верх всех страданий, оказыватеся надо чтобы итог, округленный до 2 знаокв также совпадал, примеч умноженным на Савку НДС, т.е. Итог("СуммаБезНД") * СтавкаНДС = Итог("СуммаСНДС"), а это уже намного сложнее, потому как в таком случае иногда надо исправлять Сумму СНДС на 1 копейку, а это приводит к неточности по строкам, т.е. увеличение на 1 копейку в кокой то строке - сбивает расчет по строке, получается что надо увеличивать иногда и на 2 копейки.
Даже если так извратиться, то возникает снова супер-привет от покупателя, особенно если он платит частями, и тогда заплатил по счету и получаем разницу на 1-2 копейки с налоговыми. В общем вот такой бред. Как можно побороть? Как в 8-ке вышли с такой ситуации (к сожалению сейчас посмотреть не могу)?
|
|
1
pvase
07.02.12
✎
12:52
|
Пример:
ТМЦ1 - СуммаБезНДС = 173343.745, СуммаНДС = 34668.749, СуммаСНС = 208012.494
ТМЦ2 - СуммаБезНДС = 179419.685, СуммаНДС = 35883.937, СуммаСНС = 215303.622
Теперь округлим до 2- знаков:
ТМЦ1 - СуммаБезНДС = 173343.75, СуммаНДС = 34668.75, СуммаСНДС = 208012.50
ТМЦ2 - СуммаБезНДС = 179419.69, СуммаНДС = 35883.94, СуммаСНДС = 215303.63
Итоги с округлением : СуммаБезНДС = 352763.44, СуммаНДС = 70552.69, СуммаСНДС = 423316.13.
Итоги без округления : СуммаБезНДС = 352763.430, СуммаНДС = 70552.686, СуммаСНДС = 423316.116.
Как видим ошибка в копейку имеется. Начинаем увеличивать сумму БЕЗ НДС.
Нам надо увеличить сумму БЕЗ НДС на 0.005, чтобы при округлении получить на копейку больше
0.005 / 2 = 0.0025, получаем, увеличиваем каждую строку на 0.003
173343.745 до 173343.748, в результате НДС = 34668.7496, округляем до 3 знаков и получаем 34668.750
179419.685 до 179419.688, в результате НДС = 35883.9376, округляем до 3 знаков и получаем 35883.938
Округляем итоги:
Сумма Бз НДС = Окр(352763.436, 2) 352763.44 - то что надо. Теперь осталось это все запихгнуть в программу (особенно если учесть что на печать выводятся итоги по ТМЦ, т.е. свернутые).
|
|