forum.bitel.ru http://forum.bitel.ru/ |
|
ContractTariffDeleteEvent http://forum.bitel.ru/viewtopic.php?f=22&t=7832 |
Страница 1 из 1 |
Автор: | nikav80 [ 13 мар 2013, 15:28 ] |
Заголовок сообщения: | ContractTariffDeleteEvent |
Для чего нужен getContractTariffId(), который возвращает id удаленного тарифного плана договора? Нельзя-ли сделать такой-же метод, как и в ContractTariffUpdateEvent - getContractTariff(), при помощи которого получаем ContractTariff, а уж из него можно получить всю необходимую информацию об удаленном из договора тарифном плане, нежели getContractTariffId() - int результат которого, нам ничего не дает. Или я ошибаюсь? и этот(getContractTariffId()) метод мне поможет получить иформацию о тарифном плане, удаленного из договора? И если это так, то подскажите пожалуйста, как? |
Автор: | barguzin2 [ 13 мар 2013, 22:48 ] |
Заголовок сообщения: | Re: ContractTariffDeleteEvent |
ContractTariffDeleteEvent - тариф то только из договора удаляется, а как сущность в биллинге остается и получить информацию по нему можно через ContractTariffManager.getContractTariffByID Кстати, а в 5.2 в событии ContractTariffChangedEvent вообще нет каких-либо нативных методов. |
Автор: | nikav80 [ 13 мар 2013, 23:37 ] |
Заголовок сообщения: | Re: ContractTariffDeleteEvent |
barguzin2 писал(а): ContractTariffDeleteEvent - тариф то только из договора удаляется, а как сущность в биллинге остается и получить информацию по нему можно через ContractTariffManager.getContractTariffByID Я пробовал, не получается, выдает null. Информацию, ContractTariffManager.getContractTariffByID получает из таблицы contract_tariff, но её уже там нет. Сначала удаляется строка по id из таблицы contract_tariff, а за тем генерирует событие ContractTariffDeleteEvent. getContractTariffId(), которое дает порядковый номер записи в таблице contract_tariff, которой уже там нет. barguzin2 писал(а): Кстати, а в 5.2 в событии ContractTariffChangedEvent вообще нет каких-либо нативных методов. Не ContractTariffChangedEvent, а ContractTariffUpdateEvent. |
Автор: | barguzin2 [ 14 мар 2013, 10:23 ] |
Заголовок сообщения: | Re: ContractTariffDeleteEvent |
Судя по имени класса события полагаю что у вас 5.1, так как именно там ContractTariffUpdateEvent, у которого есть метод getContractTariff. Я же внес еще попутно замечание для 5.2, где событие называется ContractTariffChangedEvent и у него нет методов. Да, всё правильно, ContractTariffManager работает с contract_tariff, это TariffPlanManager работает с таблицей tariff_plan. Получается что раз тариф удалили - то и всё, нет по нему инфы ![]() |
Автор: | nikav80 [ 14 мар 2013, 10:54 ] |
Заголовок сообщения: | Re: ContractTariffDeleteEvent |
Уважаемые разработчики, Вы могли бы добавить в событие ContractTariffDeleteEvent метод, который возвращает информацию об удаленном тарифном плане из договора?(BGB v5.2) |
Автор: | dimOn [ 14 мар 2013, 15:29 ] |
Заголовок сообщения: | Re: ContractTariffDeleteEvent |
ну там там есть же getContractTariffId. а что ещё нужно? остальной информации нету в принципе, т.к. событие уже постфактум бросается |
Автор: | Phricker [ 14 мар 2013, 15:46 ] |
Заголовок сообщения: | Re: ContractTariffDeleteEvent |
Код: 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 ( ) Собственно у топикстартера проблема в том, что он хотел бы понять какой же тариф удалили. |
Автор: | barguzin2 [ 14 мар 2013, 16:45 ] |
Заголовок сообщения: | Re: ContractTariffDeleteEvent |
Цитата: Код: newTar = ctm.getContractTariffById(delTar); // пытаемся получить тарифный план из таблицы tariff_plan как уже было отмечено ConractTariffManager берет данные из contract_tariff, а их там нет, т.к. из договора тариф уже удален. Единственное что можно сделать в этом случае - дернуть инфу про удаленный тариф из таблицы tariff_plan, а для этого уже другой класс нужен - TariffPlanManager |
Автор: | Phricker [ 14 мар 2013, 17:51 ] |
Заголовок сообщения: | Re: ContractTariffDeleteEvent |
а ну да. ошибся и написал tariff_plan вместо contract_tariff |
Автор: | nikav80 [ 14 мар 2013, 18:25 ] |
Заголовок сообщения: | Re: ContractTariffDeleteEvent |
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 ( ) Собственно у топикстартера проблема в том, что он хотел бы понять какой же тариф удалили. Точно! |
Автор: | nikav80 [ 16 мар 2013, 00:20 ] |
Заголовок сообщения: | Re: ContractTariffDeleteEvent |
dimOn писал(а): ну там там есть же getContractTariffId. а что ещё нужно? остальной информации нету в принципе, т.к. событие уже постфактум бросается getContractTariffId, как писал выше, дает только порядковый номер строки в таблице contract_tariff, но на этот момент этой строки там уже нет. Совсем не понимаю, зачем нужен этот id. Вот если бы можно было получить tpid тарифного плана, который, в свою очередь, можно было бы получить перед удалением из класса ContractTariff, то было бы гораздо полезней. Здесь же я в тупике и как, точно, подметил "Phricker", хотелось бы понять, какой же тариф удалили. |
Автор: | dimOn [ 18 мар 2013, 14:40 ] |
Заголовок сообщения: | Re: ContractTariffDeleteEvent |
этот id нужен чтобы удалить какие-то свои разные сущности если они есть. да, можно было бы туда передавать ContractTariff вместо только id от него. |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |