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

Введение в визуальный редактор процессов

В данном разделе представлена информация о возможностях визуального редактора процессов.

Редактор процесса можно разделить на 4 основных элемента:

  • Панель с кнопками редактора (1) - на данной панели отображаются все доступные кнопки редактора (например, Сохранить, Обновить, Заблокировать на редактирование и т.д.).
  • Панель с действиями (2) - на данной панели отображаются все доступные действия.
  • Макет процесса (3) - область, где происходит визуальное отображение процесса. Состоит из узлов, связей между ними и добавленными на макет дополнительными визуальными объектами (например, подписи).
  • Редактор объекта (4) - данный редактор представляет из себя панель, открывающуюся поверх макета процесса при выборе редактируемого элемента (узла, связи) или при нажатии на кнопку Настройки процесса. Данная панель также может быть закрыта с помощью соответствующей кнопки на верхней правой части панели.

Панель с кнопками редактора

На данной панели располагаются все доступные пользователю кнопки для управления редактором процесса.

На панели расположены следующие кнопки:

  • Сохранить процесс - осуществляет сохранение версии процесса. Кнопка доступна, когда процесс заблокирован на редактирование или еще не был сохранен на сервере. Также можно использовать горячие клавиши Ctrl+S.
  • Обновить процесс - производит обновление версии процесса и редактора. Кнопка доступна, когда процесс уже был сохранен на сервере. Также можно использовать горячие клавиши F5.
  • Заблокировать процесс для редактирования - производит блокировку версии процесса на редактирование.
  • Разблокировать процесс - производит снятие блокировки на редактирование с версии процесса.
  • Отменить - производит отмену последнего изменения, производимого над макетом редактора. Также можно использовать горячие клавиши Ctrl+Z.
  • Вернуть - производит возврат последнего отмененного изменения над макетом редактора. Также можно использовать горячие клавиши Ctrl+Y.
  • Настройки процесса - производит открытие на панели Редактор объекта формы для редактирования настроек процесса (см. Редактор процесса).

Следующие кнопки расположены только в меню системы:

  • Экспортировать процесс - производит формирование файла в формате JSON, затем выгрузку его. Также можно использовать горячие клавиши Ctrl+E.
  • Импортировать процесс — производит загрузку сохранённого ранее процесса в текущую систему.
  • Открыть карточку шаблона - производит открытие карточки шаблона данного бизнес-процесса в новой вкладке системы.
  • Помощь - производит открытие руководства разработчика бизнес-процесса. По умолчанию открывается ссылка на руководство на сайте. Ее можно переопределить путем переопределения строки локализации WorkflowEngine_ManualLink в библиотеке локализации проекта. Также можно использовать горячую клавишу F1.

Панель с действиями

На данной панели отображаются все доступные действия.

Добавить действие на макет процесса можно несколькими способами:

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

Important

Добавление узлов доступно, когда процесс заблокирован на редактирование.

В рамках решения можно разрабатывать свои типы действий. Пример того как сделать можно посмотреть в разделе Создание собственных действий.

Макет процесса

Макет процесса - это область, где происходит визуальное отображение процесса.

Макет процесса поддерживает работу с историей изменений, производимых в макете процесса. С помощью сочетания клавиш Ctrl+Z можно отменить последнее изменение, а Ctrl+Y вернуть последнее отмененное изменение.

Note

Отменять и возвращать можно любые изменения, произведенные в редакторе шаблона процесса, например, добавление узла/связи/подписи, перемещение элемента на макете, изменение размера узла, изменение иконки узла, описание и т.д.

У макета процесса есть контекстное меню, которое разрешает производить следующие действия:

  • Вставить - производит вставку скопированного узла на макет.
  • Добавить надпись - производит вставку подписи.

Important

Изменять, добавлять или удалять объекты процесса можно только при наличии блокировки на редактирование процесса.

На макете можно выделить следующие элементы:

Узел

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

Визуальные особенности

  • Если в ходе работы процесса узел может содержать несколько экземпляров, это визуально отображается на узле.

  • Если для узла настроены подписки по умолчанию, то цвет данного узла в редакторе шаблона становится зеленым.

Действия над узлами

  • Добавление узла

    • Добавить новый узел можно из панели действий, просто нажав по действию, с которым будет создан новый узел. В такой ситуации узел добавится в верхний левый угол открытой области макета.
    • Добавить новый узел можно путем перетаскивания в область макета действия из панели с действиями. Узел добавится в выбранную область непосредственно на макет. Если действие добавляется к существующем узлу, новый узел создан не будет.
    • Любой узел можно скопировать. Для этого нужно открыть контекстное меню узла и выбрать пункт Копировать или выбрать узел и нажать на сочетание клавиш Ctrl+C. Для добавления узла необходимо нажать правой кнопкой мыши на макете или стрелке и в контекстном меню выбрать пункт Вставить (горячая клавиша Ctrl+V) или Вставить в связь соответственно. Узел будет добавлен в позицию нажатой правой кнопки мыши.

    Important

    Вставить в связь можно только один узел.

  • Выбор узла

    • Выбрать узел можно простым нажатием на него, при этом откроется редактор узла.
    • С помощью зажатой клавиши Ctrl можно выбирать несколько узлов одновременно. При выборе нескольких объектов сразу редактор узла не отображается.
    • С помощью зажатой клавиши Shift при нажатии по пустому месту на макете можно осуществить массовый выбор узлов в области.
    • Путем нажатия сочетания клавиш Ctrl+A можно выделить все узлы процесса.
  • Изменение узла

    • Для изменения размера узла необходимо сначала выбрать узел, затем потянуть за появившиеся уголки либо поднести курсор к краю узла и потянуть. По умолчанию размер меняется ступенчато по полклетки. Если необходимо изменять размер попиксельно, необходимо зажать клавишу Shift.
    • Если нажать на узел и зажать левую кнопку мыши, то его можно переместить. Также можно перемещать несколько выбранных узлов. По умолчанию перемещение узлов производится ступенчато по полклетки. Если необходимо установить позицию узлов попиксельно, необходимо зажать клавишу Shift.
    • Иконку и подпись узла можно изменить через редактор узла.
    • К узлам могут быть добавлены подписи. Для добавления подписи необходимо открыть контекстное меню узла и выбрать пункт Добавить подпись.
  • Добавление связи

    • Чтобы добавить связь нужно выбрать узел, затем потянуть за точки, расположенные по центру выделения, к другому узлу.
  • Удаление узла

    • Чтобы удалить узел нужно выбрать его, затем вызвать контекстное меню и нажать кнопку Удалить.
    • Можно выбрать один или несколько узлов и нажать на кнопку Delete на клавиатуре.

Более подробно о настройках узла можно посмотреть в разделе Редактор узла.

Связь

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

Визуальные особенности

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

Действия над связью

  • Добавление связи

    • Чтобы добавить связь нужно выбрать узел, затем потянуть за точки, расположенные по центру выделения, к другому узлу.
  • Выбор связи

    • Выбрать связь можно простым нажатием на нее, при этом откроется редактор связи.
    • С помощью зажатой клавиши Ctrl можно выбирать несколько связей одновременно. При выборе нескольких объектов сразу редактор связи не отображается.
  • Изменение связи

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

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

    • Открыть контекстное меню стрелки и выбрать пункт Автоматический расчет позиции подписи. Этот пункт переключает режим с одного на другой.
    • Переместить вручную подпись к стрелке. При перемещении отключается режим автоматического расчета позиции подписи.
    • Переместить вручную якорь. Это отключит режим автоматического расчета позиции подписи.
  • Изменение текста подписи - текст подписи изменяется через редактор связи.

  • Удаление связи

    • Чтобы удалить связь нужно выбрать одну или несколько связей и нажать на кнопку Delete на клавиатуре.
    • Также удалить связь можно соответствующей кнопкой контекстного меню связи.

Более подробно о настройках связи можно посмотреть в разделе Редактор связи.

Подпись

Подпись - это текст, добавленный на макет. Подпись может быть связана с узлом.

Подписи могут иметь в качестве текста одну или несколько констант локализации. Для добавления нескольких констант локализации следует каждую константу обрамлять в фигурные скобки. Например:
{$Text1} текст без локализации {$Text2}.

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

Редактор объекта

Редактор объекта - это внутренняя панель редактора процесса, в которой отображается форма редактирования выбранного объекта (процесса, узла, связи или действия). Для каждого вида объекта предусмотрена своя форма для редактирования. Панель можно закрыть с помощью кнопки X либо нажатием по свободной области макета процесса. Вернуться на форму предыдущего объекта можно с помощью кнопки ←, актуально для редактора действий.

Редактор процесса

Редактор процесса открывается по нажатию кнопки Настройки процесса на панели с кнопками редактора.

В редакторе процесса присутствует следующие параметры и кнопки:

  • Имя - имя процесса, которое используется в качестве имени экземпляра процесса. В нём могут использоваться плейсхолдеры.
  • Описание - текстовое описание процесса.
  • Уровень логирования - определяет уровень логирования, который будет установлен для экземпляров процесса при их создании.
  • Редактировать параметры процесса - кнопка, открывает редактор параметров для процесса. Про редактор параметров можно посмотреть в разделе Редактор параметров.
  • Выполнить компиляцию - кнопка, производит компиляции скриптов процесса, всех узлов, связей и действий. В случае, если возникли ошибки компиляции, они отобразятся в диалоговом окне.
  • Обновить действия процесса - кнопка, производящая обновление версий всех действий текущего шаблона бизнес-процесса.
  • Базовый класс процесса - определяет класс, который будет являться базовым для всех компилируемых объектов процесса. Его свойства и методы могут использоваться во всех скриптах и условиях процесса. Подробнее описано в разделе Создание кастомного базового класса процесса.
  • Основной скрипт процесса - скрипт на языке C#, который может быть использован в любом месте процесса.

    Example

    protected void AddReworkComent(CardTask task) { var section = task.Card.Sections.GetOrAdd("WfResolutions"); string comment = section.RawFields.TryGet<string>("Comment");

    Process.ReworkComment = (string)Process.ReworkComment + (!string.IsNullOrEmpty(comment) ? string.Format("{0} ({1}): {2}\n", task.UserName , DateTime.Now, comment) : string.Format("{0} ({1})\n", task.UserName , DateTime.Now));

    Process.NeedRework = true; }

    protected void InitApprovement() { Process.ReworkComment = null; Process.NeedRework = false; }

Редактор узла

Редактор узла открывается при выборе узла.

В редакторе узла присутствует следующие параметры и кнопки:

  • Имя - уникальное в рамках процесса имя узла.
  • Заголовок - отображаемый на самом узле заголовок. Поддерживает строки локализации.
  • Описание - текстовое описание узла.
  • Иконка - иконка, которая отображается на узле.
  • Редактировать параметры узла - кнопка, открывает редактор параметров для узла. Про редактор параметров можно посмотреть в разделе Редактор параметров.
  • Выполнить компиляцию - кнопка, производит компиляции скриптов всех действий узла. В случае, если возникли ошибки компиляции, они отобразятся в диалоговом окне.
  • Подписки узла по умолчанию - определяет список типов сигналов, на которые подписывается данный узел при запуске процесса.
  • Действия - таблица со списком всех действий узла. Можно изменять порядок действий в узле или удалять действия. При удалении последнего действия, узел удалится вместе с ним. Для открытия редактора действия необходимо дважды щелкнуть курсором по строке таблицы. Из данной таблицы также можно копировать одно или несколько действий. Для этого нужно выделить строки с действиями, которые нужно копировать, открыть контекстное меню и нажать Копировать или нажать на сочетание клавиш Ctrl+C.
  • Входящие связи - список связей, входящих в данный узел. При двойном клике по строке таблицы откроется форма для редактирования параметров связи, относящихся к переходу в данный узел. Более подробно о параметрах можно посмотреть в разделе Редактор связи.
  • Исходящие связи - список связей, исходящих из данного узла. При двойном клике по строке таблицы откроется форма для редактирования параметров связи, относящихся к выходу из данного узла. Более подробно о параметрах можно посмотреть в разделе Редактор связи.

Редактор связи

Редактор связи открывается при выборе связи.

В редакторе связи присутствует следующие параметры и кнопки:

  • Имя - уникальное в рамках процесса имя связи.
  • Заголовок - текст отображаемой на стрелке подписи. Поддерживает локализацию.
  • Выполнить компиляцию - проверить код на наличие ошибок. В случае, если возникли ошибки компиляции, они отобразятся в диалоговом окне.
  • Режим перехода - определяет режим создания экземпляра узла при переходе по данной связи.
    Может иметь одно из трех значений:

    • Создать экземпляр узла, если его нет - при переходе сигнала в узел по данной связи, если для данного узла еще нет активных экземпляров узла, то создается новый экземпляр и для него выполняется обработка, иначе сигнал отправляется на все активные экземпляры узла.
    • Всегда создавать экземпляр узла - при переходе сигнала в узел по данной связи, всегда будет создаваться новый экземпляр узла и для него будет выполняться обработка сигнала. Исключением являются только узлы, которые содержат действия, для которых не допустимо существование нескольких активных экземпляров узла.
    • Никогда не создавать экземпляр узла - при переходе сигнала в узел по данной связи, если для данного узла еще нет активных экземпляров узла, то обработка данного сигнала прерывается, иначе сигнал отправляется на все активные экземпляры узла.
  • Режим обработки сигнала - определяет режим обработки сигнала, который будет отправлен через данную связь.
    Может иметь одно из трех значений:

    • По умолчанию - обработка сигнала будет производиться в текущем контексте обработки процесса.
    • Асинхронный - обработка сигнала будет производиться асинхронно на Chronos.
    • После загрузки файлов - обработка сигнала будет производиться после сохранения контента файлов при сохранении карточки с файлом, или в текущем контексте, если нет сохраняемой карточки или у карточки нет сохраняемых файлов.
  • Блокировать процесс при асинхронном вызове - флаг, который определяет, нужно ли блокировать процесс при асинхронной обработке и обработке после загрузки файлов. По умолчанию установлен. При синхронной обработке процесс блокируется автоматически.

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

    Note

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

  • Объект синхронизации - определяет ключ, по которому будет выполняться синхронизация асинхронной обработки сигнала. Доступен для редактирования только при установленном флаге Синхронизировать обработку сигнала при асинхронной обработке. По умолчанию в качестве ключа устанавливается значение Lock_******, где на место звёздочек подставляется первые 6 символов идентификатора шаблона процесса.

  • Условие выхода из узла

    • Условие - условие на языке C#. Условие выполняется в контексте узла, из которого происходит переход. Если условие не выполнено, то переход по данной связи не осуществляется.
    • Описание условия - текстовое описание условия.
  • Условие входа в узел

    • Условие - условие на языке C#. Условие выполняется в контексте узла, в который происходит переход. Если условие не выполнено, то переход по данной связи не осуществляется.
    • Описание условия - текстовое описание условия.

Tip

По умолчанию условия пишутся в упрощенном режиме, в котором нужно написать просто результат.

Например:

SignalObject.Type == "SomeType"

С помощью директивы #script можно переключить режим написания условия в режим скрипта. Тогда в условие пишется как обычный метод C#, который должен возвращать значение типа bool.

Например:

#script var signalType = SignalObject.Type;

return signalType == "SomeType";

Редактор действия

Редактор действия открывается из редактора узла. В редакторе действия доступна кнопка ←, при нажатии которой открывается редактор узла.

Редактор действия имеет различный набор параметров, в зависимости от редактируемого действия.

Редактор действия Задание:

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

  • Имя - уникальное в рамках узла имя действия.
  • Редактировать параметры действия - кнопка, открывает редактор параметров для действия. Все настройки, которые доступны для определенных типов действий, записываются в параметры действия. Про редактор параметров можно посмотреть в разделе Редактор параметров.
  • Выполнить компиляцию - кнопка, производит компиляции скриптов действия. В случае, если возникли ошибки компиляции, они отобразятся в диалоговом окне.
  • Список обрабатываемых сигналов - список типов сигналов, при получении которых действие должно производить обработку. Если не задано, действие выполняется на любой тип сигнала.
  • Предобработка - скрипт на языке C#, который выполняется перед самим действием. Допускает отмену выполнения конкретного действия путем задания свойства Cancel.
  • Постобработка - скрипт на языке C#, который выполняется после выполнения действия. Допускает отмену дальнейшей обработки последующих действий узла путем задания свойства Cancel.
  • Выполнять на любой сигнал - пред-/ постобработка будет выполняться вне зависимости от типа полученного сигнала.

Редактор параметров

Редактор параметров открывается при нажатии соответствующей кнопки в редакторах процесса, узла или действия.

Редактор параметров служит для ручного создания и изменения параметров процесса, узла или действия.

Работа с параметрами

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

Задать параметры можно несколькими способами:

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

    1. Нажать кнопку + Добавить, если требуется создать новый параметр.
    2. Задать название параметра в поле Название.
    3. В поле Тип, выбрать нужный тип параметра из выпадающего списка. Для этого необходимо нажать дважды по полю, для перехода его в активное состояние.
    4. Заполнить поле Значение. Для этого необходимо нажать дважды по полю, для перехода его в активное состояние.

      Node

      Значение параметра типа Да/Нет всегда активно для изменения.

    5. Нажать кнопку Сохранить.

    Для удаления параметра необходимо выделить его, затем нажать кнопку Удалить, а после сохранить изменения.

Типы параметров

Параметры редактора поддерживают следующие типы данных:

  • Да/Нет - значение типа boolean.
  • Строка - значение типа string.
  • Вещественное число - значение типа double.
  • Десятичное число - значение типа decimal.
  • Целое число - значение типа int.
  • Идентификатор - значение типа Guid.
  • Дата/Время - значение типа DateTime.
  • Объект (хеш-таблица) - сложный объект, хранящий другие параметры внутри себя в виде пар ключ-значение.
    Может использовать типы объектов, описанные в настройках конструктора процесса.
    При выборе типа объекта его значение можно задать путем выбора значения в выпадающем списке с типами (роль, сотрудник, контрагент).
  • Список - сложный объект, хранящий другие параметры внутри себя в виде списка.
    Может использовать типы объектов, описанные в настройках конструктора процесса.
    Тип значения выбирается при редактировании списка. Но можно делать и комбинированные списки, т.е. с объектами разных типов, меняя тип конкретному значению в списке.

Форма для создания привязки

Эта форма используется для создания и изменения привязки параметра к выбранному источнику данных. Привязка параметров используется для возможности вынесения настроек действия из параметров действия в некий другой источник данных.

Поддерживаются следующие источники данных для параметров действия:

  • Параметры процесса
  • Параметры узла, к которому относится действие
  • Параметры самого действия
  • Параметры сигнала
  • Поле/секция карточки
  • Данные сессии
  • Поле/секция задания (или заданий)
  • SQL-запрос
  • Представление

Example

Можно указать роль Руководитель в параметре процесса ManagerRole, и использовать во всех действиях типа Задание, где необходимо отправить задание на роль Руководитель.

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

В форме отображаются следующие настройки:

  • Выбранный параметр - показывает текущий выбранный параметр.
  • Тип привязки - определяет текущий тип привязки. Для каждого типа используется свой редактор для создания привязки. При смене типа привязки текущая привязка очищается.
  • Новый параметр - поле, в котором указывается название параметра.
  • Создать - кнопка, которая создает новый параметр.
  • Создать и заполнить - кнопка, которая позволяет создать параметр и присвоить ему значение.
  • Редактор привязки - редактор, соответствующий текущему выбранному типу привязки. По умолчанию представлен в виде таблицы, для отображения в формате JSON необходимо нажать соответствующую кнопку под таблицей.
  • Ок - кнопка, которая сохраняет настроенную привязку в качестве значения.
  • Отмена - кнопка, которая производит отмену изменений, внесенных в привязку.

В зависимости от выбранного типа привязки отображается тот или иной редактор.

Параметры процесса, узла, действия и сигнала

Привязка к параметрам другого объекта подразумевает, что при получении значения по привязке будет производиться взятие параметра из этого объекта по заданному в привязке пути.

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

Редактор для данных типов привязки выглядит следующим образом:

Редактор имеет следующие настройки:

  • Выбранный параметр - полный путь к создаваемому в дереве параметров элементу. Поле заполняется системой автоматически.
  • Новый параметр - используется для создания нового параметра для параметров Действия, Узла и Процесса, или полем для ввода параметра для параметров Сигнала.
  • Создать - создает параметр, по пути, указанному в поле Новый параметр, и делает его выбранным. Если параметр уже создан, то делает его выбранным, если тип данных параметра подходит для настраиваемого поля.
  • Создать и заполнить - делать тоже самое, что и кнопка Создать, но также позволяет сразу выбрать значение для привязываемого поля. После выбора значения, закрывает форму привязки параметра. Недоступно для типа привязки Параметры сигнала.
  • Редактор параметров - редактор параметров, из которого можно выбрать нужный параметр. Недоступен для типа привязки Параметры сигнала.

Карточка

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

При настройке привязки с данным типом, редактор выглядит следующим образом:

Редактор имеет следующие настройки:

  • Тип карточки - позволяет выбрать тип карточки, структуру которой мы хотим увидеть в редакторе параметров для выбора значения.
  • Секция - секция задания, которое используется для получения значения привязки.
  • Поле - колонки секции, которые используются для получения значения привязки.

Сессия

Привязка к сессии подразумевает использование данных из токена сессии, с которым происходит обращение к сервису.

При настройке привязки с данным типом необходимо заполнить следующее поле:

  • Свойство сессии - свойство сессии, которое используется для получения значения привязки.

Задание

Привязка к заданию подразумевает использование значения из обрабатываемого в контексте выполнения задания (или заданий) при получении значения по привязке.

При настройке привязки с данным типом, редактор выглядит следующим образом:

Редактор имеет следующие настройки:

  • Тип задания - позволяет выбрать тип карточки задания, структуру которой мы хотим увидеть в редакторе параметров для выбора значения.
  • Секция - секция задания, которое используется для получения значения привязки.
  • Поле - колонки секции, которые используются для получения значения привязки.
  • Свойство задания - свойство задания, которое используется для получения значения привязки.
  • Фильтры - блок определяет фильтры для определения задания из контекста обработки процесса.

    • Новые задания - для получения значения могут использоваться новые задания. Задания считается новым, если его State соответствует CardRowState.Inserted.
    • Завершенные задания - для получения значения могут использоваться завершенные задания. Задания считается завершенным, если его State соответствует CardRowState.Deleted или CardRowState.Modified, а Action соответствует CardTaskAction.Complete.
    • Измененные задания - для получения значения могут использоваться измененные задания. Задания считается измененным, если его State соответствует CardRowState.Deleted или CardRowState.Modified, или в задании происходит изменение хотя бы одного из его атрибутов (Digest, Author и т.д.), а Action отличен от CardTaskAction.Complete.
    • Удалить дубликаты - установка данного флага определяет, что из полученного по привязке результата должны быть удалены дубли. Данная настройка доступна только при привязке списка значений.
    • Только первое задание - установка данного флага определяет, что для получения данных из привязки должно использоваться только первое задание, удовлетворяющее настройкам фильтрации. Данная настройка доступна только при привязке списка значений, при привязке единичного значения данный флаг всегда установлен.

SQL-значение

Привязка к SQL-значению подразумевает, что значение привязки будет взято из результата заданного SQL-запроса.

При настройке привязки с данным типом, редактор выглядит следующим образом:

В редакторе есть подсказка, какие значения должен возвращать запрос, сколько строк ожидается от данного запроса и какие параметры можно в нем использовать.

В редакторе заполняется SQL-запрос, который используется для получения значения привязки.

Important

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

Представление

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

При настройке привязки с данным типом, редактор выглядит следующим образом:

Редактор имеет следующие настройки:

  • Представление - представление, которое используется для получения данных.
  • Колонка/Ссылочное значение - колонка из списка колонок при создании привязки для получения значения простого типа (строка, число, дата и т.д.) или ссылочное значение (reference в представлении) из списка всех ссылочных значений при создании привязки для получения значения сложного типа или списка.
  • Параметр для ID карточки - параметр представления, который используется для передачи идентификатора обрабатываемой карточки.

Редактирование экземпляра процесса

Редактор экземпляра процесса внешне практически не отличается от редактора шаблона процесса, однако сильно отличается его возможностями.

Окно редактора экземпляра процесса можно разделить на 3 основных элемента:

  • Панель с кнопками редактора (1) - на данной панели отображаются все доступные кнопки редактора экземпляра процесса. Отличие от панели кнопок редактора шаблона только в наборе самих кнопок:

    • Сохранить процесс - сохраняет изменения экземпляра процесса. Доступно только при наличии доступа на редактирование экземпляра процесса.
    • Обновить - производит обновление экземпляра процесса.
    • Возобновить процесс - осуществляет возобновление асинхронных операций процесса, которые упали с ошибкой. Доступно только при наличии доступа на редактирование экземпляра процесса. Подробнее про возобновление процесса написано в разделе Отладка экземпляров процесса.
    • Открыть шаблон процесса - осуществляет открытие шаблона процесса. Открывается версия процесса, которой соответствует данный экземпляр (может отличаться от версии по умолчанию). Доступно только при наличии доступа на редактирование экземпляра процесса.
    • Открыть карточку - открывает карточку, к которой относится текущий процесс.
    • Отменить - производит отмену последнего изменения, производимого над макетом редактора. Также можно использовать горячие клавиши Ctrl+Z.
    • Вернуть - производит возврат последнего отмененного изменения над макетом редактора. Также можно использовать горячие клавиши Ctrl+Y.
    • Показать логи процесса - открывает представление со всеми логами процесса. Доступно только при наличии доступа на редактирование экземпляра процесса.
    • Настройки процесса - открывает редактор экземпляра процесса.
  • Макет процесса (2) - область, где происходит визуальное отображение экземпляра процесса. Состоит из узлов, связей между ними и добавленными на макет дополнительными визуальными объектами, например, подписи.

  • Редактор объекта (3) - данный редактор представляет из себя панель, открывающуюся поверх макета процесса при выборе редактируемого элемента (узла, связи) или при нажатии на кнопку Настройки процесса. Данная панель также может быть закрыта или свёрнута с помощью соответствующих кнопок на верхней правой части панели.

Отличия макета экземпляра от шаблона

При редактировании экземпляра узла макет имеет два основных отличия:

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

Изменение редактора узла

При редактировании экземпляра процесса в редактор узла добавляется таблица Экземпляры узла. При двойном щелчке (мыши) по строке открывается редактор экземпляра узла.

Редактор экземпляра процесса

Редактор экземпляра процесса открывается по кнопке Настройки процесса из панели с кнопками редактора.

В редакторе экземпляра процесса присутствует следующие настройки:

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

    • Открыть карточку ошибки - открывает карточку выбранной ошибки в клиенте. Можно также открыть двойным щелчком (мыши) по строке таблицы.
    • Повторить отправку сигнала - производит открытие редактора сигнала для возможности повторной отправки сигнала, который обрабатывался при возникновении ошибки.
    • Сбросить отображение ошибки - сбрасывает отображение ошибки на макете.

Редактор экземпляра узла

Редактор экземпляра узла открывается по двойному щелчку (мыши) по строке таблицы Экземпляры узла в редакторе узла.

Редактор экземпляра узла имеет следующие параметры, кнопки и таблицы:

  • Имя - показывает имя узла, по которому создан экземпляр.
  • Заголовок - показывает заголовок узла, по которому создан экземпляр.
  • Редактировать параметры узла - кнопка, открывает редактор параметров для экземпляра узла.
  • Действия - таблица со списком всех экземпляров действий данного экземпляра узла. По двойному щелчку (мыши) по строке таблицы открывается редактор экземпляра действия.
  • Задания - таблица, в которой отображаются все активные задания, созданные действиями из данного экземпляра узла. При двойном щелчке (мыши) по строке таблицы открывается форма с более подробной информацией о задании.
    Таблица имеет кнопки для управления выбранными заданиями. Более подробно о данном функционале написано в разделе Отладка экземпляра процесса.
  • Подпроцессы - таблица, в которой отображаются все активные подпроцессы, созданные действиями из данного экземпляра узла. При двойном щелчке (мыши) по строке таблицы открывается редактор подпроцесса.
    Таблица имеет кнопки для управления выбранными подпроцессами. Более подробно о данном функционале написано в разделе Отладка экземпляра процесса.

Редактор экземпляра действия

Редактор действия открывается из редактора экземпляра узла. В редакторе экземпляра действия доступна кнопка Назад, при нажатии которой открывается редактор экземпляра узла.

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

В общий для всех редакторов экземпляров действий входит следующий набор параметров и кнопок:

  • Имя - уникальное в рамках узла имя действия.
  • Редактировать параметры действия - кнопка, открывает редактор параметров для экземпляра действия.
Back to top