forum.bitel.ru http://forum.bitel.ru/ |
|
Каким образом можно отловить событие генерации отчета http://forum.bitel.ru/viewtopic.php?f=12&t=9614 |
Страница 1 из 1 |
Автор: | 2ray [ 26 авг 2014, 16:10 ] |
Заголовок сообщения: | Каким образом можно отловить событие генерации отчета |
Для внутренних необходимо отловить событие генерации конкретного отчета. И отправить его в другую систему. Нужный нам отчет написан на jrxml, генерит он pdf файл. Вот этот pdf и надо отправить в другую систему. |
Автор: | Phricker [ 26 авг 2014, 16:14 ] |
Заголовок сообщения: | Re: Каким образом можно отловить событие генерации отчета |
Повесить скрипт на событие "до/после экшна" ЕМНИМС экшн наз-ся Report. Плясать от этого |
Автор: | 2ray [ 26 авг 2014, 17:22 ] |
Заголовок сообщения: | Re: Каким образом можно отловить событие генерации отчета |
Phricker писал(а): Повесить скрипт на событие "до/после экшна" ЕМНИМС экшн наз-ся Report. Плясать от этого Вот эти классы: до ru.bitel.bgbilling.kernel.event.events.ActionBeforeEvent, после ru.bitel.bgbilling.kernel.event.events.ActionAfterEvent, для отчета bitel.billing.server.phone.bean.Report ? Где именно событие вешается? В конфигурациях кернеля? |
Автор: | Phricker [ 26 авг 2014, 17:34 ] |
Заголовок сообщения: | Re: Каким образом можно отловить событие генерации отчета |
http://wiki.bitel.ru/index.php/%D0%97%D ... 0%BD%D0%B0 |
Автор: | 2ray [ 27 авг 2014, 10:11 ] |
Заголовок сообщения: | Re: Каким образом можно отловить событие генерации отчета |
Phricker писал(а): http://wiki.bitel.ru/index.php/%D0%97%D0%B0%D0%BF%D1%83%D1%81%D0%BA_%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%B0_%D0%B4%D0%BE_%D0%B8_%D0%BF%D0%BE%D1%81%D0%BB%D0%B5_%D0%B0%D0%BA%D1%88%D0%B5%D0%BD%D0%B0 Похоже я что-то не так делаю. Вот, что я добавил в конфиг кернеля: action.event_reports_Report=after dynaction:ru.bitel.bgbilling.kernel.event.events.ActionAfterEvent=ru.kristall.bgbilling.action.Report Класс ru.kristall.bgbilling.action.Report package ru.kristall.bgbilling.action; import ru.bitel.bgbilling.common.BGException; import ru.bitel.bgbilling.common.BGMessageException; import ru.bitel.bgbilling.kernel.event.events.ActionAfterEvent; public class Report extends ActionAfterEvent { public void doAction() throws BGException { throw new BGMessageException( "Test" ); //System.out.println("ACTION REPORT"); } } |
Автор: | dimOn [ 27 авг 2014, 11:02 ] |
Заголовок сообщения: | Re: Каким образом можно отловить событие генерации отчета |
совсем не то делаете. 1.) ActionBeforeEvent и ActionAfterEvent это обычные события. надо прописать action.event_reports_Report=after и потом ловить/обрабатывать их как другие события (см. обработчики событий в клиенте, можнно на bgbs или динкоде). никаких дополнительных динклассов писать не нужно и прописывать куда-то. 2) dynaction:ru.bitel.bgbilling.kernel.event.events.ActionAfterEvent=ru.kristall.bgbilling.action.Report — это совершенно другой метод, никакого отношения к п.1 не имеющий. но это рекомендуется вместо п.1, как и написано в ссылке выше. и прописывать сюда надо не какой-то там евент ru.bitel.bgbilling.kernel.event.events.ActionAfterEvent, очевидно, а класс, который хотите в динкоде перегрузить. про это тоже по ссылке выше есть. |
Автор: | 2ray [ 27 авг 2014, 11:18 ] |
Заголовок сообщения: | Re: Каким образом можно отловить событие генерации отчета |
dimOn писал(а): совсем не то делаете. 1.) ActionBeforeEvent и ActionAfterEvent это обычные события. надо прописать action.event_reports_Report=after и потом ловить/обрабатывать их как другие события (см. обработчики событий в клиенте, можнно на bgbs или динкоде). никаких дополнительных динклассов писать не нужно и прописывать куда-то. 2) dynaction:ru.bitel.bgbilling.kernel.event.events.ActionAfterEvent=ru.kristall.bgbilling.action.Report — это совершенно другой метод, никакого отношения к п.1 не имеющий. но это рекомендуется вместо п.1, как и написано в ссылке выше. и прописывать сюда надо не какой-то там евент ru.bitel.bgbilling.kernel.event.events.ActionAfterEvent, очевидно, а класс, который хотите в динкоде перегрузить. про это тоже по ссылке выше есть. Получается как классы обработчики, которые создаются на уже имеющиеся в клиенте события (скрипты поведения). Надо написать дин.класс который наследовался бы от EventScriptBase ? |
Автор: | dimOn [ 27 авг 2014, 16:13 ] |
Заголовок сообщения: | Re: Каким образом можно отловить событие генерации отчета |
Нет, это вообще два разных метода реализации того, что вы хотите. 1. либо пишете action.event_reports_Report=after , потом вешаете на ActionAfterEvent скрипт как обычно, и внутри обрабатываете event куда приходит нужная инфа в onEvent итд (обработчик может быть как на bgbs так и на дин.коде). 2. либо пишете dynaction:<...>reports<...>ActionReport=ru.kristall.bgbilling.action.ActionReport и внутри дин.класса ru.kristall.bgbilling.action.ActionReport перегружаете родной ActionReport (потому что его логика вам, очевидно, тоже нужна) для этого вызываете super.doAction итд, а после этого вызова уже пишете свой код какой-то. |
Автор: | 2ray [ 27 авг 2014, 16:19 ] |
Заголовок сообщения: | Re: Каким образом можно отловить событие генерации отчета |
dimOn писал(а): Нет, это вообще два разных метода реализации того, что вы хотите. 1. либо пишете action.event_reports_Report=after , потом вешаете на ActionAfterEvent скрипт как обычно, и внутри обрабатываете event куда приходит нужная инфа в onEvent итд (обработчик может быть как на bgbs так и на дин.коде). 2. либо пишете dynaction:<...>reports<...>ActionReport=ru.kristall.bgbilling.action.ActionReport и внутри дин.класса ru.kristall.bgbilling.action.ActionReport перегружаете родной ActionReport (потому что его логика вам, очевидно, тоже нужна) для этого вызываете super.doAction итд, а после этого вызова уже пишете свой код какой-то. Непонятен момент: потом вешаете на ActionAfterEvent скрипт как обычно. Как же это, обычно? |
Автор: | dimOn [ 27 авг 2014, 17:22 ] |
Заголовок сообщения: | Re: Каким образом можно отловить событие генерации отчета |
http://bgbilling.ru/v6.1/doc/ch02s03.html |
Автор: | 2ray [ 27 авг 2014, 17:26 ] |
Заголовок сообщения: | Re: Каким образом можно отловить событие генерации отчета |
dimOn писал(а): http://bgbilling.ru/v6.1/doc/ch02s03.html В этом и проблема, что нет нужного мне события в списках событий Скрипта поведения |
Автор: | dimOn [ 28 авг 2014, 13:14 ] |
Заголовок сообщения: | Re: Каким образом можно отловить событие генерации отчета |
2ray писал(а): dimOn писал(а): http://bgbilling.ru/v6.1/doc/ch02s03.html В этом и проблема, что нет нужного мне события в списках событий Скрипта поведения А версия у вас 5.2? Непонятно тогда, в kernel_event.sql они описаны. Скорее всего вы криво обновлялись или у вас какая-то дремучая версия. Покажите все версии из окна about. Но вообще строго рекомендуется не использовать их, а использовать dynaction. В более новых версиях эти события deprecated и когда-нибудь удалится это всё. |
Автор: | Phricker [ 28 авг 2014, 13:17 ] |
Заголовок сообщения: | Re: Каким образом можно отловить событие генерации отчета |
2ray писал(а): dimOn писал(а): http://bgbilling.ru/v6.1/doc/ch02s03.html В этом и проблема, что нет нужного мне события в списках событий Скрипта поведения Они называются "Перед действием" и "После действия" И да лучше динкод |
Автор: | 2ray [ 28 авг 2014, 14:21 ] |
Заголовок сообщения: | Re: Каким образом можно отловить событие генерации отчета |
dimOn писал(а): 2ray писал(а): dimOn писал(а): http://bgbilling.ru/v6.1/doc/ch02s03.html В этом и проблема, что нет нужного мне события в списках событий Скрипта поведения А версия у вас 5.2? Непонятно тогда, в kernel_event.sql они описаны. Скорее всего вы криво обновлялись или у вас какая-то дремучая версия. Покажите все версии из окна about. Но вообще строго рекомендуется не использовать их, а использовать dynaction. В более новых версиях эти события deprecated и когда-нибудь удалится это всё. |
Автор: | 2ray [ 28 авг 2014, 14:21 ] |
Заголовок сообщения: | Re: Каким образом можно отловить событие генерации отчета |
Phricker писал(а): 2ray писал(а): dimOn писал(а): http://bgbilling.ru/v6.1/doc/ch02s03.html В этом и проблема, что нет нужного мне события в списках событий Скрипта поведения Они называются "Перед действием" и "После действия" И да лучше динкод А как определить, что сработало нужное мне событие? |
Автор: | Phricker [ 28 авг 2014, 14:32 ] |
Заголовок сообщения: | Re: Каким образом можно отловить событие генерации отчета |
Код: if(event.getRequest().getParameter("action").equals("UpdateContractPayment")){ ...... } } например так. Помоему это относилось как раз к событию "Перед действием" |
Автор: | 2ray [ 28 авг 2014, 14:40 ] |
Заголовок сообщения: | Re: Каким образом можно отловить событие генерации отчета |
Phricker писал(а): Код: if(event.getRequest().getParameter("action").equals("UpdateContractPayment")){ ...... } } например так. Помоему это относилось как раз к событию "Перед действием" Для моего случая if(event.getRequest().getParameter("action").equals("ActionReport")){ ...} или if(event.getRequest().getParameter("action").equals("Report")){ ...} Как узнать, что за экшен-класс вызывается при генерации отчета. |
Автор: | 2ray [ 01 сен 2014, 15:19 ] |
Заголовок сообщения: | Re: Каким образом можно отловить событие генерации отчета |
Phricker писал(а): Код: if(event.getRequest().getParameter("action").equals("UpdateContractPayment")){ ...... } } например так. Помоему это относилось как раз к событию "Перед действием" В скриптах поведения при генерации отчета никак не реагирует. Ни "перед", ни "после". |
Автор: | 2ray [ 03 сен 2014, 11:41 ] |
Заголовок сообщения: | Re: Каким образом можно отловить событие генерации отчета |
Так как реализовать то? |
Автор: | dimOn [ 08 сен 2014, 16:11 ] |
Заголовок сообщения: | Re: Каким образом можно отловить событие генерации отчета |
Непонятно что именно вы делаете. Непонятно каким способом. И непонятно в какой момент у вас и что не работает. Потому что на вопрос "так как реализовать то" было несколько ссылок и советов выше. Вы делаете событиями перед/после действия или всё же через dynaction? И в том и другом случае - прописали соответствующие настройки правильно в конфиге? Событие само по себе вызывается? Проверили? |
Автор: | 2ray [ 09 сен 2014, 11:00 ] |
Заголовок сообщения: | Re: Каким образом можно отловить событие генерации отчета |
dimOn писал(а): Непонятно что именно вы делаете. Непонятно каким способом. И непонятно в какой момент у вас и что не работает. Потому что на вопрос "так как реализовать то" было несколько ссылок и советов выше. Вы делаете событиями перед/после действия или всё же через dynaction? И в том и другом случае - прописали соответствующие настройки правильно в конфиге? Событие само по себе вызывается? Проверили? Оба способа испробовал. Да в конфиге прописал action.event_reports_Report=after. Событие не вызывается. |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |