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

автоматический переобсчет баланса (contract_balance)
http://forum.bitel.ru/viewtopic.php?f=22&t=3253
Страница 1 из 1

Автор:  Владимир [ 27 ноя 2009, 14:47 ]
Заголовок сообщения:  автоматический переобсчет баланса (contract_balance)

причина:
в таблице contract_balance появилась наработка за 2000 год, хотя загрузку логов за этот год не делали. :(

что сделал:
всю наработку из contract_balance за 2000 год удалил, общая сумма осталась прежней, тоесть остаток на начало месяца не изменился. :)

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

Автор:  Jimson [ 29 ноя 2009, 20:28 ]
Заголовок сообщения:  Re: автоматический переобсчет баланса (contract_balance)

нельзя, он переобсчитается сам для конкретного договора в конкретном месяце если добавить в этом месяце платеж, например
я недавно удалял из базы наработки и данные до 2009 года, так как у нас реально биллинг в продакшене только с 2009 года, решил удалить все старье что бы наработки в биллинге совпадали с обороткой в 1с
пришлось руками править остаток на начало месяца по всей базе за все месяцы:

update contract_balance set summa1 = 0 where yy = 2009 and mm = 1;
начальный остаток по всем договорам выставляем в ноль, так как наработки за 2008 я поудалял

update contract_balance as CUR, contract_balance as PREV, contract set CUR.summa1 = PREV.summa1+PREV.summa2-PREV.summa3 where CUR.cid = PREV.cid and CUR.cid = contract.id and contract.scid = 0 and CUR.mm = PREV.mm + 1 and CUR.yy = 2009 and PREV.yy = 2009 and CUR.mm = 2;
вычисляем остаток на начало февраля, summa4 я опустил так как списания у меня не используются
затем такой же запрос для CUR.mm = 3 и тд и тп

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