Проверка качества данных на пользовательских фазах в бизнес-процессах
В бизнес-процессах есть возможность выполнять проверку правил качества на произвольных фазах перед каждой пользовательской задачей. Это позволяет гибко контролировать качество данных на разных этапах согласования и блокировать завершение задачи при обнаружении критических ошибок.
Общие сведения
Механизм работает следующим образом:
В BPMN-схему перед каждой пользовательской задачей добавляется сервисная задача.
В свойствах сервисной задачи указывается пользовательская фаза проверки качества данных. Она задается в разделе правил качества "Фазы выполнения".
При выполнении сервисной задачи:
Производится проверка данных на указанной фазе;
Результат проверки (успешно/неуспешно) сохраняется, фиксируется наличие критических ошибок;
Информация о проверке отображается в карточке пользовательской задачи.
При попытке завершить пользовательскую задачу система автоматически проверяет данные на этой же пользовательской фазе:
Если обнаружены критические ошибки - задача не завершается, пользователь видит сообщение об ошибке;
Если ошибок нет - задача завершается, фаза сбрасывается на значение по умолчанию
PROCESS.
На странице черновика кнопка Проверить также использует пользовательскую фазу, заданную в сервисной задаче (если она была проставлена), либо значения из системных параметров:
com.universe.mdm.dqw.quality.workflow.phase– для записей, которые проходят по бизнес-процессу;com.universe.mdm.dqw.quality.publishing.phase– для записей, публикуемых без бизнес-процесса.
Таким образом, можно организовать проверку качества на разных этапах процесса с разными наборами правил и с разной строгостью (блокирующие или информационные).
Подготовка бизнес-процесса
Чтобы создать и настроить процесс с проверкой на пользовательской фазе:
В разделе "Бизнес-процессы" включите режим черновика и создайте новый черновик процесса или откройте существующий.
На вкладке "Схема" добавьте необходимые элементы BPMN.
Добавьте сервисную задачу перед каждой пользовательской задачей, для которой требуется проверка качества.
Настройте сервисную задачу:
Выделите добавленную сервисную задачу.
В правой панели "Параметров" нажмите на
"Расширенная панель", выберите закладку "Ввод/Вывод" (Рисунок 1).Выберите из выпадающего списка нужную фазу (например, "BEFORE_APPROVAL", "AFTER_CORRECTION" и т.п.). Фаза должна быть предварительно создана в разделе "Качество данных" - "Фазы выполнения".
При необходимости укажите другие параметры задачи.
Пользовательская задача теперь автоматически получает слушатель завершения, который выполняет проверку качества на той же фазе перед закрытием задачи. Дополнительных настроек для пользовательской задачи не требуется.
При необходимости можно добавить несколько сервисных задач перед разными пользовательскими задачами, задав для каждой свою фазу проверки.
Завершите создание схемы, добавьте необходимые шлюзы, события, исполнителей.
Сохраните черновик бизнес-процесса.
Сценарии использования
Сценарий 1. Проверка с блокировкой при ошибках
Если на фазе настроены правила с критическими ошибками, пользователь не сможет завершить задачу до тех пор, пока ошибки не будут устранены. Это гарантирует, что данные, прошедшие этап, соответствуют установленным требованиям.
Сценарий 2. Проверка без блокировки
Если правила на фазе не содержат критических ошибок (только информационные или предупреждения), проверка выполняется, но не препятствует завершению задачи. Пользователь видит информацию о наличии ошибок, но может продолжить процесс.
Сценарий 3. Несколько фаз проверки на разных этапах
В одном процессе можно задать разные фазы для разных сервисных задач. Например:
Перед первым согласованием проверка полноты заполнения;
Перед финальным утверждением проверка соответствия стандартам.
Каждая пользовательская задача будет отображать результаты проверки, относящиеся к своей фазе.
Проверка в черновике
На странице черновика записи в карточке данных, кнопка "Проверить" учитывает фазу, которая задана в бизнес-процессе:
Если запись находится в процессе, и перед текущей пользовательской задачей была выполнена сервисная задача с фазой, то проверка в черновике будет выполняться на этой же фазе.
Если процесс еще не дошел до такой задачи, используется значение параметра
com.universe.mdm.dqw.quality.workflow.phase.Для записей, которые не участвуют в бизнес-процессе, используется параметр
com.universe.mdm.dqw.quality.publishing.phase.
Это позволяет пользователю видеть ошибки, которые возникнут при завершении задачи.
Рисунок 1 - Пример выставления фазы у сервисной задачи

