BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 02 май 2024, 19:44

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 13 ] 
Автор Сообщение
 Заголовок сообщения: Как так насчиталось?
СообщениеДобавлено: 29 июн 2011, 13:01 
Не в сети
Клиент

Зарегистрирован: 30 мар 2009, 17:51
Сообщения: 431
Карма: 23
Подскажите как биллинг так насчитал? Разница в 5 копеек с тем что должно быть при расчете руками
994000×29÷30×1,18=1133822,67

ps быстрая проверка приводит к подозрению что период снятия АП (29/30) как то неправильно округлился, в соответствии с тем что отображает биллинг это 0,96666663 хотя на самом деле 0,96666666... как так?

pps а сейчас заметил что в супердоговоре наработка этого договора - 63 копейки. WTF?

предвосхищая будущие вопросы:
1. Клиент: вер. 5.1 сборка 511 от 28.04.2011 19:00:59
os:Linux; java:Sun Microsystems Inc., v.1.6.0_22
Сервер: вер. 5.1 сборка 641 от 16.05.2011 21:23:46
os:SunOS; java:Sun Microsystems Inc., v.1.6.0_24

2.в contract_account 1133822.62500


Вложения:
Снимок-21.png
Снимок-21.png [ 16.76 КБ | Просмотров: 4658 ]
Снимок-20.png
Снимок-20.png [ 23.38 КБ | Просмотров: 4661 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как так насчиталось?
СообщениеДобавлено: 29 июн 2011, 14:08 
Не в сети

Зарегистрирован: 29 окт 2008, 15:17
Сообщения: 140
Карма: 0
Феанор писал(а):
Подскажите как биллинг так насчитал? Разница в 5 копеек с тем что должно быть при расчете руками
994000×29÷30×1,18=1133822,67

ps быстрая проверка приводит к подозрению что период снятия АП (29/30) как то неправильно округлился, в соответствии с тем что отображает биллинг это 0,96666663 хотя на самом деле 0,96666666... как так?

pps а сейчас заметил что в супердоговоре наработка этого договора - 63 копейки. WTF?

предвосхищая будущие вопросы:
1. Клиент: вер. 5.1 сборка 511 от 28.04.2011 19:00:59
os:Linux; java:Sun Microsystems Inc., v.1.6.0_22
Сервер: вер. 5.1 сборка 641 от 16.05.2011 21:23:46
os:SunOS; java:Sun Microsystems Inc., v.1.6.0_24

2.в contract_account 1133822.62500

Неплохо живете :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как так насчиталось?
СообщениеДобавлено: 29 июн 2011, 14:19 
Не в сети
Клиент

Зарегистрирован: 30 мар 2009, 17:51
Сообщения: 431
Карма: 23
niceone писал(а):
Неплохо живете :)

это тестовый биллинг с тестовыми тарифами =)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как так насчиталось?
СообщениеДобавлено: 29 июн 2011, 14:37 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
Феанор писал(а):
Подскажите как биллинг так насчитал? Разница в 5 копеек с тем что должно быть при расчете руками
994000×29÷30×1,18=1133822,67

Там на сколько я помню погрешность есть....но если чесно не совсем понял проблемы

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как так насчиталось?
СообщениеДобавлено: 29 июн 2011, 14:50 
Не в сети
Клиент

Зарегистрирован: 30 мар 2009, 17:51
Сообщения: 431
Карма: 23
skyb писал(а):
Феанор писал(а):
Подскажите как биллинг так насчитал? Разница в 5 копеек с тем что должно быть при расчете руками
994000×29÷30×1,18=1133822,67

Там на сколько я помню погрешность есть....но если чесно не совсем понял проблемы

Проблема в том что я не могу понять откуда эта погрешность взялась, вроде все вычисления в bigdecimal везде, не должно быть такой погрешности. И в том, что захочет абонент проверить свою наработку посчитав на калькуляторе, получит такое и устроит скандал. Биллинг на то ж и биллинг чтобы считать правильно. а тут на целых 5 копеек не правильно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как так насчиталось?
СообщениеДобавлено: 30 июн 2011, 14:34 
Не в сети
Клиент

Зарегистрирован: 30 мар 2009, 17:51
Сообщения: 431
Карма: 23
нет, я конечно понимаю, что если услуга за весь месяц вычисляется, то все хорошо, но расхождение пусть и в несколько копеек в неполные периоды - это крайне нехорошо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как так насчиталось?
СообщениеДобавлено: 04 июл 2011, 14:59 
Не в сети
Клиент

Зарегистрирован: 30 мар 2009, 17:51
Сообщения: 431
Карма: 23
up


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как так насчиталось?
СообщениеДобавлено: 06 июл 2011, 11:02 
Не в сети
Клиент

Зарегистрирован: 30 мар 2009, 17:51
Сообщения: 431
Карма: 23
up! как внедряться если биллинг свою основную задачу - считать правильно не делает правильно?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как так насчиталось?
СообщениеДобавлено: 06 июл 2011, 14:29 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
покажите результат запроса
Код:
show create table contract_account


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как так насчиталось?
СообщениеДобавлено: 06 июл 2011, 14:32 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
И еще мы выложили обновление по этому поводу, но оно вам, возможно, не поможет, если таблица contract_account неверная - есть подозрение на это.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как так насчиталось?
СообщениеДобавлено: 06 июл 2011, 14:34 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
И еще включите режим debug в log4j и тогда в логах при начислении будет что-то типа вот этого
Цитата:
Add cost cache cid: 354037; sid: 79; cost: 227016.77419354838709677419354838706


Покажите какой там cost . Скорее всего правильный .


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как так насчиталось?
СообщениеДобавлено: 06 июл 2011, 15:44 
Не в сети
Клиент

Зарегистрирован: 30 мар 2009, 17:51
Сообщения: 431
Карма: 23
stark писал(а):
И еще включите режим debug в log4j и тогда в логах при начислении будет что-то типа вот этого
Цитата:
Add cost cache cid: 354037; sid: 79; cost: 227016.77419354838709677419354838706


Покажите какой там cost . Скорее всего правильный .


Спасибо за наводку куда копать, я что то про дебаг и не подумал, надо было посмотреть шедулер - как он считает, да.
Обновился вчера под конец рабочего дня. Сейчас сделал откат и проверил. И в новой и в старой версии счиалось правильно.
07-06/17:27:43 DEBUG [pool-1-thread-1] Calculator - Add cost cache cid: 9734; sid: 1; cost: 1133822.66666666666666666666666666657
07-06/17:27:43 DEBUG [pool-1-thread-1] Calculator - Add detail amount cache cid: 9734; sid: 1; mid: 5; eid: 0; cost: 1133822.6666666667
А вот похоже проблема была с табличкой все-таки.
Сейчас:
Код:
 contract_account | CREATE TABLE `contract_account` (
  `yy` smallint(5) unsigned NOT NULL DEFAULT '0',
  `mm` tinyint(3) unsigned NOT NULL DEFAULT '0',
  `cid` int(10) unsigned NOT NULL DEFAULT '0',
  `sid` int(10) unsigned NOT NULL DEFAULT '0',
  `summa` decimal(15,5) DEFAULT NULL,
  PRIMARY KEY (`yy`,`mm`,`cid`,`sid`),
  KEY `cid` (`cid`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 |


А было (откатился и проверил):
Код:
| contract_account | CREATE TABLE `contract_account` (
  `yy` smallint(5) unsigned NOT NULL DEFAULT '0',
  `mm` tinyint(3) unsigned NOT NULL DEFAULT '0',
  `cid` int(10) unsigned NOT NULL DEFAULT '0',
  `sid` int(10) unsigned NOT NULL DEFAULT '0',
  `summa` float(15,5) DEFAULT NULL,
  PRIMARY KEY (`yy`,`mm`,`cid`,`sid`),
  KEY `cid` (`cid`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 |


Поле сумма было флоат, а после обновления - децимал. Ошибку убрало.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как так насчиталось?
СообщениеДобавлено: 06 июл 2011, 16:37 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
Феанор писал(а):
Поле сумма было флоат, а после обновления - децимал. Ошибку убрало.



Ясно . Это наша ошибка . Вы скорее всего скачали с сайта сервер , поставили и не обновляли сразу . У нас там в dump-е неправильная таблица была , а потом при первом обновлении вызывалось

ALTER TABLE contract_account MODIFY summa DECIMAL(15,5);

Исправили, теперь dump актуальный.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 13 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
POWERED_BY
Русская поддержка phpBB
[ Time : 0.060s | 44 Queries | GZIP : On ]