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

Массовый пересчет абонплаты у приостановленных договоров
http://forum.bitel.ru/viewtopic.php?f=16&t=3975
Страница 1 из 1

Автор:  experio [ 04 май 2010, 07:05 ]
Заголовок сообщения:  Массовый пересчет абонплаты у приостановленных договоров

Имеется большое количество приостановленных договоров. Каким образом возможно произвести пересчет за определенный месяц у всех договоров сразу?

Автор:  snark [ 04 май 2010, 15:50 ]
Заголовок сообщения:  Re: Массовый пересчет абонплаты у приостановленных договоров

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

Автор:  experio [ 05 май 2010, 05:27 ]
Заголовок сообщения:  Re: Массовый пересчет абонплаты у приостановленных договоров

Если выделять их в группу и потом выполнять перерасчет, то кол-во договоров, которые можно пересчитать ограничивается кол-вом отображения договоров в поиске. Может есть возможность вывести результаты поиском полным списком? Просто у меня отображается постранично,макс. кол-во результатов на странице 21.

Автор:  skn [ 05 май 2010, 18:42 ]
Заголовок сообщения:  Re: Массовый пересчет абонплаты у приостановленных договоров

а почему переобсчет только части договоров? почему не всех?

Автор:  experio [ 06 май 2010, 12:24 ]
Заголовок сообщения:  Re: Массовый пересчет абонплаты у приостановленных договоров

Необходимо пересчитать только некоторые договора, которые вошли в группу неактивных договоров(например), по каким-либо причинам. Нет смысла проводить операцию пересчета на всех договорах из-за 100-200 договоров.

Автор:  skn [ 06 май 2010, 19:00 ]
Заголовок сообщения:  Re: Массовый пересчет абонплаты у приостановленных договоров

переначисление абонплат не очень сложная задача, можно иногда и всех пересчитать
а в вашем случае получается не одна, а две задачи
1) выбрать группу договоров по определенным критериям
2) выполнить для них пересчет

первая задача довольно не тривиальная :-(

Автор:  snark [ 06 май 2010, 20:02 ]
Заголовок сообщения:  Re: Массовый пересчет абонплаты у приостановленных договоров

то что в npay нет возможности выбрать группу для перерасчета a-la dialup - это не есть гуд, IMHO ... удобнее было бы если б все модули имели некий общий для всех интерфейс перерасчета +- особенности модуля, конечно же (в dialup - переобработка netflow, например) ...

Автор:  skn [ 06 май 2010, 20:49 ]
Заголовок сообщения:  Re: Массовый пересчет абонплаты у приостановленных договоров

группу добавить можно, но товарищ же хотел:

Цитата:
Необходимо пересчитать только некоторые договора, которые вошли в группу неактивных договоров


так что в данном случае не прокатит...

Автор:  libcurl [ 04 авг 2014, 16:46 ]
Заголовок сообщения:  Re: Массовый пересчет абонплаты у приостановленных договоров

Здравствуйте!

Столкнулся с подобной проблемой: необходимо выполнить пересчет для ВСЕХ договоров, за весь период. Это возможно?

Осуществляем перенос базы абонентов с другой биллинговой системы. Абонентов занесли, периоды действия, тарифы, статусы. Теперь хотелось бы обсчитать их и назначить начисления автоматически.

Автор:  Phricker [ 04 авг 2014, 17:56 ]
Заголовок сообщения:  Re: Массовый пересчет абонплаты у приостановленных договоров

В модуле абонплат кнопка "Запуск"

Автор:  libcurl [ 04 авг 2014, 17:56 ]
Заголовок сообщения:  Re: Массовый пересчет абонплаты у приостановленных договоров

Разобрался сам. Публикую решение (для версии биллинга 6.1).

Заходим в "Сервис" -> "Автоматизация" -> "Управление динамическим кодом".

Создаем новый класс npay_recalc. Код класса: https://gist.github.com/ansmirnov/37060644128fb88bad5c

Нажимаем "Сохранить и скомпилировать", затем "Run".

Код несколько отличается от кода, размещенного в Wiki.

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

Автор:  Phricker [ 04 авг 2014, 17:57 ]
Заголовок сообщения:  Re: Массовый пересчет абонплаты у приостановленных договоров

Видел велосипеды. Но такие :D
Создавайте что-ли отдельные темы, а не апайте темы от 2010 года. Я что-то без внимания на дату начал искать где у меня скрипт который выбирает договора по определенным критериям а потом засовывает их на переобсчет.

Автор:  libcurl [ 04 авг 2014, 20:06 ]
Заголовок сообщения:  Re: Массовый пересчет абонплаты у приостановленных договоров

Phricker писал(а):
В модуле абонплат кнопка "Запуск"


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

Phricker писал(а):
Видел велосипеды. Но такие :D


Пример взят отсюда:

http://wiki.bitel.ru/index.php/%D0%97%D ... D0%B5_NPay

Если скажете как сделать проще и быстрее -- буду очень благодарен :)

Автор:  stark [ 04 авг 2014, 20:15 ]
Заголовок сообщения:  Re: Массовый пересчет абонплаты у приостановленных договоров

libcurl писал(а):
Phricker писал(а):
В модуле абонплат кнопка "Запуск"


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


Если не выбрать ни одного договора, то переобсчитает все. Так же как и вашем коде в cids будет пустая строка.

Автор:  libcurl [ 04 авг 2014, 20:19 ]
Заголовок сообщения:  Re: Массовый пересчет абонплаты у приостановленных договоров

stark писал(а):
libcurl писал(а):
Phricker писал(а):
В модуле абонплат кнопка "Запуск"


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


Если не выбрать ни одного договора, то переобсчитает все. Так же как и вашем коде в cids будет пустая строка.


Спасибо, я почему-то не догадался, хотя это очевидно. Это упрощает значительно. Но есть возможность сразу обсчитать весь период действия договора? А еще лучше, заданный интервал?

Автор:  stark [ 04 авг 2014, 20:33 ]
Заголовок сообщения:  Re: Массовый пересчет абонплаты у приостановленных договоров

libcurl писал(а):
Но есть возможность сразу обсчитать весь период действия договора? А еще лучше, заданный интервал?

нет.

Автор:  Phricker [ 04 авг 2014, 20:55 ]
Заголовок сообщения:  Re: Массовый пересчет абонплаты у приостановленных договоров

libcurl писал(а):
Phricker писал(а):
Видел велосипеды. Но такие :D


Пример взят отсюда:

http://wiki.bitel.ru/index.php/%D0%97%D ... D0%B5_NPay

Если скажете как сделать проще и быстрее -- буду очень благодарен :)


Ну этот пример действительно как пример.
Для тех случаев когда необходимо выбрать договора отвечающие определенным критериям и по ним запустить начисление.
В общем случае проще пользоваться вкладкой "Начисление" модуля NPAY

Автор:  skyb [ 05 авг 2014, 05:52 ]
Заголовок сообщения:  Re: Массовый пересчет абонплаты у приостановленных договоров

skn писал(а):
группу добавить можно,

а я вот эту тему бампну, так чтож остановились? =), периодически нужная фишка

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