BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 16 июн 2024, 13:03

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




Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
 Заголовок сообщения: Как узнать новый статус договора?
СообщениеДобавлено: 10 июн 2010, 13:43 
Не в сети

Зарегистрирован: 17 ноя 2009, 08:47
Сообщения: 215
Откуда: krsn
Карма: 48
Если создать скрипт поведения и привязать его к событию "Изменение статуса договора", и в нем написать:
Код:
public void onEvent( event, setup, con, conSlave )
{
   cid = event.getContractID();
   contract = new ContractManager(con).getContractByID(cid);
   print("status changed to contract "+cid+" to state: "+contract.getStatus() );
...

то будет возвращен текущий статус договора, до изменения. А как узнать новый установленный статус?

_________________
Изображение
using billingClient.BGB 4.6;
using server.Ubuntu server 9.10;
using server.Java "1.6.0_15";
using client.Ubuntu 10.04;


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 10 июн 2010, 13:49 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
http://bgbilling.ru/v5.0/javadoc/bitel/ ... Event.html
Цитата:
getStatus()
Возвращает объект с устанавливаемым статусом, поля объекта можно изменять.

:facepalm:


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 25 июл 2010, 03:50 
Не в сети

Зарегистрирован: 25 июл 2010, 03:40
Сообщения: 3
Карма: 0
Не вижу текущего статуса контракта
Сервер Версия 5.1 сборка 452
Что интересно по событию "Приход платежа" второй способ срабатывает, а по событию "Изменение статуса договора" нет!

1)
PreparedStatement status = con.prepareStatement("SELECT status,date2 FROM contract_status WHERE cid=? and date2 is null limit 1");
status.setInt(1,cid);
ResultSet res = status.executeQuery();
while (res.next()){
ans=res.getInt(2);
print ("integer "+ans);
};

2) и так тоже
cstm = new ContractStatusManager( con );
StatusContractList = cstm.getStatusList(cid);
print ("cid"+ cid +" date "+curtime+" status size "+StatusContractList.size()+" stat"+StatusContractList.get(0).getStatus()+StatusContractList.get(1).getStatus());
if (StatusContractList.size() == 0) return;
StatusContract = StatusContractList.get(0);
StatusContractNum=StatusContract.getStatus();

3) так вижу но тот который до изменения
contract = new ContractManager(con).getContractByID(cid);
print("status:" + contract.getStatus());

Язык JAVA плохо знаю -можно прям кусочек кода?


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

Зарегистрирован: 25 июл 2010, 03:40
Сообщения: 3
Карма: 0
Оказывается причина была в том что скрипт вызывался по событию "Изменение статуса договора",
а надо "Статус договора изменен"!!!


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

Зарегистрирован: 29 окт 2008, 18:03
Сообщения: 212
Карма: 0
от перемены мест слагаемых сумма меняется? :facepalm:


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 27 июл 2010, 15:49 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
Ну если я правильно оцениваю правила русского языка, то
Изменение статуса договора - это до совершения события
а
Статус договора изменен - это событие после совершения

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


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

Зарегистрирован: 29 окт 2008, 18:03
Сообщения: 212
Карма: 0
skyb писал(а):
Ну если я правильно оцениваю правила русского языка, то
Изменение статуса договора - это до совершения события
а
Статус договора изменен - это событие после совершения

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 27 июл 2010, 16:38 
Не в сети
Аватара пользователя

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 27 июл 2010, 16:41 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
m2pod писал(а):
skyb писал(а):
Ну если я правильно оцениваю правила русского языка, то
Изменение статуса договора - это до совершения события
а
Статус договора изменен - это событие после совершения

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

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

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


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

Зарегистрирован: 29 окт 2008, 18:03
Сообщения: 212
Карма: 0
оказывается есть в доке
Код:
Изменение статуса договора   : Вызывается при смене статуса договора. Позволяет изменить устанавливаемый статус.
Статус договора изменен: Вызывается после изменения статуса договора.


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

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


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

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


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

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