Расчет задолженности по Д/О

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
rozum
Посетитель
Сообщения: 49
Зарегистрирован: 18 янв 2013, 13:23

Расчет задолженности по Д/О

Сообщение rozum »

Всем добрый день! Недавно обращалась к вам за помощью по хlsetformula( расчет прошел но не дал нужного результата)
Прошу подсказки
У меня есть интерфейс по которому пользователь просматривает задолженность по документам.Сумму по документу расчитывает из спецификации( свои заморочки, так как далее разбиваем этот документ по подразделениям)
1 есть сумма
SpSopr.Kol * SpSopr.Price + if(KatSopr.VhodNal = 2, SpSopr.SumNds, 0) (FieldName = SumSpSopr)
далее есть
Procedure insTPRN(_BegOst:double;_Prihod:double;_SumOpl:double;_EndOst:double;_DOpl:date);
BegOst := BegOst + SumSpSopr;( условие если документ ранее даты на которую формируем отчет
Prihod := Prihod + SumSpSopr; ( если в тек. месяце дата)
далее через
Loop_SpSopHoz
{
SumOpl :=SumOpl + SpSopHoz.Summa;
...находим сумму оплаты по документу
и вот здесь начинается неразбериха Так как до 01_ 07_2016 были миллионы а после 01_07 прошла деноминация и стали копейки
База проденоминировалась. например платеж 112,505( галактика округлила визуально до 112,51) но хранит то внутри 112,505 к документу на сумму 545,18 и когда пытаюсь округлить изначально 112,51 а затем высчитываю остаток 545,18-112,51= 432,67 захожу в галактику смотрю и вижу задолженность по Д/О 432,68( и таких документов набегает прилично.Если же я не округляю оплату произвожу расчет и смотрю остаток то при выводе 0,005 округляет 0,01 хотя фактически там нет долга.
может кто знает как из галактики скопировать функцию расчета задолженности (SumRDolg)
Ответить