BiTel

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

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




Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: Информационное окно
СообщениеДобавлено: 28 апр 2010, 18:19 
Не в сети

Зарегистрирован: 12 фев 2008, 16:11
Сообщения: 485
Карма: 12
Прописал скрипт и поставил на событие Изменен параметр договора, нужно вывести информацоинное окно оператору, как это сделать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Информационное окно
СообщениеДобавлено: 28 апр 2010, 19:16 
Не в сети
Клиент

Зарегистрирован: 22 апр 2009, 13:59
Сообщения: 58
Откуда: Мурманск
Карма: 0
Можно так:
http://wiki.bgbilling.ru/index.php/%D0% ... 0%B5%D0%BC
или так:
http://wiki.bgbilling.ru/index.php/%D0% ... 1%80%D0%B0


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Информационное окно
СообщениеДобавлено: 29 апр 2010, 20:33 
Не в сети

Зарегистрирован: 12 фев 2008, 16:11
Сообщения: 485
Карма: 12
Изменяю параметр Адрес, функция event.setError не отрабатывается. Но в текстовом параметре, после вызова event.setError, ничего не будет меняться.
Нужен просто информер.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Информационное окно
СообщениеДобавлено: 30 апр 2010, 00:44 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4489
Откуда: Уфа, Россия
Карма: 186
1) в конфиге прописывается для каких акшенов генерировать события в виде

Код:
action.event_<module>_<action>=before|after|both


2) события генерируются только для запросов в которых есть параметер cid

3) есть два события: ActionBeforeEvent и ActionAfterEvent в которые передаются параметры: module, action, contractId, userId. Дополнительно в ActionBeforeEvent передается httpRequest (из которого можно получить все параметры переданные с клиента), а в ActionAfterEvent - rootNode - ссылка на ответную xml.

4) ActionBeforeEvent содержит методы setDoAction(Boolean) и setError( String, Boolean ) с помощью которых можно отменить выполнение акшена и задать сообщение выводимое в клиенте.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Информационное окно
СообщениеДобавлено: 30 дек 2011, 15:16 
Не в сети

Зарегистрирован: 20 апр 2011, 09:56
Сообщения: 346
Карма: 19
skn писал(а):
Дополнительно в ActionBeforeEvent передается httpRequest (из которого можно получить все параметры переданные с клиента)

А как выудить этот httpRequest ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Информационное окно
СообщениеДобавлено: 30 дек 2011, 15:43 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
viewtopic.php?f=19&t=6254
Я делал на событие приход платежа.
Выводится вот такая хреновина при попытке занесения платежа предыдущим числом
Вложение:
prixod.png
prixod.png [ 13.95 КБ | Просмотров: 4432 ]


Попробуйте не Error а event.setMessage

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Информационное окно
СообщениеДобавлено: 30 дек 2011, 15:51 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
А пардон. Понял вашу идею. Нужно после изменения параметра вывести сообщение. И сохранить изменения.
Сейчас поищу в api может что и найду.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Информационное окно
СообщениеДобавлено: 30 дек 2011, 15:57 
Не в сети
Клиент
Аватара пользователя

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

Calendar calendar = new GregorianCalendar();
dateNow = TimeUtils.convertCalendarToDate(calendar);

cid = event.getContractId();
payDate = TimeUtils.convertStringToDate(event.getRequest().getParameter("date"));
Integer userId = event.getUserId();
print("userId = " + userId);
 
if( TimeUtils.dateBefore(payDate, dateNow) && userId != 58 ){
   event.setError( "Запрещены приходы с датой ранее текущей", true );
}

Т.е. после event.setError поставить true
То выведется сообщение об ошибке и платеж занесется. Не самый изящный вариант, но можете попробовать )

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Информационное окно
СообщениеДобавлено: 04 янв 2012, 23:45 
Не в сети

Зарегистрирован: 20 апр 2011, 09:56
Сообщения: 346
Карма: 19
Phricker писал(а):
Если сделать вот так
Код:
import bitel.billing.server.script.event.*;
import bitel.billing.server.contract.bean.*;
import bitel.billing.server.util.*;

Calendar calendar = new GregorianCalendar();
dateNow = TimeUtils.convertCalendarToDate(calendar);

cid = event.getContractId();
payDate = TimeUtils.convertStringToDate(event.getRequest().getParameter("date"));
Integer userId = event.getUserId();
print("userId = " + userId);
 
if( TimeUtils.dateBefore(payDate, dateNow) && userId != 58 ){
   event.setError( "Запрещены приходы с датой ранее текущей", true );
}

Т.е. после event.setError поставить true
То выведется сообщение об ошибке и платеж занесется. Не самый изящный вариант, но можете попробовать )

Спасибо, очень помогли.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Информационное окно
СообщениеДобавлено: 09 янв 2012, 23:39 
Не в сети

Зарегистрирован: 20 апр 2011, 09:56
Сообщения: 346
Карма: 19
Вот тут вы с параметром даты работаете getParameter("date"), а как выудить другой параметр.
Я делаю для CRM, нужен параметр экзекутор.
В API написано getParameter(java.lang.String key), вот где эти ключи посмотреть или по какому принципу они определяются. Если написать type или comment то выводит все хорошо(в БД у строк названия аналогичны но как я понял он ориентируется не на них), не могу логику уловить.

Никто не подскажет как выудить исполнителей задачи CRM из действия и где все эти ключи посмотреть?


Методом тыка, ключом executors, получил необходимую информацию, но как без этого метода прошу объяснить. :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Информационное окно
СообщениеДобавлено: 10 янв 2012, 01:15 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4489
Откуда: Уфа, Россия
Карма: 186
getParameter - дает доступ ко всем параметрам передаваемым из клиента в запросе

посмотреть запрос клиента со всеми параметрами можно запустив клиент биллинга в debug режиме


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Информационное окно
СообщениеДобавлено: 10 янв 2012, 08:26 
Не в сети

Зарегистрирован: 20 апр 2011, 09:56
Сообщения: 346
Карма: 19
skn писал(а):
getParameter - дает доступ ко всем параметрам передаваемым из клиента в запросе

посмотреть запрос клиента со всеми параметрами можно запустив клиент биллинга в debug режиме

Спасибо, теперь все понятно.


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

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


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

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


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

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