BPM 5.4 не видно Page в нутри процесса

Добрый день!

Есть проблема, в процессе страницы в событии LoadPageCompleated добавляю свою функцию на JS.
В которой передаю некоторый параметр в другое событие этой же страницы при помощи Terrasoft.AjaxMethods.ThrowClientEventWithParameters.

Прихожу в событие ловлю параметр который передал. И вот самое интересное, что я не могу внутри этого события обратиться к Page, потому что она null.
Кто знает в чем проблема?

Нравится

12 комментариев

Здравствуйте!
Не могли бы Вы подробнее описать проблему. В какое событие Вы передаете, на какой странице?

Конечно могу рассказать и показать:

И так внутри скрипта события код моей процедуры на JavaScript, который передает параметр в событие GetPhoneState в обработчике которого не видно Page. Еще раз повторюсь, что все происходит на одной странице.

Хорошее разрешение на скрине http://hostingkartinok.com/show-image.php?id=aa0e73f38e1ade5d4250400ac6…

Есть такое мнение, что как-то не правильно передаем Page.Process.InstanceUid. Потому, как при вызове нашего события его уже нет.

Все получилось. Спасибо Михаилу Павлову.

Рад, что у Вас получилось, обращайтесь еще.

У меня чем-то похожая проблема.
Есть страница редактирования, стандартно поднимаемая из реестра. На ней кнопка, поднимающая окно диалога, в котором пользователь вводит некий параметр. Его значение надо вернуть по ОК и закрытию поднятого диалогового окна в страницу редактирования и желательно, чтобы отработало событие процесса страницы редактирования.
Ситуация похожая на работу со справочником, вызываемым из стандартного контрола, только вместо контрола кнопка и окно свое, а не справочника поднимается.
На данный момент добился того, чтобы через SessionData получить в "родительском" окне выбранное в диалоге значение... но вот вызываю из диалога по закрытию его эвент родительского процесса - он вызывается, но в нем не виден Page... соответственно не могу в этом эвенте обращаться к контролам на странице редактирования и так далее...

эвент вызываю на кнопке ОК диалога через
parentProcess.ThrowEvent(parentProcess.InternalContext, "EventName")
parentProcess получаю через переданный в диалог параметр... смотрел дебаггером экземпляр процесса вроде тот что нужно, но внутри эвента Page = null...

Здравствуйте, Александр!
Попробуйте использовать стандартное действие процесса "Открыть страницу" и в нем указывать параметр "CloseMessage" и обрабатывать это сообщение в родительской странице, а не бросать сообщение "вручную" из страницы.

Добрый день, Андрей!
Именно этим действием я и поднимаю окно. И с назначения параметра CloseMessage я начинал - оно не ловилось в процессе карточки редактирования при закрытии поднимаемого из нее окна... потому я и ушел во все тяжкие

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

Александр, у меня была данная проблема потому, что я не в ту страницу отправлял евент проверьте что parentProcess.InternalContext возвращает именно ID вашей нужной страницы.

Спасибо за участие, сейчас занялся другими вопросами - постараюсь как только появится время прояснить ситуацию, описав проблему подробнее

Александр, действительно, сообщение может отправляться не в ту страницу просто. Посмотрите механизм реализации этого функционала в "OpenLookupUserTask" и попробуйте сделать по аналогии. Должно правильно работать.

Показать все комментарии