BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 29 мар 2024, 17:15

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




Начать новую тему Ответить на тему  [ Сообщений: 21 ] 
Автор Сообщение
СообщениеДобавлено: 26 авг 2014, 16:10 
Не в сети

Зарегистрирован: 17 дек 2013, 10:48
Сообщения: 79
Карма: 0
Для внутренних необходимо отловить событие генерации конкретного отчета. И отправить его в другую систему. Нужный нам отчет написан на jrxml, генерит он pdf файл. Вот этот pdf и надо отправить в другую систему.

_________________
BGBilling v5.2


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 26 авг 2014, 16:14 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Повесить скрипт на событие "до/после экшна"
ЕМНИМС экшн наз-ся Report. Плясать от этого

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 26 авг 2014, 17:22 
Не в сети

Зарегистрирован: 17 дек 2013, 10:48
Сообщения: 79
Карма: 0
Phricker писал(а):
Повесить скрипт на событие "до/после экшна"
ЕМНИМС экшн наз-ся Report. Плясать от этого

Вот эти классы:
до ru.bitel.bgbilling.kernel.event.events.ActionBeforeEvent, после ru.bitel.bgbilling.kernel.event.events.ActionAfterEvent, для отчета bitel.billing.server.phone.bean.Report ?
Где именно событие вешается? В конфигурациях кернеля?

_________________
BGBilling v5.2


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 26 авг 2014, 17:34 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
http://wiki.bitel.ru/index.php/%D0%97%D ... 0%BD%D0%B0

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 27 авг 2014, 10:11 
Не в сети

Зарегистрирован: 17 дек 2013, 10:48
Сообщения: 79
Карма: 0
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");
}
}

_________________
BGBilling v5.2


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 27 авг 2014, 11:02 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
совсем не то делаете.

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, очевидно, а класс, который хотите в динкоде перегрузить. про это тоже по ссылке выше есть.

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 27 авг 2014, 11:18 
Не в сети

Зарегистрирован: 17 дек 2013, 10:48
Сообщения: 79
Карма: 0
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 ?

_________________
BGBilling v5.2


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

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
Нет, это вообще два разных метода реализации того, что вы хотите.

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 итд, а после этого вызова уже пишете свой код какой-то.

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 27 авг 2014, 16:19 
Не в сети

Зарегистрирован: 17 дек 2013, 10:48
Сообщения: 79
Карма: 0
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 скрипт как обычно. Как же это, обычно?

_________________
BGBilling v5.2


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 27 авг 2014, 17:22 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
http://bgbilling.ru/v6.1/doc/ch02s03.html

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


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

Зарегистрирован: 17 дек 2013, 10:48
Сообщения: 79
Карма: 0
dimOn писал(а):
http://bgbilling.ru/v6.1/doc/ch02s03.html

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

_________________
BGBilling v5.2


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 28 авг 2014, 13:14 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
2ray писал(а):
dimOn писал(а):
http://bgbilling.ru/v6.1/doc/ch02s03.html

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

А версия у вас 5.2? Непонятно тогда, в kernel_event.sql они описаны. Скорее всего вы криво обновлялись или у вас какая-то дремучая версия. Покажите все версии из окна about.
Но вообще строго рекомендуется не использовать их, а использовать dynaction. В более новых версиях эти события deprecated и когда-нибудь удалится это всё.

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 28 авг 2014, 13:17 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
2ray писал(а):
dimOn писал(а):
http://bgbilling.ru/v6.1/doc/ch02s03.html

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

Они называются "Перед действием" и "После действия"
И да лучше динкод

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 28 авг 2014, 14:21 
Не в сети

Зарегистрирован: 17 дек 2013, 10:48
Сообщения: 79
Карма: 0
dimOn писал(а):
2ray писал(а):
dimOn писал(а):
http://bgbilling.ru/v6.1/doc/ch02s03.html

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

А версия у вас 5.2? Непонятно тогда, в kernel_event.sql они описаны. Скорее всего вы криво обновлялись или у вас какая-то дремучая версия. Покажите все версии из окна about.
Но вообще строго рекомендуется не использовать их, а использовать dynaction. В более новых версиях эти события deprecated и когда-нибудь удалится это всё.

_________________
BGBilling v5.2


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 28 авг 2014, 14:21 
Не в сети

Зарегистрирован: 17 дек 2013, 10:48
Сообщения: 79
Карма: 0
Phricker писал(а):
2ray писал(а):
dimOn писал(а):
http://bgbilling.ru/v6.1/doc/ch02s03.html

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

Они называются "Перед действием" и "После действия"
И да лучше динкод

А как определить, что сработало нужное мне событие?

_________________
BGBilling v5.2


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 28 авг 2014, 14:32 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Код:
if(event.getRequest().getParameter("action").equals("UpdateContractPayment")){
......
      }
   }

например так. Помоему это относилось как раз к событию "Перед действием"

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 28 авг 2014, 14:40 
Не в сети

Зарегистрирован: 17 дек 2013, 10:48
Сообщения: 79
Карма: 0
Phricker писал(а):
Код:
if(event.getRequest().getParameter("action").equals("UpdateContractPayment")){
......
      }
   }

например так. Помоему это относилось как раз к событию "Перед действием"

Для моего случая if(event.getRequest().getParameter("action").equals("ActionReport")){ ...} или if(event.getRequest().getParameter("action").equals("Report")){ ...}
Как узнать, что за экшен-класс вызывается при генерации отчета.

_________________
BGBilling v5.2


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 01 сен 2014, 15:19 
Не в сети

Зарегистрирован: 17 дек 2013, 10:48
Сообщения: 79
Карма: 0
Phricker писал(а):
Код:
if(event.getRequest().getParameter("action").equals("UpdateContractPayment")){
......
      }
   }

например так. Помоему это относилось как раз к событию "Перед действием"

В скриптах поведения при генерации отчета никак не реагирует. Ни "перед", ни "после".

_________________
BGBilling v5.2


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 сен 2014, 11:41 
Не в сети

Зарегистрирован: 17 дек 2013, 10:48
Сообщения: 79
Карма: 0
Так как реализовать то?

_________________
BGBilling v5.2


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

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
Непонятно что именно вы делаете. Непонятно каким способом. И непонятно в какой момент у вас и что не работает.
Потому что на вопрос "так как реализовать то" было несколько ссылок и советов выше.

Вы делаете событиями перед/после действия или всё же через dynaction?
И в том и другом случае - прописали соответствующие настройки правильно в конфиге?
Событие само по себе вызывается? Проверили?

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 09 сен 2014, 11:00 
Не в сети

Зарегистрирован: 17 дек 2013, 10:48
Сообщения: 79
Карма: 0
dimOn писал(а):
Непонятно что именно вы делаете. Непонятно каким способом. И непонятно в какой момент у вас и что не работает.
Потому что на вопрос "так как реализовать то" было несколько ссылок и советов выше.

Вы делаете событиями перед/после действия или всё же через dynaction?
И в том и другом случае - прописали соответствующие настройки правильно в конфиге?
Событие само по себе вызывается? Проверили?

Оба способа испробовал. Да в конфиге прописал action.event_reports_Report=after. Событие не вызывается.

_________________
BGBilling v5.2


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

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


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

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


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

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