Выполнение решений

Эта функция доступна только в редакции OpenBPM Control Enterprise.

OpenBPM Control позволяет выполнить таблицу решений DMN непосредственно из пользовательского интерфейса без запуска BPM-процесса.

Используйте этот режим, чтобы тестировать бизнес-правила на примерах входных данных, проверять поведение в рабочей среде или исследовать логику решений без создания технического процесса только для выполнения DMN.

Дополнительные сведения о DMN и выражениях FEEL см. в следующих материалах:

Открытие режима выполнения

Режим выполнения можно открыть из списка DMN → Decisions или из экрана деталей решения.

В списке Decisions нажмите действие Evaluate decision для нужного определения решения.

decision evaluate list action

OpenBPM Control откроет экран Evaluate decision для выбранного определения решения и версии.

decision evaluate list

Экран содержит:

  • Input variables - переменные, передаваемые для выполнения решения.

  • Output variables - значения, возвращенные сработавшими правилами решения.

  • Decision table - отрисованная DMN-таблица для визуального анализа.

  • XML - исходное XML-определение DMN.

  • Decision history - предыдущие экземпляры решения для выбранного определения решения.

Входные переменные

Перед выполнением добавьте переменные, которые ожидает таблица решений.

Переменные можно добавить вручную с помощью Add или определить их из DMN XML с помощью Add from DMN.

decision evaluate add from dmn

В диалоге Add variables from DMN XML отображается список найденных входных переменных. Выберите переменные, которые нужно добавить, и подтвердите выбор кнопкой Add.

decision evaluate add from dmn dialog

При добавлении переменных из DMN XML OpenBPM Control определяет входные переменные из следующих источников:

  • выражения FEEL, используемые во входном выражении каждого входа таблицы решений;

  • атрибут camunda:inputVariable, если входное выражение пустое;

  • выражения входных ячеек из каждого правила.

Если из входного выражения найдена только одна переменная, OpenBPM Control использует тип входа из DMN XML как тип переменной.

Если тип переменной невозможно определить из DMN XML, в диалоге по умолчанию используется тип String.

При добавлении переменных из DMN XML переменные с совпадающими именами заменяются.

На экране выполнения в диалоге Add variables from DMN XML поддерживаются только простые типы переменных. Переменные типов File, Object и Bytes недоступны.

Редактирование входных значений

После добавления переменных введите тестовые значения в колонке Value.

decision evaluate edit inputs

Формат значения должен соответствовать выбранному типу переменной. Например, для переменных типа Double можно вводить числовые значения, а для переменных типа String - обычный текст.

Если после успешного выполнения изменить входные переменные и не запустить выполнение повторно, OpenBPM Control пометит текущий результат как Outdated. Запустите выполнение еще раз, чтобы обновить выходные переменные и историю решений.

Запуск выполнения

Нажмите Evaluate, чтобы выполнить таблицу решений с текущими входными переменными.

decision evaluate run

OpenBPM Control отправляет входные переменные в подключенный BPM-движок и отображает результат выполнения на панели Output variables.

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

decision evaluate results history

После каждого выполнения:

  • вкладка Decision history открывается автоматически;

  • список экземпляров решений обновляется;

  • последний экземпляр решения появляется в таблице истории.

Анализ результатов выполнения

Откройте экземпляр решения, чтобы изучить обработанные входные и выходные значения вместе с таблицей решений.

Вкладка Inputs показывает переменные, использованные для выполнения, и подсвечивает в таблице сработавшее правило.

decision evaluate instance inputs

Вкладка Outputs показывает значения, возвращенные при выполнении.

decision evaluate instance outputs

Используйте этот экран, чтобы проверить, какое правило сработало, какие входные значения использовались и какие выходные значения были получены.