BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 21 окт 2021, 12:06

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




Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
СообщениеДобавлено: 04 мар 2020, 09:19 
Не в сети

Зарегистрирован: 03 мар 2020, 12:58
Сообщения: 4
Карма: 0
Если поменять статус через клиент по нажатию кнопки "Выполнить" (например, в подключении => активен с текущего дня), то в клиенте сразу видно, что начисляется наработка за этот месяц с текущего дня.
Если меняю статус через скрипт, то статус меняется, но наработки никакой не появляется, все по нулям.

Код:
public class test extends GlobalScriptBase {
    @Override
    public void execute(Setup setup, ConnectionSet set) throws Exception {
        int cid = 109148;
        Connection connection = set.getConnection();

        ContractStatusManager contractStatusManager = new ContractStatusManager(connection);
        ContractStatus status = new ContractStatus();
        status.setContractId(cid);
        status.setDateFrom(new Date());
        status.setDateTo(null);
        status.setStatus(0);
        contractStatusManager.changeStatus(status, 0, true);
    }
}


Что происходит дополнительно по кнопке "Выполнить"? Можно как-то "добавить" наработку через скрипт?

BG 6.2


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 04 мар 2020, 13:39 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6051
Карма: 244
Нет такого механизма в общем случае - переначисление наработки при ручной смене статуса, речь в вашем случае про очень частный настраиваемый костыль одного модуля npay.
Но в вашем случае теоретически так же должно работать, т.к. события на которые завязан этот костыль бросаются внутри changeStatus при установленном processEvent=true
мысли чего не хватает:
1. contractStatusManager.recycle();
2. и/или connection.commit()
3. и/или обновить в клиенте может оно работает просто вы не видите что всё же изменилось на самом деле

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 04 мар 2020, 14:09 
Не в сети

Зарегистрирован: 03 мар 2020, 12:58
Сообщения: 4
Карма: 0
1/2 - не помогло
3 - естественно проверял


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 04 мар 2020, 15:38 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6051
Карма: 244
статус который вы в клиенте ставите и 0 - это один и тот же? и он настроен в дебетовых абонплатах как активный?
договор тоже тот же самый? или хотя бы cid = 109148 имеет модуль npay и договор дебетовый?

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


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

Зарегистрирован: 03 мар 2020, 12:58
Сообщения: 4
Карма: 0
Код:
contract.status.list=0:Активен;1:В отключении;2:Отключен;3:Закрыт;4:Приостановлен;5:В подключении;6:Отказ


конфиг npay
Код:
#--------------------------------------------------------------------------
# Группы услуг
service.set.1.title=Абонплаты конца месяца(все)
service.set.1.sids=8,11,12,13,18,22,23
service.set.2.title=Абонплата Интернет посуточно
service.set.2.sids=7
service.set.3.title=Абонплата Интернет помесячно
service.set.3.sids=13
service.set.4.title=Абонплата СКПТ-Междуреченск
service.set.4.sids=8
service.set.5.title=Абонплата СКПТ-Мыски
service.set.5.sids=11
service.set.6.title=Абонплата СКПТ Миксы (Междуреченск)
service.set.6.sids=12
service.set.7.title=Абонплата СКПТ Миксы (Мыски)
service.set.7.sids=18
service.set.8.title=Абонплата Телефония
service.set.8.sids=27
service.set.9.title=Абонплата IPTV
service.set.9.sids=29
#--------------------------------------------------------------------------
# статусы договора, в которых не начисляется абонентская плата service.no.suspend.<status_list>=<service_codes>
contract.status.suspend.codes=1,2,3,4,5,6
#
# автоматическое переначисление абонентских плат договора при изменении их периода, количества и т.п.
# 0 - выключить переначисление, 1 - включить переначисление, 2 - включить переначисление, но выполнять только для текущего месяца
recalculate.on.service.change=0
# E-Mail для отправки уведомлений об автоматическом переначислении при изменении абонплаты, если не указан - уведомление не высылается
#auto.recalculate.email=
# набор услуг для переобсчета при автоматическом переначислении при изменении абонплаты, если не указан - все услуги
#auto.recalculate.email.service.set=
# количество выводимых ошибок в периодических процессах
max.periodic.errors=30
# подмена абонплаты другой услугой на период определённого статуса
#wrap.service=
#
#--------------------------------------------------------------------------
# выборочное отключение проверки закрытого периода
# перенести абонплату на другой договор
#closed.date.disabled.ActionMovePay=1
# начисление абонплат
#closed.date.disabled.ActionRecalculatePay=1
# удаление абонплаты
#closed.date.disabled.ActionServiceObjectDelete=1
# изменение абонплаты
#closed.date.disabled.ActionServiceObjectUpdate=1
# перенести абонплату на другой договор с даты
#closed.date.disabled.ActionWrapPay=1
#--------------------------------------------------------------------------
# абонплаты, на которые не влияет приостановка договора
service.no.suspend.3=12,18,22,8,11
#--------------------------------------------------------------------------
debet.npay.status.manage=1
#код активного статуса договора
debet.npay.active.status=0
#код заблокированного статуса договора
debet.npay.locked.status=3
#коды групп, для которых применяется режим через запятую
debet.npay.status.manage.groups=1,14,15
#коды тарифных планов через запятую
#при указании параметра блокировка осуществляется только если на дату блокировки в договоре стоит один из указанных тарифов
#debet.npay.status.manage.tariff.ids=
#учитываемый в дебетовых абонплатах набор услуг (если не указан, считается, что после разблокировки будут начислены все услуги из полного набора)
#debet.npay.service.set=2
#--------------------------------------------------------------------------
#contract.status.active.codes=0
#contract.status.suspend.codes=3
module.amount.1.title=Voiceip трафик
module.amount.1.mid=18
module.amount.1.class=bitel.billing.server.npay.bean.VoipModuleAmount
module.amount.1.sids=27


Вложения:
npay.jpg
npay.jpg [ 496.04 КБ | Просмотров: 880 ]
Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 05 мар 2020, 19:00 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6051
Карма: 244
картинка подробная спасибо!
у вас точно никаких скриптов или переписанных методов на смене статуса нет?

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


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

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6051
Карма: 244
Потому что нет такого штатного механизма "перерасчёт при смене статуса", о чём было сказано в первом сообщении. Другой вопрос что надо найти чем ваши случаи отличаются и на чём висит тогда что-то что у вас это делает и почему не вызывается при смене из скрипта. У вас там пугающее кол-во скриптов на договоре, проинспектируйте что и в каком случае они делают.

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 06 мар 2020, 08:53 
Не в сети

Зарегистрирован: 03 мар 2020, 12:58
Сообщения: 4
Карма: 0
Да, у нас есть скрипт при смене статуса, в нем идет http запрос в другую систему с текущим ip из модуля inet. В той системе "рулятся" порты на свитчах, а именно скорости портов. Т.е. если статус активен, то full speed, иначе 512 kb/s. Этот скрипт отрабатывает в обоих случаях. Для эксперимента закрыл период всех скриптов поведения вчерашним днем и ... ничего не изменилось, кроме как теперь не меняет скорость порта. Заколдованный круг...


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

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


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

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


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

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