forum.bitel.ru http://forum.bitel.ru/ |
|
Смена статуса через клиент и через скрипт http://forum.bitel.ru/viewtopic.php?f=22&t=13548 |
Страница 1 из 1 |
Автор: | gup [ 04 мар 2020, 09:19 ] |
Заголовок сообщения: | Смена статуса через клиент и через скрипт |
Если поменять статус через клиент по нажатию кнопки "Выполнить" (например, в подключении => активен с текущего дня), то в клиенте сразу видно, что начисляется наработка за этот месяц с текущего дня. Если меняю статус через скрипт, то статус меняется, но наработки никакой не появляется, все по нулям. Код: 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 |
Автор: | dimOn [ 04 мар 2020, 13:39 ] |
Заголовок сообщения: | Re: Смена статуса через клиент и через скрипт |
Нет такого механизма в общем случае - переначисление наработки при ручной смене статуса, речь в вашем случае про очень частный настраиваемый костыль одного модуля npay. Но в вашем случае теоретически так же должно работать, т.к. события на которые завязан этот костыль бросаются внутри changeStatus при установленном processEvent=true мысли чего не хватает: 1. contractStatusManager.recycle(); 2. и/или connection.commit() 3. и/или обновить в клиенте может оно работает просто вы не видите что всё же изменилось на самом деле |
Автор: | gup [ 04 мар 2020, 14:09 ] |
Заголовок сообщения: | Re: Смена статуса через клиент и через скрипт |
1/2 - не помогло 3 - естественно проверял |
Автор: | dimOn [ 04 мар 2020, 15:38 ] |
Заголовок сообщения: | Re: Смена статуса через клиент и через скрипт |
статус который вы в клиенте ставите и 0 - это один и тот же? и он настроен в дебетовых абонплатах как активный? договор тоже тот же самый? или хотя бы cid = 109148 имеет модуль npay и договор дебетовый? |
Автор: | dimOn [ 05 мар 2020, 19:00 ] |
Заголовок сообщения: | Re: Смена статуса через клиент и через скрипт |
картинка подробная спасибо! у вас точно никаких скриптов или переписанных методов на смене статуса нет? |
Автор: | dimOn [ 05 мар 2020, 19:07 ] |
Заголовок сообщения: | Re: Смена статуса через клиент и через скрипт |
Потому что нет такого штатного механизма "перерасчёт при смене статуса", о чём было сказано в первом сообщении. Другой вопрос что надо найти чем ваши случаи отличаются и на чём висит тогда что-то что у вас это делает и почему не вызывается при смене из скрипта. У вас там пугающее кол-во скриптов на договоре, проинспектируйте что и в каком случае они делают. |
Автор: | gup [ 06 мар 2020, 08:53 ] |
Заголовок сообщения: | Re: Смена статуса через клиент и через скрипт |
Да, у нас есть скрипт при смене статуса, в нем идет http запрос в другую систему с текущим ip из модуля inet. В той системе "рулятся" порты на свитчах, а именно скорости портов. Т.е. если статус активен, то full speed, иначе 512 kb/s. Этот скрипт отрабатывает в обоих случаях. Для эксперимента закрыл период всех скриптов поведения вчерашним днем и ... ничего не изменилось, кроме как теперь не меняет скорость порта. Заколдованный круг... |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |