2.4.1. Дизайн процесса

В веб-интерфейсе запущенного приложения откройте экран Workflow -> Processes Design и нажмите Create. Введите имя дизайна процесса, например, Book scanning, и нажмите OK. Откроется новое окно браузера CUBA Workflow Designer.

Перетащите на рабочую панель узел Start, а затем узел Assignment. Соедините выход Start со входом Assignment. В узле Assignment задайте имя Approval и роль Manager. Нажмите кнопку + внутри узла Assignment для создания выхода и дайте ему имя Approve. Затем добавьте еще один выход - Deny. В результате во время выполнения процесса при переходе в состояние Approval пользователю с ролью Manager будет создано назначение. Процесс остановит выполнение и продолжит его, когда пользователь выберет один из выходов - Approve или Deny.

В случае отказа менеджера процесс должен перейти в состояние Disapproved и завершиться. Для регистрации этого состояния добавьте узел State с именем Disapproved и соедините его вход с выходом Deny узла Approval. Затем добавьте узел End и соедините его с выходом узла Disapproved. При выполнении процесс запишет состояние Disapproved в карточку (объект EBook) и, не останавливаясь, завершит выполнение.

На данном этапе должна получиться следующая схема:

Нажмите Save для сохранения промежуточных результатов редактирования.

Добавьте еще один узел Assignment и задайте для него имя Scanning и роль Operator. Добавьте выходы Success и Fail. Соедините вход Scanning с выходом Approve узла Approval. В результате во время выполнения при одобрении менеджером процесс перейдет в состояние Scanning, остановится и выдаст назначение пользователю с ролью Operator. Выполнение продолжится, когда пользователь завершит назначение, выбрав один из выходов.

Для регистрации финального состояния процесса добавьте два узла State с именами Done и Failed и соедините их с соответствующими выходами узла Scanning. Затем добавьте еще один узел End и соедините с ним выходы узлов Done и Failed.

В итоге схема должна приобрести следующий вид:

При успешном выполнении оцифровки оператор должен приложить к объекту файл с электронной версией. Для реализации этого добавим в процесс форму взаимодействия с пользователем.

Выберите узел Scanning, в правой панели дизайнера раскройте секцию Forms и нажмите Add. Установите следующие атрибуты:

  • Transition - имя выхода, при котором будет показана данная форма. Выберите значение Success.

  • Form - тип формы. Выберите значение Transition.

  • Hide Attachments - скрыть элементы выбора вложений. Оставьте в выключенном состоянии.

Вид правой панели дизайнера с параметрами формы:

Таким образом, при завершении назначения в направлении Success перед оператором возникнет диалоговая форма, в которой он сможет добавить вложения - файлы с с электронной версией книги.

Сохраните дизайн процесса и закройте окно браузера CUBA Workflow Designer.