forum.bitel.ru http://forum.bitel.ru/ |
|
Создание диалогового окна http://forum.bitel.ru/viewtopic.php?f=19&t=10871 |
Страница 1 из 1 |
Автор: | Inspire [ 07 сен 2015, 17:46 ] |
Заголовок сообщения: | Создание диалогового окна |
Здравствуйте, а могу ли я как-то сделать, чтобы после выполнения скрипта поведения, появлялось окошко с текстом либо "Все прошло успешно", либо "Все прошло неуспешно" и кнопкой Ок? Чтобы рядовому пользователю не приходилось забивать свою голову о том, что такое логи скрипта поведения и как их посмотреть. |
Автор: | skyb [ 07 сен 2015, 17:59 ] |
Заголовок сообщения: | Re: Создание диалогового окна |
((ContractParamBeforeChangeEvent)event1).setError("Не корректно введен текст"); |
Автор: | Phricker [ 07 сен 2015, 18:12 ] |
Заголовок сообщения: | Re: Создание диалогового окна |
Skyb, шутник однако. По теме, киньте скрипт. Либо на чем он у вас отрабатывает. |
Автор: | skyb [ 07 сен 2015, 18:17 ] |
Заголовок сообщения: | Re: Создание диалогового окна |
Phricker писал(а): Skyb, шутник однако. По теме, киньте скрипт. Либо на чем он у вас отрабатывает. скрипт поведения, который кидает ошибку, что не так? |
Автор: | Inspire [ 07 сен 2015, 18:18 ] |
Заголовок сообщения: | Re: Создание диалогового окна |
Phricker писал(а): Skyb, шутник однако. По теме, киньте скрипт. Либо на чем он у вас отрабатывает. Да там несложный скрипт... Отрабатывает при создании нового договора. При создании посылает Http запрос и получает ответ. Если ответ, к примеру, true, то хочу чтобы появлялось диалоговое окно с кнопкой ОК и текстом "Все хорошо". А если false, то с текстом "Все плохо". Вот скрипт: Код: public void onEvent( event, setup, con, conSlave )
{ URLConnection conn = new URL(url).openConnection(); conn.addRequestProperty("content-type", "application/json"); conn.setDoOutput(true); OutputStreamWriter out = new OutputStreamWriter(conn.getOutputStream(), "ASCII"); out.write(query.toString()); out.write("\r\n"); out.flush(); out.close(); //читаем то, что отдал нам сервер String html = readStreamToString(conn.getInputStream(), "UTF-8"); //выводим информацию в консоль print("URL:" + url); print("Html:\n" + html); } |
Автор: | Phricker [ 07 сен 2015, 18:39 ] |
Заголовок сообщения: | Re: Создание диалогового окна |
skyb писал(а): Phricker писал(а): Skyb, шутник однако. По теме, киньте скрипт. Либо на чем он у вас отрабатывает. скрипт поведения, который кидает ошибку, что не так? Например у меня как у ТСа висит скрипт на событии "Договор создан". В эвенте ContractCreatedEvent нет метода setError. Да и куда собственно ты его выдашь? ![]() Ты можешь его выдать ПЕРЕД созданием договора. Т.е. договор не будет создан если, что-то не понравилось скрипту. Но и то не выход, т.к. возможно ТСу нужно отправлять данные по договору, на сторонний сервер. Из простого могу посоветовать завести параметр договора, в котором будет результат выполнения скрипта ![]() Из непростого, вроде нет стандартной возможности создать диалоговое окно с результатом выполнения скрипта. |
Автор: | Phricker [ 07 сен 2015, 18:47 ] |
Заголовок сообщения: | Re: Создание диалогового окна |
Хотя появилась идея. Проверю отпишу |
Автор: | dimOn [ 07 сен 2015, 19:01 ] |
Заголовок сообщения: | Re: Создание диалогового окна |
Положительный ответ никак не получить. Т.к. скрипт выполняется внутри экшена, который продолжает там работать ещё и что-то делать потом после выполнение, и сообщение выведется только если получится ошибка. |
Автор: | Phricker [ 07 сен 2015, 19:45 ] |
Заголовок сообщения: | Re: Создание диалогового окна |
Еще как вариант (для извращенцев), можно попробовать для каждого юзера создавать сообщения, а он потом их получит ![]() |
Автор: | dimOn [ 07 сен 2015, 19:53 ] |
Заголовок сообщения: | Re: Создание диалогового окна |
не для каждого, а для юзера, который эвент запустил) |
Автор: | Phricker [ 07 сен 2015, 19:57 ] |
Заголовок сообщения: | Re: Создание диалогового окна |
ну да. хотел написать для каждого эвента создавать сообщение для юзера который его запустил ))) |
Автор: | dimOn [ 07 сен 2015, 22:26 ] |
Заголовок сообщения: | Re: Создание диалогового окна |
ну в принципе так можно вполне делать, если получится кстати, распространённый паттерн оповещения, в вебе, например, после синхронных действий с редиректом |
Автор: | skyb [ 08 сен 2015, 04:11 ] |
Заголовок сообщения: | Re: Создание диалогового окна |
Phricker, какой скрипт и что делает изначально сказано небыло |
Автор: | Phricker [ 08 сен 2015, 13:10 ] |
Заголовок сообщения: | Re: Создание диалогового окна |
Поэтому и шутник ))))) Ошибку можно бросить в меньшем кол-ве случаев, чем нельзя бросить ![]() Плюс, если все корректно отработает - я с трудом представляю как можно сообщить "Все отработало" ![]() |
Автор: | Inspire [ 08 сен 2015, 14:31 ] |
Заголовок сообщения: | Re: Создание диалогового окна |
Господа, а можно ли тогда сделать так, чтобы договор вовсе не создавался, если скрипт поведения вернет false ? |
Автор: | Phricker [ 08 сен 2015, 15:03 ] |
Заголовок сообщения: | Re: Создание диалогового окна |
Не исключено. |
Автор: | Phricker [ 08 сен 2015, 15:19 ] |
Заголовок сообщения: | Re: Создание диалогового окна |
Код: dynaction:contract.ActionNewContract=ru.ellcom.contract.ActionNewContract Код: package ru.ellcom.contract; import ru.bitel.bgbilling.common.BGException; import ru.bitel.bgbilling.common.BGMessageException; import ru.bitel.common.Utils; import java.sql.SQLException; public class ActionNewContract extends bitel.billing.server.contract.action.ActionNewContract { @Override public void doAction() throws SQLException, BGException { boolean createContract = false; if(!createContract){ throw new BGMessageException( "Договор не был создан" ); } // иначе вызываем родительский метод super.doAction(); } } ![]() |
Автор: | Inspire [ 08 сен 2015, 17:14 ] |
Заголовок сообщения: | Re: Создание диалогового окна |
в bgbs выдает ошибку на @Override Sourced file: Function [id:9; title:Smotreshka] Token Parsing Error: Lexical error at line 263, column 6. Encountered: "O" (79), after : "@": <at unknown location> И почему event.getContract().getTitle() возвращает неправильный номер договора? См. на скрине ниже Вложение:
|
Автор: | Phricker [ 08 сен 2015, 17:31 ] |
Заголовок сообщения: | Re: Создание диалогового окна |
Потому что это не bgbs а динкод. Это раз. И два. Это не вы ли просили скрипт который добавляет контрольную сумму в договор? Если да - то скорее всего до того как этот скрипт сменит title, у вас он печатается. |
Автор: | Inspire [ 08 сен 2015, 17:50 ] |
Заголовок сообщения: | Re: Создание диалогового окна |
Phricker писал(а): Потому что это не bgbs а динкод. Это раз. И два. Это не вы ли просили скрипт который добавляет контрольную сумму в договор? Если да - то скорее всего до того как этот скрипт сменит title, у вас он печатается. Мне нужен скрипт поведения. В 5.1. только bgbs. Контрольную сумму не я просил. Код: public void onEvent( event, setup, con, conSlave )
{ print(event.getContract().getTitle()); } |
Автор: | Phricker [ 08 сен 2015, 17:52 ] |
Заголовок сообщения: | Re: Создание диалогового окна |
Тогда событие "Перед действием" и переделайте мой скрипт. У меня нет под рукой 5.1, а там могут быть другие методы. |
Автор: | Inspire [ 08 сен 2015, 18:16 ] |
Заголовок сообщения: | Re: Создание диалогового окна |
ладно, попоробую. А как быть с номером договора? че он такой неправильный |
Автор: | Phricker [ 08 сен 2015, 19:04 ] |
Заголовок сообщения: | Re: Создание диалогового окна |
У вас в шаблоне по которому создается договор какой прописан номер договора? |
Автор: | Inspire [ 08 сен 2015, 19:09 ] |
Заголовок сообщения: | Re: Создание диалогового окна |
Вот там че 111-${time:F}${N6} |
Автор: | Phricker [ 08 сен 2015, 19:40 ] |
Заголовок сообщения: | Re: Создание диалогового окна |
Случайно не висит вставка контрольной суммы в номер договора??? |
Автор: | Inspire [ 09 сен 2015, 11:26 ] |
Заголовок сообщения: | Re: Создание диалогового окна |
Да, там скрипт навешан create_contract... Все получилось, спасибо! Ну кроме диалогового окна ![]() |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |