BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 24 июн 2025, 01:47

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




Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: ContractTariffDeleteEvent
СообщениеДобавлено: 13 мар 2013, 15:28 
Не в сети
Клиент

Зарегистрирован: 15 ноя 2011, 17:56
Сообщения: 186
Карма: 0
Для чего нужен getContractTariffId(), который возвращает id удаленного тарифного плана договора?
Нельзя-ли сделать такой-же метод, как и в ContractTariffUpdateEvent - getContractTariff(), при помощи которого получаем ContractTariff, а уж из него можно получить всю необходимую информацию об удаленном из договора тарифном плане, нежели getContractTariffId() - int результат которого, нам ничего не дает.
Или я ошибаюсь? и этот(getContractTariffId()) метод мне поможет получить иформацию о тарифном плане, удаленного из договора?
И если это так, то подскажите пожалуйста, как?

_________________
Версия 6.2


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ContractTariffDeleteEvent
СообщениеДобавлено: 13 мар 2013, 22:48 
Не в сети
Клиент

Зарегистрирован: 09 фев 2011, 15:28
Сообщения: 1092
Карма: 135
ContractTariffDeleteEvent - тариф то только из договора удаляется, а как сущность в биллинге остается и получить информацию по нему можно через ContractTariffManager.getContractTariffByID

Кстати, а в 5.2 в событии ContractTariffChangedEvent вообще нет каких-либо нативных методов.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ContractTariffDeleteEvent
СообщениеДобавлено: 13 мар 2013, 23:37 
Не в сети
Клиент

Зарегистрирован: 15 ноя 2011, 17:56
Сообщения: 186
Карма: 0
barguzin2 писал(а):
ContractTariffDeleteEvent - тариф то только из договора удаляется, а как сущность в биллинге остается и получить информацию по нему можно через ContractTariffManager.getContractTariffByID


Я пробовал, не получается, выдает null.
Информацию, ContractTariffManager.getContractTariffByID получает из таблицы contract_tariff, но её уже там нет.
Сначала удаляется строка по id из таблицы contract_tariff, а за тем генерирует событие ContractTariffDeleteEvent. getContractTariffId(), которое дает порядковый номер записи в таблице contract_tariff, которой уже там нет.

barguzin2 писал(а):
Кстати, а в 5.2 в событии ContractTariffChangedEvent вообще нет каких-либо нативных методов.

Не ContractTariffChangedEvent, а ContractTariffUpdateEvent.

_________________
Версия 6.2


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ContractTariffDeleteEvent
СообщениеДобавлено: 14 мар 2013, 10:23 
Не в сети
Клиент

Зарегистрирован: 09 фев 2011, 15:28
Сообщения: 1092
Карма: 135
Судя по имени класса события полагаю что у вас 5.1, так как именно там ContractTariffUpdateEvent, у которого есть метод getContractTariff. Я же внес еще попутно замечание для 5.2, где событие называется ContractTariffChangedEvent и у него нет методов.

Да, всё правильно, ContractTariffManager работает с contract_tariff, это TariffPlanManager работает с таблицей tariff_plan. Получается что раз тариф удалили - то и всё, нет по нему инфы :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ContractTariffDeleteEvent
СообщениеДобавлено: 14 мар 2013, 10:54 
Не в сети
Клиент

Зарегистрирован: 15 ноя 2011, 17:56
Сообщения: 186
Карма: 0
Уважаемые разработчики, Вы могли бы добавить в событие ContractTariffDeleteEvent метод, который возвращает информацию об удаленном тарифном плане из договора?(BGB v5.2)

_________________
Версия 6.2


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ContractTariffDeleteEvent
СообщениеДобавлено: 14 мар 2013, 15:29 
Не в сети
Аватара пользователя

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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ContractTariffDeleteEvent
СообщениеДобавлено: 14 мар 2013, 15:46 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Код:
import bitel.billing.server.util.*;
import bitel.billing.server.tariff.bean.*;
import ru.bitel.common.*;
import bitel.billing.server.contract.bean.*;

public void onEvent( event, setup, con, conSlave )
{
   ContractTariffManager ctm = new ContractTariffManager( con ); //тариф менеджер
   
   delTar = event.getContractTariffId(); //получаем ID удаленного тарифа из таблицы contract_tariff
   newTar = ctm.getContractTariffById(delTar); // пытаемся получить тарифный план из таблицы tariff_plan
   print( "TariffId = " + newTar.getTariffPlanId()  ); //получаем фигу с маслом.
}


Код:
EXCEPTIONS:
null : at Line: 12 : in file: Function [id:54; title:Удаление тарифа] : newTar .getTariffPlanId ( )


Собственно у топикстартера проблема в том, что он хотел бы понять какой же тариф удалили.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ContractTariffDeleteEvent
СообщениеДобавлено: 14 мар 2013, 16:45 
Не в сети
Клиент

Зарегистрирован: 09 фев 2011, 15:28
Сообщения: 1092
Карма: 135
Цитата:
Код:
newTar = ctm.getContractTariffById(delTar); // пытаемся получить тарифный план из таблицы tariff_plan



как уже было отмечено ConractTariffManager берет данные из contract_tariff, а их там нет, т.к. из договора тариф уже удален. Единственное что можно сделать в этом случае - дернуть инфу про удаленный тариф из таблицы tariff_plan, а для этого уже другой класс нужен - TariffPlanManager


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ContractTariffDeleteEvent
СообщениеДобавлено: 14 мар 2013, 17:51 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
а ну да. ошибся и написал tariff_plan вместо contract_tariff

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ContractTariffDeleteEvent
СообщениеДобавлено: 14 мар 2013, 18:25 
Не в сети
Клиент

Зарегистрирован: 15 ноя 2011, 17:56
Сообщения: 186
Карма: 0
Phricker писал(а):
Код:
import bitel.billing.server.util.*;
import bitel.billing.server.tariff.bean.*;
import ru.bitel.common.*;
import bitel.billing.server.contract.bean.*;

public void onEvent( event, setup, con, conSlave )
{
   ContractTariffManager ctm = new ContractTariffManager( con ); //тариф менеджер
   
   delTar = event.getContractTariffId(); //получаем ID удаленного тарифа из таблицы contract_tariff
   newTar = ctm.getContractTariffById(delTar); // пытаемся получить тарифный план из таблицы tariff_plan
   print( "TariffId = " + newTar.getTariffPlanId()  ); //получаем фигу с маслом.
}


Код:
EXCEPTIONS:
null : at Line: 12 : in file: Function [id:54; title:Удаление тарифа] : newTar .getTariffPlanId ( )


Собственно у топикстартера проблема в том, что он хотел бы понять какой же тариф удалили.

Точно!

_________________
Версия 6.2


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ContractTariffDeleteEvent
СообщениеДобавлено: 16 мар 2013, 00:20 
Не в сети
Клиент

Зарегистрирован: 15 ноя 2011, 17:56
Сообщения: 186
Карма: 0
dimOn писал(а):
ну там там есть же getContractTariffId. а что ещё нужно? остальной информации нету в принципе, т.к. событие уже постфактум бросается

getContractTariffId, как писал выше, дает только порядковый номер строки в таблице contract_tariff, но на этот момент этой строки там уже нет.

Совсем не понимаю, зачем нужен этот id.
Вот если бы можно было получить tpid тарифного плана, который, в свою очередь, можно было бы получить перед удалением из класса ContractTariff, то было бы гораздо полезней.

Здесь же я в тупике и как, точно, подметил "Phricker", хотелось бы понять, какой же тариф удалили.

_________________
Версия 6.2


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ContractTariffDeleteEvent
СообщениеДобавлено: 18 мар 2013, 14:40 
Не в сети
Аватара пользователя

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

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


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

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


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

Сейчас этот форум просматривают: Google [Bot] и гости: 1


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

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