Добрый день!
Я создал тестовое пользовательское действие в бизнес-процессах и добавил туда пару параметров:
Сохранил и опубликовал. Затем, добавил его в меню действий sql-скриптом
insert into SysProcessUserTask(SysUserTaskSchemaUId, Caption)
select s.UId, s.Caption from SysSchema s
where s.Name = 'TestAction'
Действие появилось в меню и его можно использовать, но при добавлении в дизайнере в нем нет параметров.
Вопрос: что я делаю не так и как прокидывать данные в это кастомное действие???
P.S.: если не добавлять действие в меню, а использовать элемент "Выполнить действия процесса", то параметры там есть.
Нравится
Дмитрий, здравствуйте!
По умолчанию при создании своего действия созданные параметры отображаются автоматически только при выборе Пользовательское действие. Если же Вы добавили иконку в список элементов, то обработку окна его параметров необходимо реализовывать отдельно.
Можете посмотреть реализацию для базовых элементов, например, ApprovalUserTaskPropertiesPage, или же в самом UserTaskPropertiesPage.
Логвин Андрей Витальевич,
Спасибо за ответ. Правильно ли я понимаю, что мне нужно создать свою клиентскую схему унаследованную от ProcessFlowElementPropertiesPage, назвать её TestActionPropertiesPage и описать там логику отображения моих параметров по аналогии с приведенными схемами?
Логвин Андрей Витальевич,
Спасибо за ответ. Я спросил, потому что у меня не получилось так сделать. Я создал, схему TestActionPropertiesPage (имя моего действия + PropertiesPage) и унаследовал её от ProcessFlowElementPropertiesPage. Как я понимаю, в окне настроек должно было что-то измениться, но ничего не произошло. Судя коду страницы, всё равно используется схема
BaseProcessSchemaElementPropertiesPage. Подскажите, в чем может быть ошибка?
Дмитрий,
Связь идет не по названию схемы, а явно указывается в самом пользовательском действии - http://prntscr.com/in8emw .
Также, выбирать родительскую схему необходимо согласно Вашим целям, для начала можете унаследоваться от BaseProcessSchemaElementPropertiesPage ( ProcessDesigner )
Логвин Андрей Витальевич,
Спасибо за ответ. Теперь всё получилось!