Перейти к содержанию

Проверка статуса связанного рабочего объекта

Если рабочий процесс достаточно сложен, вы можете разбить его на несколько более простых. Например, процесс оформления командировки может быть разбит на несколько подпроцессов следующим образом:

  • Заявка на командировку – основной процесс.
  • Оформление командировочных документов – подпроцесс, содержащий шаги для оформления всех необходимых документов, заказа билетов, бронирования отеля и т.д.
  • Авансовый отчет - подпроцесс для создания и утверждения отчета о расходах в командировке.

Для того чтобы процессы запускались в нужном порядке, вам следует соединить их ссылками и задать правила проверки. Правила позволят проверять статус связанного процесса. Для получения необходимых данных от связанного пользовательского объекта воспользуйтесь следующим шаблоном выражения (все объекты, упоминаемые далее — пользовательские):

 $<Идентификатор _ссылочного_поля> -> <Идентификатор_поля_связанного_объекта>

где:

<Идентификатор _ссылочного_поля> - идентификатор поля в текущем объекте, ссылающегося на другой объект.

<Идентификатор_поля_связанного_объекта> - идентификатор поля объекта, на который ссылается текущий объект.

 

Для того чтобы связать процессы:

1. Предположим, что процессы для оформления командировки созданы и настроены. Перейдите рабочую область и выберите приложение Заявка на командировку.

2. Нажмите кнопку Поля.

3. Создайте поля Оформление командировочных документов (идентификатор: Travel_order) и Авансовый отчет (идентификатор: Expenses_report) ссылочного типа. Выберите приложения в качестве ссылок. Нажмите кнопку Сохранить.

4. Перейдите в раздел Форма и поместите созданные поля на форму процессной задачи. Сохраните изменения.

 

Чтобы задать правила проверки:

1. В приложении Заявка на командировку перейдите в раздел Рабочий процесс.

2. Выберите шаг процесса Заявка на командировку, к которому должны быть подготовлены все необходимые документы, а связанный процесс Оформление командировочных документов должен находиться в статусе Проверено руководителем (ID: wfstate.verifiedBoss).

3. Откройте переход, следующий за этим шагом.

4. Выберите пункт Правила проверки, нажмите Добавить правило.

5. Добавьте следующее выражение в редакторе:

 NOTEQUALS($Travel_order->workflowState, ID(""wfstate.verifiedBoss""))

6. Задайте имя для правила, а также добавьте сообщение проверки, которое будет выдаваться пользователю, если Оформление командировочных документов еще не завершено и не прошло проверку у руководителя. Нажмите кнопку Сохранить.

7. Вернитесь к схеме рабочего процесса и выберите шаг , к которому связанный процесс Авансовый отчет должен находиться в статусе Проверено руководителем (ID: wfstate.verifiedBoss). Выполните действия, описанные в шагах 3-6 выше и добавьте следующее выражение для авансового отчета:

 NOTEQUALS($Expenses_report->workflowState, ID(""wfstate.verifiedBoss""))

 

Для проверки работоспособности правила:

1. Создайте новые процессные задачи Заявка на командировку, Оформление командировочных документов и Авансовый отчет.

2. Соедините их при помощи ссылочных полей.

3. Переместите процессную задачу Заявка на командировку по рабочему процессу до требуемого шага или перехода.

4. При выполнении определенных переходов  сообщение проверки будет выдано в том случае, если связанная процессная задача не находится в шаге «Проверено руководителем».