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

Поле cost в таблице log_session_
http://forum.bitel.ru/viewtopic.php?f=10&t=1429
Страница 1 из 1

Автор:  _max [ 05 сен 2008, 22:41 ]
Заголовок сообщения:  Поле cost в таблице log_session_

Уважаемые разработчики!

После внесения изменений в структуру таблицы log_session_... (изменения поля cost на float(10,2)) мы получили неприятные последствия в виде накапливающихся ошибок округления. Т.к. мы используем цены на некоторые услуги модуля Phone выражаемые в 4 цифрах после запятой, то после внесенных Вами изменений мы стали получать ошибочные отчеты биллинговой системы.

Прошу вернуть прежнюю точность в данном модуле.

Автор:  Администратор [ 08 сен 2008, 15:51 ]
Заголовок сообщения: 

Попробуйте сделать так
Код:
ALTER TABLE log_session_... MODIFY cost DECIMAL(10,2) NOT NULL

Это решает проблему?

Автор:  MiB [ 08 сен 2008, 16:51 ]
Заголовок сообщения: 

Максим с сегодняшнего дня находится в отпуске, я к модулю телефонии никогда не имел отношения. но т.к. остальными модулями биллинга занимаюсь я данную тему мне и поручили промониторить.

отсюда вопрос после смены типа данных необходимо запускать перезагрузку и переобработку логов?
вообще если можно то краткую инструкцию по данным изменениям.

Автор:  MiB [ 12 сен 2008, 15:26 ]
Заголовок сообщения: 

Администратор писал(а):
Попробуйте сделать так
Код:
ALTER TABLE log_session_... MODIFY cost DECIMAL(10,2) NOT NULL

Это решает проблему?

изменения внесены.
логи перезагружены и переобработаны.
эффекта нет.


для полноты картины:
наш тариф 29 копеек за минуту. с НДС 0,3422р
клиент наработал в месяц 1576 минут
в билинге ему сделана наработка в размере 537,82р

как получается данная сумма не понимаю:
1576*0,3422 = 539,31р
1576*0,34 = 535,84р

и так по всем клиентам у кого есть превышение.

каковы будут дальнейшие рекомендации?

Автор:  Администратор [ 15 сен 2008, 11:25 ]
Заголовок сообщения: 

А вы учитывали, что звонок, на котором случилось превышение, весь считается по нулевой цене? Т.е. если например в первую минуту звонка он выбрал квоту, все равно весь звонок идет по одной цене, т.е. по 0.
P.S. А ошибки округления остались? И вообще, что там было?

Автор:  MiB [ 15 сен 2008, 13:39 ]
Заголовок сообщения: 

Администратор писал(а):
P.S. А ошибки округления остались?

да. все суммы в столбце cost абсолютно идентичны при Float и при Decimal

Цитата:
И вообще, что там было?

это я и пытаюсь у вас выяснить :).

вообще в чем был смысл вносить округление в базу?
или можно это сделать настраиваемо? скажем параметром модуля до скольки символов округлять и хранить в базе.

Автор:  Администратор [ 17 сен 2008, 13:28 ]
Заголовок сообщения: 

Нужно точное описание проблемы со скриншотами. Я это имел ввиду под "что случилось"..

Автор:  MiB [ 19 сен 2008, 11:21 ]
Заголовок сообщения: 

Администратор писал(а):
Нужно точное описание проблемы со скриншотами. Я это имел ввиду под "что случилось"..


что-то слабо понимаю какие из скриншотов необходимо сделать.
данные по доступу в личке.

Автор:  MiB [ 19 сен 2008, 15:34 ]
Заголовок сообщения: 

В личку почемуто файлы не вставляются:

Вложения:
avg.JPG
avg.JPG [ 149.84 КБ | Просмотров: 9582 ]
avv.jpg
avv.jpg [ 146.06 КБ | Просмотров: 9582 ]

Автор:  Администратор [ 19 сен 2008, 16:38 ]
Заголовок сообщения: 

Мы не можем сделать 5 знаков, т.к. в противном случае проблема с выдачей детализации по звонкам. Сумма округленных звонков будет не равна округленной сумме. В детализации ведь не сделаешь десятые доли копейки.

Автор:  MiB [ 22 сен 2008, 12:17 ]
Заголовок сообщения: 

Администратор писал(а):
Мы не можем сделать 5 знаков, т.к. в противном случае проблема с выдачей детализации по звонкам. Сумма округленных звонков будет не равна округленной сумме. В детализации ведь не сделаешь десятые доли копейки.


понятно.
тогда переходим к другому решению вопроса.
каким образом возможно сделать начистеление НДС 1 раз по итогам месяца?
логика:
-в Тарифном плане ставим стоимость минуты без учета НДС- 29 компеек/мин.
-раз в месяц запускается загрузка и обработка логов.
-далее запускается скрипт(????) который по даному mid отбирает суммы за прошлый месяц и умножает их на 1,18.
-далее по алгоритму.

Автор:  Администратор [ 22 сен 2008, 16:09 ]
Заголовок сообщения: 

Цитата:
-далее запускается скрипт(????) который по даному mid отбирает суммы за прошлый месяц и умножает их на 1,18.

И куда помещает результат?

Автор:  MiB [ 22 сен 2008, 18:38 ]
Заголовок сообщения: 

Администратор писал(а):
Цитата:
-далее запускается скрипт(????) который по даному mid отбирает суммы за прошлый месяц и умножает их на 1,18.

И куда помещает результат?


как вариант создать нередактируемый платеж "НДС" и делать приход на него.

я понимаю что костыль еще тот, но как-то необходимо выходить из ситуации. пока предложил делать то-же самое вручную.

Автор:  Администратор [ 23 сен 2008, 13:13 ]
Заголовок сообщения: 

Как вариант - создать событие таймера, генерировать его первого числа, по этому событию брать наработку договоров, умножать на 0.18 и заносить расход с НДС.

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