6.2. Процессные формы (ProcForm)
- Интерфейс ProcForm
-
При определении выхода (outcome) для задачи и в узле начала процесса возможно указать форму, которая будет показана пользователю. Форма должна реализовывать интерфейс
ProcForm
.Методы интерфейса
ProcForm
:-
getComment(): String
– значение, возвращаемое этим методом, будет записано в полеcomment
объектаProcTask
при завершении задачи или в полеstartComment
уProcInstance
, если форма отображается на старте процесса;
-
getFormResult(): Map<String, Object>
– возвращает список объектов, которые будут добавлены к переменным процесса после коммита формы.
-
- Задание списка форм для дизайнера моделей процесса
-
Список форм, доступный в дизайнере моделей процесса, формируется на основе конфигурационных файлов, определенных свойством приложения
bpm.formsConfig
. Для добавления новой процессной формы выполните следующие шаги:-
Создайте и зарегистрируйте экран для новой формы. Контроллер экрана должен реализовывать интерфейс
ProcForm
. -
Создайте файл, например
app-bpm-forms.xml
, для конфигурации новых процессных форм. Положите его в директориюsrc
модуля web или gui.<?xml version="1.0" encoding="UTF-8"?> <forms xmlns="http://schemas.haulmont.com/cuba/bpm-forms.xsd"> <form name="myCustomForm" default="true"> <param name="someParam" value="hello"/> <param name="otherParam"/> </form> </forms>
myCustomForm
– идентификатор экрана.Помимо имени форм в файле определены имена возможных параметров формы и их значения по умолчанию.
Форма с атрибутом
default="true"
будет использоваться в дизайнере как форма по умолчанию. -
Переопределите свойство
bpm.formsConfig
в файлеweb-app.properties
.bpm.formsConfig = com/haulmont/bpm/forms.xml app-bpm-forms.xml
-
- API