BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 28 мар 2024, 15:33

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




Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
СообщениеДобавлено: 02 июн 2017, 15:18 
Не в сети

Зарегистрирован: 20 апр 2011, 09:56
Сообщения: 346
Карма: 19
Есть задача насчитать абонплату принудительно вне зависимости он статуса договора.
В ru.bitel.bgbilling.modules.npay.server.Calculator есть параметра activeFromDate который правильно считает но работает только при preCalcMode.
Есть ли возможно это сделать как то другим способом?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 02 июн 2017, 17:16 
Не в сети

Зарегистрирован: 29 янв 2014, 11:32
Сообщения: 365
Карма: 10
Может вам штатных будет достаточно, если я вас правильно понял
Код:
# id статусов, накоторых не начислять абонплату
contract.status.suspend.codes=2,3,4,5
# id услуг модуля NPAY на которых начислять абонплату вне зависимости от статуса.
service.no.suspend.3=70,74

Мы это используем для начисления абонплат на аренду оборудования например.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 05 июн 2017, 08:21 
Не в сети

Зарегистрирован: 20 апр 2011, 09:56
Сообщения: 346
Карма: 19
Таким способом я не смогу контролировать начало активного периода.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 05 июн 2017, 09:11 
Не в сети

Зарегистрирован: 20 апр 2011, 09:56
Сообщения: 346
Карма: 19
Есть вариант выставлять статус на договоре затем после перерасчета возвращать его. В таком случае будет много мусора в логах.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 05 июн 2017, 15:35 
Не в сети

Зарегистрирован: 20 апр 2011, 09:56
Сообщения: 346
Карма: 19
Разработчики, проясните пожалуйста ситуацию. Если нужна доработка где ее оформить? HelpDesk нет в нашем лк(B6243-15).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 05 июн 2017, 19:47 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
задача непонятна
Цитата:
Есть задача насчитать абонплату принудительно вне зависимости он статуса договора.

просто отмечаете все статусы как активные и всё, и не ставите contract.status.suspend.codes ничего из реальных статусов
будет считать во всех статусах.
это же явным образом и настраивается.
или вопрос в другом?

з.ы. хелпдеск на договоре техподдержки, типа такого: BS***-09

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 05 июн 2017, 23:38 
Не в сети

Зарегистрирован: 20 апр 2011, 09:56
Сообщения: 346
Карма: 19
dimOn писал(а):
задача непонятна
Цитата:
Есть задача насчитать абонплату принудительно вне зависимости он статуса договора.

просто отмечаете все статусы как активные и всё, и не ставите contract.status.suspend.codes ничего из реальных статусов
будет считать во всех статусах.
это же явным образом и настраивается.
или вопрос в другом?

з.ы. хелпдеск на договоре техподдержки, типа такого: BS***-09


Есть договор, у него статус Закрыт(01.06.17-...) абонентка не начисляется. Мне нужно начислить абонентку как будто договор активен с 06.06.17( curdate)-... но закрыт с 01.06.17-05.06.17.
Т.е. насчитать наработку в задаваемом периоде калькулируемого месяца как реализовано в ru.bitel.bgbilling.modules.npay.server.Calculator если указать activeFromDate и включить preCalcMode. Суть - реализовать постоплатную помесячную логику начисления с уменьшением долга на каждый новый день если статус изначально "Закрыт".
dimOn, пожалуйста скажите есть ли на текущий момент прозрачный вариант реализации такой логики, если нет мы закажем доработку. Я понимаю что можно нагородить сменой статуса при калькуляции, тарифами, опциями, переписать калькуляцию и тп, хотелось бы просто начислять по такой логике как это реализовано в сценарии preCalcMode с activeFromDate, не накручивая лишних логических цепочек и не греть голову при последующем обновлении.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 06 июн 2017, 00:42 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
то есть вы хотите чтобы статус не менялся и ничего не менялось вообще в договоре, но на самом деле за некоторые дни считало, а за некоторые нет? ну нет, такого нельзя, конечно.
даже если вы напишете супер-скрипт, который это делает, то в любом случае как вы потом собираетесь это всё задним числом пересчитывать? если никакой информации о том куда в какой день что считать - у вас в принципе нету, кроме мысленной концепции "activeFromDate=сегодня".

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

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 06 июн 2017, 06:01 
Не в сети

Зарегистрирован: 20 апр 2011, 09:56
Сообщения: 346
Карма: 19
dimOn писал(а):
даже если вы напишете супер-скрипт, который это делает, то в любом случае как вы потом собираетесь это всё задним числом пересчитывать? если никакой информации о том куда в какой день что считать - у вас в принципе нету, кроме мысленной концепции "activeFromDate=сегодня".

В прошлом периоде и будет считать по статусам как они есть, а в будущем с текущего дня по логике activeFromDate.

Повторюсь, необходимо насчитывать абоплату пропорционально периоду по предоплате. Те нужно чтобы долг за текущий месяц у него уменьшался с каждым днем если статус не активен. Например у него с начала месяца (01 число) статус "Не активен"(абонентка не должна насчитываться) но мы ему начисляем ее за текущий месяц с условием activeFromDate=01число, чтобы она насчиталась с 01 числа по конец месяца. Затем второго числа повторяем операцию но уже activeFromDate=02число, тем самым 1 числа статус учитывается как закрытый, а с 02 и до конца месяца условно активный, сумма наработки становится меньше без учета 01 числа и тд. Абонент в середине месяца решил оплатить, у него минус за пол месяца, он оплачивает, у него активируется статус и все гуд, и в логику статусов все укладывается. Далее на него уже не применяется эта логика начисления до тех пор пока он снова станет "Не активен".

То что я описал выше правильно калькулируется в ru.bitel.bgbilling.modules.npay.server.Calculator но там в задачу начисления это не улетает.

В общем с перерасчетом задним числом проблем нет.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 06 июн 2017, 11:56 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
идея понятна, только непонятно всё же зачем именно в таком виде всё пересчитывать.
то что вы описываете штатно решается просто установкой суммой для разблокировки, просто немного в другом виде. но по сути так и есть - указание сколько остался клиент должен.

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

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 06 июн 2017, 12:03 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Я уточнил у ТСа в телеграме, почему его не устраивает функционал Запрос доп. расхода для открытия договора".
Пока молчит.
По идее, его он должен устроить, т.к. он просто хочет чтобы договор открывался когда у абонента будет хватать денег для наработки до конца месяца.
Тут либо запрос расхода, либо тарифы авансом за месяц.

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 06 июн 2017, 13:17 
Не в сети

Зарегистрирован: 20 апр 2011, 09:56
Сообщения: 346
Карма: 19
Да я видел, но еще не вникал. Спасибо.


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

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


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

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


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

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