SubProcessValidationGuide

Материал из RunaWFE
Перейти к навигации Перейти к поиску

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

Версия 4.4.2

© 2015-2021, ООО "Процессные технологии", материалы этого документа распространяются свободно на условиях лицензии GNU FDL. RunaWFE Free является системой с открытым кодом и распространяется в соответствии с LGPL лицензией (http://www.gnu.org/licenses/lgpl.html).


В 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


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

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