Перейти к основному содержимому
Версия: 1.23.3

Рабочие процессы

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

Рабочий процесс – логическая последовательность действий, описывающая процесс. Он состоит их следующих частей:

  • Свойства – общие сведения и настройки рабочего процесса, такие как его название, таблица, на которой он работает, условия начала выполнения процесса, описание рабочего процесса.
  • Версии – записи созданных рабочих процессов. Все версии хранятся в таблице Версии процессов (wf_workflow_version).
  • Действия – отдельные блоки рабочего процесса, организованные в определенном порядке и выполняемых рабочим процессом (например, изменение значения того или иного поля).
  • Выходы из действий – условия, которые должны быть выполнены для выбора того или иного перехода.
  • Переходы – соединения между выходом одного действия и следующим действием.
  • Контексты – информация о каждом случае выполнения рабочего процесса, которая хранится в таблице Контекст рабочего процесса (wf_context).

Жизненный цикл рабочего процесса

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

После начального события, рабочий процесс выполняет действия, одно за другим в соответствии с определенными переходами. Как правило, у действия несколько переходов – путь выбирается в зависимости от исхода события.

В рамках действия, рабочий процесс выполняет следующие шаги:

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

Состояния рабочего процесса

Как правило, рабочий процесс может находиться в одном из двух состояний:

  • Заблокировано – для редактирования новых или существующих рабочих процессов.
  • Опубликован – для законченных рабочих процессов, готовых к выполнению; законченные, но не опубликованные рабочие процессы неактивны и не работают.

Заблокировано


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

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

  1. Откройте необходимый процесс в редакторе рабочих процессов.
  2. Откройте бургер-меню .
  3. Нажмите Редактировать.

Опубликован


Когда настройка рабочего процесса завершена и процесс готов к исполнению, переведите его в состояние Опубликован. После этого, пользователи не смогут редактировать рабочий процесс, пока он снова не будет переведен в состояние Заблокировано.

Чтобы опубликовать рабочий процесс, выполните следующие действия:

  1. Откройте необходимый процесс в редакторе рабочих процессов.
  2. Откройте бургер-меню .
  3. Нажмите Опубликовать.
внимание

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

Версии рабочего процесса

При создании или изменении рабочего процесса создается новая запись в таблице Версии процессов (wf_workflow_version). Процесс описан ниже:

  1. После создания нового рабочего процесса (версия 1) создается новая запись в таблице Версии процессов (wf_workflow_version). У этой записи флажок Заблокировано выбран, а флажок Опубликован снят.
  2. После публикации рабочего процесса, у записи версии процесса флажок Заблокировано снят, а флажок Опубликован выбран.
  3. При редактировании рабочего процесса, происходит следующее:
    1. Копия (версия 2) существующего рабочего процесса создается как новая запись в таблице Версии процессов (wf_workflow_version). У этой записи флажок Заблокировано выбран, а флажок Опубликован снят.
    2. Существующий рабочий процесс не затрагивается.
  4. После публикации версии 2 рабочего процесса происходит следующее:
    1. Исходный рабочий процесс (версия 1) перемещается в архив рабочих процессов (теперь его флажки Заблокировано и Опубликован сняты).
    2. Теперь активна версия 2 рабочего процесса.

Контексты рабочих процессов

Ход выполнения рабочих процессов отражается в таблице контекстов. Чтобы посмотреть список активных контекстов, перейдите в Рабочие процессы → Активные контексты. Чтобы посмотреть список всех контекстов, перейдите в Рабочие процессы → Все контексты. Просматривая контексты в таблице Контекст рабочего процесса (wf_workflow_version), вы можете получить более полное представление о выполнении блоков рабочих процессов. На форме контекста отображаются следующие поля:

ПолеОписание
НаименованиеНаименование рабочего процесса.
Версия процессаСвязанная запись версии рабочего процесса.
ТаблицаТаблица, на которой используется рабочий процесс.
Связанная записьСсылка на целевую запись.
ЗаметкиСодержимое объекта scratchpad, используемого в скриптах рабочих процессов.
СтатусТекущий статус контекста. Возможные варианты:
  • Ожидает события – рабочий процесс был запущен, но выполнение приостановлено до наступления соответствующего события (действия и скрипты не выполняются в данный момент). Контекст принимает этот статус, например, когда для продолжения рабочего процесса должно быть выполнено некоторое условие. Контекст может перейти в этот статус только если не находится в статусах Ошибка, Завершен, Отменен.
  • Выполняется – рабочий процесс выполняется в данный момент. У одной записи может быть только один активный контекст рабочего процесса. Исключением являются подпроцессы, для которых также создается отдельный контекст. Если контекст рабочего процесса или подпроцесса, связанный с записью, находится в состоянии Выполняется, иные попытки запустить рабочий процесс для записи игнорируются.
  • Ошибка – контекст завершился с ошибкой, стал неактивным и более не может быть запущен. Вы можете увидеть текст ошибки в поле Результат или в таблице Журнал исключений (sys_log_exception).
  • Завершен – контекст успешно завершился (дошел до действия End), стал неактивным и более не может быть запущен.
  • Отменен – контекст был отменен, стал неактивным и более не может быть запущен. Вы можете отменить контекст с помощью метода SimpleWorkflow.cancel(). Контекст автоматически отменяется при удалении целевой записи. Все незавершенные действия (действия в статусах В обработке, В ожидании) переходят в статус Отменена.
СрокСрок завершения контекста.
Запущено вДата и время запуска контекста.
Окончено вДата и время завершения контекста.
Кем запущеноИнициатор контекста.

Форма контекста также содержит связанный список Исполняемые активности. Порядок исполнения действий контекста отражен в колонке Порядок выполнения:

Контекст исполнения рабочего процесса можно также увидеть в графическом представлении. Чтобы сделать это, откройте форму записи, для которой был создан контекст, и нажмите Показать рабочий процесс:

Пример графического представления рабочего процесса показан на следующем скриншоте:

примечание
  • Статус рабочего процесса, а также дата и время его начала и завершения показаны в правом нижнем углу.
  • Используйте колесо мыши или элементы управления увеличением в левом нижнем углу, чтобы перемещаться по холсту.
  • Двойным щелчком по блоку или выходу можно открыть боковую панель, в которой указаны их свойства и информация.