SubProcessValidationGuide: различия между версиями

Материал из RunaWFE
Перейти к навигации Перейти к поиску
>Vromav
 
м
 
(не показана 1 промежуточная версия 1 участника)
Строка 52: Строка 52:


Для внутреннего подпроцесса - композиции валидация при старте не поддерживается.
Для внутреннего подпроцесса - композиции валидация при старте не поддерживается.
[[Категория:Документация]]

Текущая версия на 08:32, 21 апреля 2023

Валидация параметров подпроцессов и мультиподпроцессов при запуске 4.4.1+

Версия 4.6.0

© 2015-2023, ООО "Процессные технологии"


В RunaWFE версии 4.4.1 была добавлена возможность валидации параметров подпроцессов (в том числе и для мультиподпроцессов) при старте. Для включения валидации, необходимо перейти в свойства элемента и перевести опцию "Валидировать при старте" в значение "Да" (по умолчанию - "Нет").

Subprocess validation 1.png


При этом в подпроцессе потребуется

  • создать форму в стартовом узле
  • добавить глобальный валидатор для проверки значения передаваемой переменной


Рассмотрим работы данной опции.


Главный процесс

Subprocess validation 2.png


Подпроцесс с файлами формы в стартовом узле

Subprocess validation 3.png


Глобальный валидатор в стартовом узле

Проверяем, что значение передаваемое из главного процесса в переменную "Переменная1" подпроцесса больше значения переменной "Переменная2"

Переменная1.doubleValue() > Переменная2.doubleValue()

Subprocess validation 4.png

Переменная подпроцесса "Переменная2" имеет значение по умолчанию

Subprocess validation 5.png


Если значение передаваемого в переменную "Переменная1" параметра меньше 100, то подпроцесс не будет запущен, а основной процесс будет остановлен с ошибкой

ru.runa.wfe.validation.ValidationException: Global: [Проверка данных не пройдена, передаваемое в подпроцесс значение должо быть больше 100], field: {}

Subprocess validation 6.png


Аналогично настраивается валидация параметров и для мультиподпроцессов. В случае если хотя бы один передаваемый параметр не пройдет валидацию, ни один экземпляр мультиподпроцесса запущен не будет.

Для внутреннего подпроцесса - композиции валидация при старте не поддерживается.