Input Dialog Forms
Input dialog form это форма для ввода параметров для элементов Start Event
или User Task
. Диалог автоматически отображается когда пользователь запускает процесс или выполняет пользовательскую задачу.

Конфигурация
Чтобы настроить диалог, выберите элемент Start Event
или User Task
и установите для него тип Input dialog
.

После этого появятся дополнительные свойства. Их описание приведено ниже.

Open mode
Это свойство определяет режим в котором форма будет открыта:
-
Dialog – форма будет открыта в диалоговом окне.
-
Navigate – форма будет открыта как новый экран путём перехода по его URL.

По умолчанию используется Dialog.
Parameters
Parameters это поля формы, которые могут отображать значения либо ожидать ввода значений от пользователя. Нажмите create, чтобы перейти к созданию параметра:

После этого откроется окно редактора. Выберите переменную процесса из списка или определите новую переменную, введя её имя.

Параметр можно сделать редактируемым и обязательным выбрав соответствующие чекбоксы.
Параметр может быть одного из следующих типов:
-
String
-
Multiline string
-
Decimal
-
Number
-
Boolean
-
Date
-
Date with time
-
Entity
-
Entity list
-
File
-
Platform enum
-
Custom enum
Параметры с типом Entity
и Entity list
потребуют дополнительной настройки. Для них необходимо выбрать соответствующий класс сущности и компонент интерфейса для работы с ним.

Если выбран EntityPicker, можно указать экран для работы с сущностью. Если оставить это поле пустым, то будет использован стандартный экран list для этой сущности. image::input-dialog-forms/parameter-editor-entity-ui-compontent.png[,800]
При выборе ComboBox, необходимо описать JPQL запрос для выбора экземпляров. Запрос можно написать вручную либо используя Дизайнер JPQL.

После того как параметр создан, его можно редактировать непосредственно в панели BPMN Inspector.

XML представление
Диалоговая форма определяется непосредственно в модели BPMN. В XML модели она представлена атрибутом jmix:formData
:
<jmix:formData type="input-dialog" openMode="DIALOG">
<jmix:formFields>
<jmix:formField id="order" caption="Order" type="entity" editable="true" required="false">
<jmix:formFieldProperty name="entityName" value="smpl_Order" />
<jmix:formFieldProperty name="uiComponent" value="comboBox" />
<jmix:formFieldProperty name="query" value="select e from smpl_Order e where e.amount > 1000" />
</jmix:formField>
<jmix:formField id="name" caption="Name" type="string" editable="true" required="false" />
</jmix:formFields>
Business Key
При создании диалога ввода для элемента Start Event
вы можете определить бизнес ключ.

Значение бизнес ключа можно установить напрямую или взять его из переменной процесса.
Outcomes
Аттрибут outcomes содержит предопределенные варианты завершения задачи, указывающие какое решение принял исполнитель. В форме эти варианты будут представлены кнопками. Чтобы завершить задачу, пользователь должен нажать одну из них. Например, в задаче по утверждению документа пользователь может утвердить документ или отклонить его. Соответственно, он увидит две кнопки: "Утвердить" и "Отклонить". Если варианты не предопределены, то пользователь увидит стандартную кнопку Complete.
Cобытие завершения задачи будет вызвано при выборе любого из вариантов. |
Чтобы задать значения для outcomes нажмите create в панели BPM Inspector:

Затем откроется окно редактора результатов. Здесь вы можете создать несколько вариантов снабдив их подписью и иконкой:

Вы также можете редактировать значения непосредственно в панели BPMN Inspector.
