forum.bitel.ru
http://forum.bitel.ru/

[6.2] Траблы с округлением
http://forum.bitel.ru/viewtopic.php?f=16&t=11298
Страница 1 из 1

Автор:  borisk [ 01 фев 2016, 15:49 ]
Заголовок сообщения:  [6.2] Траблы с округлением

Добрый день!

Не знаю от куда начать, начну с этого форума:
Задача: абонент заказал 25 однотипных точек подключения с 28.01.2016. Ежемесячная стоимость одной точки - 3420.00р, рассчитывается пропорционально периода. Заводим точки в договор, как 25 отдельных услуг модуля NPay. Смотрим наработку: 11032.26. Эта сумма получилась как ROUND(3420.00 / 31 * 4 * 25, 2). Вроде бы правильно. Но теперь делаем счета в модуле бухгалтерии. Там, по требованиям бухгалтерии наработка "распадается" через NPAY_SERVICES_EXT, и опа, получаем 25 услуг по цене 441.29 и общую сумму наработки 11032.25. Согласен, мелочь, но бухгалтерия рвет и мечет. И что делать. Ну ладно, этот счет я скорректирую руками, а дальше? Все счета ведь не напроверяешься. И бухгалтерия вроде права. Математика математикой, но в бухгалтерии денежная математика и 2 цифры после запятой, и думается, что формула выше должна быть вида ROUND(СУММА_МЕСЯЦА/ДНИ_МЕСЯЦА * ДНИ_УСЛУГИ, 2) и считаться по каждой (даже однотипной) услуге отдельно.

Цитата:
Клиент: вер. 6.2.789 / 19.01.2016 15:11:45
os: Windows XP; java: Java HotSpot(TM) Client VM, v.1.8.0_71
Сервер: вер. 6.2.1001 / 19.01.2016 20:30:21
os: FreeBSD; java: OpenJDK 64-Bit Server VM, v.1.8.0_66
ВНИМАНИЕ: Виртуальная машина OpenJDK 64-Bit Server VM не рекомендуется

bill: вер. 6.2.63 / 14.01.2016 21:11:33
card: вер. 6.2.32 / 09.12.2015 16:39:12
dialup: вер. 6.2.311 / 23.09.2015 17:51:33
email: вер. 6.2.174 / 10.11.2015 13:12:09
inet: вер. 6.2.618 / 19.01.2016 20:33:09
ipn: вер. 6.2.236 / 19.01.2016 15:12:16
mps: вер. 6.2.175 / 11.01.2016 21:17:32
npay: вер. 6.2.188 / 02.12.2015 18:44:34
phone: вер. 6.2.255 / 19.01.2016 15:12:27
reports: вер. 6.2.198 / 25.12.2015 04:05:05
ru.bitel.bgbilling.plugins.documents: вер. 6.2.163 / 27.10.2015 17:08:26
ru.bitel.bgbilling.plugins.organizer: вер. 6.2.67 / 14.08.2015 18:02:06
voiceip: вер. 6.2.182 / 30.12.2015 13:28:55

Автор:  stark [ 01 фев 2016, 17:00 ]
Заголовок сообщения:  Re: [6.2] Траблы с округлением

Это проблема старая.. С одной стороны хотят чтобы биллинг считал точно, с другой - чтобы писал в каком-нибудь отчете детализацию с округлением до копеек. Если взять части и каждую округлить до копеек, то сумма не получится такая же . Наработку по услуге храним мы с точностью до 5-го знака, а при выводе в счете у вас округляет до 2-го. Хотя с другой стороны я понимаю проблему бухгалтерии. Особенно это хорошо проявляется если есть много каких-нибудь сессии или звонков и выводить стоимость каждого из них с точностью до 2-го знака.

Автор:  borisk [ 01 фев 2016, 21:21 ]
Заголовок сообщения:  Re: [6.2] Траблы с округлением

Да, я тоже припоминаю, что проблема старая. Но, imho, ее надо решать. Одним из вариантов решения я вижу - предоставить пользователю самому решать (как в модуле телефонии) до сколько знаков хранить округление.

Автор:  stark [ 02 фев 2016, 00:54 ]
Заголовок сообщения:  Re: [6.2] Траблы с округлением

Заказал детализацию звонков у своего сотового оператора, там с точносью до 4-го знака все показано. Может вам абонки в счете тоже показывать до 5-го знака?

Автор:  borisk [ 02 фев 2016, 12:26 ]
Заголовок сообщения:  Re: [6.2] Траблы с округлением

Я то не против, но в данном случае последнее слово за бухгалтерией :( А они категорически против.

Автор:  stark [ 03 фев 2016, 20:17 ]
Заголовок сообщения:  Re: [6.2] Траблы с округлением

borisk писал(а):
Я то не против, но в данном случае последнее слово за бухгалтерией :( А они категорически против.


Тогда не показывать? Писать количество услуг и общую сумму ?

Автор:  borisk [ 03 фев 2016, 20:40 ]
Заголовок сообщения:  Re: [6.2] Траблы с округлением

stark :) я вас прекрасно понимаю, что переделывать ну ничего не хочется. но..... требуется распечатка детализации. А, поскольку, детализация сначала попадает в нашу бухгалтерию, где они смотрят и проверяют, а потом в бухгалтерию клиента, где смотрят и проверяют, то рассказ про какие-то мистические 4 знака после запятой вообще не проканает.

Собственно я уже давно предлагал сделать, на мой взгляд, разумную вещь - позволить пользователю самому писать тарифную программу для модуля. То бишь - вы опять пишете интерфейс, формализируете передаваемые ядром параметры. В тарифе же появляется узел "пользовательский класс", на выходе которого будет стоимость.

Но надо что-то делать, надо.

Автор:  borisk [ 09 фев 2016, 13:51 ]
Заголовок сообщения:  Re: [6.2] Траблы с округлением

Таки нет? Ничего не будем делать? :)

Автор:  skn [ 09 фев 2016, 18:23 ]
Заголовок сообщения:  Re: [6.2] Траблы с округлением

Пишите в хд

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/