forum.bitel.ru
http://forum.bitel.ru/

Информационное окно
http://forum.bitel.ru/viewtopic.php?f=22&t=3959
Страница 1 из 1

Автор:  mrustik [ 28 апр 2010, 18:19 ]
Заголовок сообщения:  Информационное окно

Прописал скрипт и поставил на событие Изменен параметр договора, нужно вывести информацоинное окно оператору, как это сделать.

Автор:  SafeAndSound [ 28 апр 2010, 19:16 ]
Заголовок сообщения:  Re: Информационное окно

Можно так:
http://wiki.bgbilling.ru/index.php/%D0% ... 0%B5%D0%BC
или так:
http://wiki.bgbilling.ru/index.php/%D0% ... 1%80%D0%B0

Автор:  mrustik [ 29 апр 2010, 20:33 ]
Заголовок сообщения:  Re: Информационное окно

Изменяю параметр Адрес, функция event.setError не отрабатывается. Но в текстовом параметре, после вызова event.setError, ничего не будет меняться.
Нужен просто информер.

Автор:  skn [ 30 апр 2010, 00:44 ]
Заголовок сообщения:  Re: Информационное окно

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 ) с помощью которых можно отменить выполнение акшена и задать сообщение выводимое в клиенте.

Автор:  aiwbend [ 30 дек 2011, 15:16 ]
Заголовок сообщения:  Re: Информационное окно

skn писал(а):
Дополнительно в ActionBeforeEvent передается httpRequest (из которого можно получить все параметры переданные с клиента)

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

Автор:  Phricker [ 30 дек 2011, 15:43 ]
Заголовок сообщения:  Re: Информационное окно

viewtopic.php?f=19&t=6254
Я делал на событие приход платежа.
Выводится вот такая хреновина при попытке занесения платежа предыдущим числом
Вложение:
prixod.png
prixod.png [ 13.95 КБ | Просмотров: 5696 ]


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

Автор:  Phricker [ 30 дек 2011, 15:51 ]
Заголовок сообщения:  Re: Информационное окно

А пардон. Понял вашу идею. Нужно после изменения параметра вывести сообщение. И сохранить изменения.
Сейчас поищу в api может что и найду.

Автор:  Phricker [ 30 дек 2011, 15:57 ]
Заголовок сообщения:  Re: Информационное окно

Если сделать вот так
Код:
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
То выведется сообщение об ошибке и платеж занесется. Не самый изящный вариант, но можете попробовать )

Автор:  aiwbend [ 04 янв 2012, 23:45 ]
Заголовок сообщения:  Re: Информационное окно

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
То выведется сообщение об ошибке и платеж занесется. Не самый изящный вариант, но можете попробовать )

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

Автор:  aiwbend [ 09 янв 2012, 23:39 ]
Заголовок сообщения:  Re: Информационное окно

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

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


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

Автор:  skn [ 10 янв 2012, 01:15 ]
Заголовок сообщения:  Re: Информационное окно

getParameter - дает доступ ко всем параметрам передаваемым из клиента в запросе

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

Автор:  aiwbend [ 10 янв 2012, 08:26 ]
Заголовок сообщения:  Re: Информационное окно

skn писал(а):
getParameter - дает доступ ко всем параметрам передаваемым из клиента в запросе

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

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

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/