Когда вы уже исправите то, что точность знаков после запятой одинакова для всех полей документа? У нас отказываются принимать документы с указанием суммы 25 рублей 0567 копеек.
Знаки после запятой
Написать сообщение
Сообщение будет добавлено в самый конец дискуссии
Поставьте в настройках документа точность равную 2.
eleomis, угу и значение "количество" также станет округляться в _расчётах_ до второго знака. А там каждая десятитысячная грамма на учёт. Отобнражаться количество будет нормально, а считаться - криво.
Количество в БП не округляется, округляется цена и сумма.
Приведите пример неправильного расчета. Пример могу привести я.
Допустим я задаю количество 10 а цена 0,9545 (для электричества) если точность у нас 2, то цена будет взята - 0,96 и все суммы будут с 2 знаками. если же ставим 4 знака то цена остаётся неизменной, но вылезает в каждой сумме 4 знака после запятой. Что не есть правильно. Хотелос бы, чтобы указав цену с 4 знаками она с 4мя и осталась. но при этом расёт что бы вёлся до коппек. <dav>, отправьте по адресу 1@375.ru образец документа с алгоритмом расчета суммы.
Собственно расчёт должен быть математическим, но без отбрасывания знаков после запятой. Допустим в программе ставим точность 2. Это по-сути означает, что точность расчёта должна быть 2 знака после запятой. Тогда: имеем цену = 0,9564 количество = 10 и тогда (без отбрасывания знаков после запятой но с точностью = 2) получаем: 0,9564*10 = 9,56 в случае же с программой в настоящее время, когда при установленной точности 2 знака у нас в цене отбрасывается всё, точнее округляется до второго знака, мы получаем: 0,96*10=9,60 что как мне кажется не есть верно при условии больших количеств и таких цен. потому как если количество 100000, то суммы полученные в результате умножения 100000*0,96 и 100000*0,9564 существенно разнятся. дальнейший расчёт следует вести с математическим округлением. т.е. 9,56*1,18 = 11,28 и сумма НДС = 1,72 подытожив: мой расчёт: 0.9564*10 = 0.95 - сумма без НДС 0,95*1,18=11,28 сумма с НДС 11,28/1,18-11,28 = 1,72 НДС 11,28-0,95 = 1,72 НДС Ваш расчёт в нынешнем виде: 0,96*10=9,60 9,60*1,18=11,33 11,33/1,18-11,33=1,73 В случае же с точностью 4 знака - ну никуда не годится то, что суммы во всём документе с 4 знаками после запятой. Ну не бывает в бухгалтерии так. К сожалению цена бывает и с 5-ю знаками, а вот итоговые суммы должны быть с 2мя. Поэтому в программе предлагаю вести расчёты с точностью 4 знака, но производить округление переменных на уровне программы. т.е. брать указанную цену с 4 знаками и умножать на количество, после чего произвести округление до 2-го знака перед расчётами сумм. Хотя если в первом варианте не будет отбрасываться знаки, то точность в 4-мя знаками и не нужна получается. В настоящий момент использую в шаблонах такой приём - Round(Сумма*100)/100 что позволяет округлить до второго знака, и потом сумирую всё это по строкам. Получается хорошо, но иногда копейка проскакивает.. (( Желаю удачно с этим разобраться <dav>, в ближайшее время возможность таких расчетов будет реализована.
Было бы очень великолепно.
прошу прощения за опечатку в своём примере: мой расчёт: 0.9564*10 = 9.56 - сумма без НДС 9.56*1,18=11,28 сумма с НДС 11,28/1,18-11,28 = 1,72 НДС 11,28-0,95 = 1,72 НДС Подписаться на тему
|