Добрый день, коллеги!
Подскажите, существует ли способ повесить на обработчик нажатия кнопки код, который откроет нужную мне произвольную страницу (которую я создал без привязки в объекту)? Но при этом мне ещё нужно передавать ИД выбранной записи на гриде. Нужна реализация именно кодом: объекты БП не предлагать!
Находил только во это из подходящего: https://community.terrasoft.ru/forum/topic/9886
Но это всё равно не то...
Нравится
См. действие БП «Открыть страницу» (OpenPageUserTask), там передаётся PageUId и PageParameters. Если нужно именно кодом, то можно посмотреть исходники этого действия.
Исходниками этого кода является нечто, что не имеет буквенного кода - как обычно... =( Сделал через элементы БП - всё работает (см. ниже), но получил другую проблему: не получается передать некоторый параметр, чтобы его принять на открываемой форме и там это записать в лукапное поле.
Это блок БП-са, который выполняется по нажатию на кнопку вызова нужного мне окна. В объекте "Подготовить параметры" находится след. код:
var PageSchemaId = (UserConnection.GetSchemaManager("PageSchemaManager").GetInstanceByName("MyPage111") as PageSchema).UId; OpenPageUserTask111.PageUId = PageSchemaId; var pageParameters = new Dictionary <string, string>(); pageParameters.Add("CampaignLookupEdit", SelectedNodePrimaryColumnValue.ToString()); OpenPageUserTask111.PageParameters = pageParameters;
В объекте "Действие процесса" выбрано действие "Открытие страницы".
Теперь мне надо как-то переданный параметр "CampaignLookupEdit" заполнить на открываемой форме значением этого параметра. Вопрос - как? В объекте "Заполнить поля на форме" попробовал в отладчике обратиться к "Page", но этой сущностью является не открываемая страница, а страница грида, откуда я вызываю открытие своей страницы, хотя "OpenPageUserTask111.PageParameters" у меня заполнено правильно. Подскажите, если не трудно...
"Виталий Марушко" написал:Исходниками этого кода является нечто, что не имеет буквенного кода - как обычно...
Всё там нормально с исходниками, само действие состоит из обычного C#-кода.
"Виталий Марушко" написал:Теперь мне надо как-то переданный параметр "CampaignLookupEdit" заполнить на открываемой форме значением этого параметра.
Вычитывать значение параметра нужно в самой открываемой карточке при её открытии (на PageLoadComplete).
var MyGuidParamId = new Guid(Page.GetParameterValue("MyGuidParamId").ToString());
И дальше его обрабатывать и записывать куда нужно.
Александр, разобрался - всё получилось! Спасибо за очередную порцию помощи! Хорошего Вам дня)