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

Описание действий из группы “Маршруты”

В данном разделе представлена информация о действиях, аналогичных по смыслу соответствующим этапам подсистемы маршрутов.

Особенности действий

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

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

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

  • Для правильной инициализации параметров маршрута рекомендуется всегда включать действие “Инициализация маршрута” в процесс перед действиями из данной группы.

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

    Для корректного формирования Истории заданий на первом цикле, надо перед любым действием, отправляющим задания, добавить действие “Управление историей”. Действие “Управление историей” достаточно добавить один раз в начале маршрута, что обеспечит создание группы истории заданий: Согласование → Согласование - цикл 1 (аналог этого действия в маршрутах - этап “Управление историей” из шаблона этапов “Новая итерация согласования”).

    Параметры действия “Управление историей” должны быть следующими:

    Для упрощения настройки, параметры однотипных действий “Управление историей” можно задавать через параметры процесса.

  • В строках элементов управления типа “Таблица”, расположенных на форме редактора действия, отображается индикация при наличии параметров, значения которых отличны от значений по умолчанию. Если есть такое изменение, то в строке таблицы отображается символ “*”.

  • Примеры процессов с использованием действий из группы “Маршруты” можно найти в разделе Примеры процессов с применением действий из группы “Маршруты”.

Инициализация маршрута

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

Настраиваемые параметры

  • Инициатор процесса (значение из справочника ролей, может быть привязано к параметрам процесса) - персональная роль (сотрудник) являющийся инициатором процесса. Указывается в одноимённом поле на вкладке “Маршрут” карточки документа. Если значение не задано, то инициатором процесса назначается текущий пользователь.

  • Комментарий к циклу согласования (значение типа string, может быть привязано к параметрам процесса) - комментарий к циклу согласования. Указывается в одноимённом поле на вкладке “Маршрут” карточки документа.

Типы обрабатываемых сигналов

  • Default - производит инициализацию маршрута с учётом всех настроек действия, после чего пропускает сигнал насквозь без изменений.

  • Любой другой сигнал - не выполняет никаких действий и пропускает сигнал на сквозь без изменений.

Согласование

Данное действие предназначено для отправки одного или нескольких заданий согласования, а также обрабатывает завершение и другие события, отправленные из задания. Действие аналогично по смыслу этапу “Согласование” описанному в Руководстве администратора.

Действие создает подписку на созданное задание, а также создает подписки на сигналы:

  • Всегда:

    • CompleteTask

    • UpdateTask

    • DeleteTask

  • При наличии обработчиков соответствующих событий:

    • ProgressTask

    • ReinstateTask

    • PostponeTask

    • ReturnFromPostponeTask

Действие создаёт и обрабатывает завершение следующих типов заданий:

  • Согласование (KrApprove);

  • Дополнительное согласование (KrAdditionalApproval);

  • Комментирование (KrRequestComment);

  • Доработка (KrEditInterject).

Note

При выполнении данного действия для процесса отключается неперсистентный режим хранения.

Настраиваемые параметры

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

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

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

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

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

      Note

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

      Note

      Если при выполнении действия итоговый список исполнителей пуст, то действие завершится с вариантов завершения “Согласовано” и состояние документа изменится на “Согласовано”, если выставлен флаг Изменять состояние при завершении.

  • Добавить роль “Вычисляемые исполнители” - добавляет роль “Вычисляемые исполнители” в список согласующих. На это место будут подставлены согласующие вычисленные с помощью скрипта задаваемого в поле “SQL исполнители”. По умолчанию вычисляемые исполнители подставляется в конец списка согласующих.

  • Автор (сотрудник или контекстная роль, может быть привязано к параметрам процесса) - позволяет отправить задание согласования от имени любого сотрудника.

  • Текст задания (значение типа string, может быть привязано к параметрам процесса) - определяет текст задания согласования. Поддерживает использование плейсхолдеров.

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

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

    Note

    • Значение результата завершения задания определяется в соответствии со следующей последовательностью, в порядке увеличения приоритета: результат задаваемый в блоке настроек действия → результат, задаваемый в настройках обработки результата завершения задания → комментарий указанный пользователем, если он есть.

    • Данное поле позволяет задавать значение результата, только для заданий типа “Согласование (KrApprove)”. Для задания результата других типов заданий следует использовать поле “Результат” расположенное в настройках обработки заданий при их завершении по вариантам завершения (см. “Варианты завершения”).

  • Длительность, рабочие дни (значение типа double, может быть привязано к параметрам процесса) - определяет срок выполнения задания согласования в рабочих днях. Не может быть заполнено одновременно с полем Срок завершения.

  • Срок завершения (значение типа DateTime, может быть привязано к параметрам процесса) - определяет срок выполнения задания согласования. Не может быть заполнено одновременно с полем Длительность, рабочие дни.

  • Вкладка “Основные настройки”

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

  • Рекомендательное согласование (значение типа bool, может быть привязано к параметрам процесса) - вариант завершения задания согласования “Не согласовать” не возвращает процесс на доработку. При установке флажка проставляется специальный вид задания, однако можно указывать собственный.

  • Вкладка “Дополнительно”

    • Отключить автоматическое согласование (значение типа bool, может быть привязано к параметрам процесса) - отключить для данного действия автоматическое завершение заданий согласования (см. Автоматическое согласование).
  • Вернуть после согласования (значение типа bool, может быть привязано к параметрам процесса) – вернуть документ на доработку Инициатору при согласовании всеми текущими согласующими.

  • Ожидать решения всех согласующих (значение типа bool, может быть привязано к параметрам процесса) – при выставленном флаге процесс согласования будет продолжен, несмотря на не согласование хотя бы одним из согласующих. Данный флаг не влияет на конечный результат действия, т.е. при не согласовании, хотя бы одним из согласующих, действие завершится с вариантом завершения “Не согласовано”.

  • Изменять состояние при старте (значение типа bool, может быть привязано к параметрам процесса) - если флажок установлен (по умолчанию), то при запуске действия состояние карточки устанавливается в “На согласовании”.

  • Изменять состояние при завершении (значение типа bool, может быть привязано к параметрам процесса) - если флажок установлен, то при успешном выходе из действия состояние карточки устанавливается в “Согласовано”. При несогласовании в последовательном режиме - устанавливается состояние “Не согласовано” сразу же, а в параллельном режиме выполнения - когда все согласующие завершили свои задания.

  • Настройки прав доступа для исполнителей

    • Редактировать карточку – дать права доступа на редактирование карточки согласующим;

    • Редактировать любые файлы – дать права доступа на редактирование приложенных файлов для согласующих.

  • SQL исполнители (значение типа string, может быть привязано к параметрам процесса) - скрипт на языке SQL, который используется для вычисления роли “Вычисляемые исполнители”. Исполнители подставляются в том же порядке, в котором они возвращаются запросом.

    Скрипт должен возвращать два столбца:

    1. Идентификатор роли;

    2. Имя роли.

  • Сценарий инициализации задания (значение типа string) - скрипт на языке C#, который выполняется при инициализации задания согласования. Инициализация задания происходит вместе с созданием задания.

    Имеет дополнительные параметры:

    • task (значение типа Tessa.Cards.CardTask) - объект задания, которое отправляется. Уже заполнено значениями из параметров действия.

    • taskCard (значение типа dynamic) - представление строковых секций карточки задания посредством dynamic-полей (Tessa.Cards.CardTask.Card.DynamicEntries).

    • taskCardTables (значение типа dynamic) - представление табличных секций карточки задания посредством dynamic-полей (Tessa.Cards.CardTask.Card.DynamicTables).

  • Уведомление о задании

    Блок настроек уведомления о задании согласования.

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

    • Не отправлять заместителям (значение типа bool, может быть привязано к параметрам процесса) - определяет, нужно ли при формировании списка получателей уведомления учитывать замещения сотрудников.

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

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

      Имеет дополнительные параметры:

      • email (значение типа Tessa.Notices.NotificationEmail) - объект уведомления, который можно изменить перед его отправкой.
  • Доработка автором

    Блок настроек задания доработки автором (тип задания KrEditInterject) отправляемого при выполнении доработки автором (см. настройку “Вернуть после согласования”).

    • Роль (значение из справочника ролей, может быть привязано к параметрам процесса) – роль на которую будет отправлено задание доработки автором. Если не задано, то используется автор задания согласования сохранённый в параметрах действия (константа Tessa.Extensions.Default.Shared.Workflow.WorkflowEngine.WorkflowConstants.NamesKeys.EditInterjectAuthorID). Можно указать как конкретных сотрудников, так и роли.

    • Автор (сотрудник или контекстная роль, может быть привязано к параметрам процесса) - позволяет отправить задание доработки автором от имени любого сотрудника.

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

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

    • Длительность, рабочие дни (значение типа double, может быть привязано к параметрам процесса) - определяет срок выполнения задания доработки автором в рабочих днях. Не может быть заполнено одновременно с полем Срок завершения.

    • Срок завершения (значение типа DateTime, может быть привязано к параметрам процесса) - определяет срок выполнения задания доработки автором. Не может быть заполнено одновременно с полем Длительность, рабочие дни.

    • Сценарий инициализации задания (значение типа string) - скрипт на языке C#, который выполняется при инициализации задания доработки автором. Инициализация задания происходит вместе с созданием задания.

      Имеет дополнительные параметры:

      • task (значение типа Tessa.Cards.CardTask) - объект задания, которое отправляется. Уже заполнено значениями из параметров действия.

      • taskCard (значение типа dynamic) - представление строковых секций карточки задания посредством dynamic-полей (Tessa.Cards.CardTask.Card.DynamicEntries).

      • taskCardTables (значение типа dynamic) - представление табличных секций карточки задания посредством dynamic-полей (Tessa.Cards.CardTask.Card.DynamicTables).

  • Уведомление о задании

    Блок настроек уведомления о задании доработки автором.

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

    • Не отправлять заместителям (значение типа bool, может быть привязано к параметрам процесса) - определяет, нужно ли при формировании списка получателей уведомления учитывать замещения сотрудников.

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

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

      Имеет дополнительные параметры:

      • email (значение типа Tessa.Notices.NotificationEmail) - объект уведомления, который можно изменить перед его отправкой.
  • Варианты завершения (таблица) - содержит настройки обработки заданий при их завершении по вариантам завершения. Если таблица пуста, то при открытии редактора действия она заполняется вариантами завершения обрабатываемых данным действием типов заданий. Информация о составе вариантов завершения считывается из метаданных типов заданий, обрабатываемых действием.

    • Тип задания (значение из справочника типов заданий) - определяет, при завершении заданий какого типа задания должна производиться обработка из данной строки таблицы.

    • Вариант завершения (значение из справочника вариантов завершений) - определяет, при завершении задания с каким вариантом завершения должна производиться обработка из данной строки таблицы.

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

    • Сценарий (значение типа string) - скрипт, который выполняется при завершении задания с данным вариантом завершения.

      Имеет дополнительные параметры:

      • task (значение типа Tessa.Cards.CardTask) - объект задания, которое завершается.

      • taskCard (значение типа dynamic) - представление строковых секций карточки задания посредством dynamic-полей (Tessa.Cards.CardTask.Card.DynamicEntries).

      • taskCardTables (значение типа dynamic) - представление табличных секций карточки задания посредством dynamic-полей (Tessa.Cards.CardTask.Card.DynamicTables).

      • notificationInfo (тип Tessa.Workflow.Actions.WorkflowTaskNotificationInfo) - объект с настройками уведомления, указанными в настройках данного варианта завершения. В сценарии можно переопределить данные настройки, изменив свойства данного объекта.

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

    • Получатели (список ролей) - список получателей уведомления.

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

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

    • Не отправлять заместителям (значение типа bool, может быть привязано к параметрам процесса) - определяет, нужно ли при формировании списка получателей уведомления учитывать замещения сотрудников.

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

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

      Имеет дополнительные параметры:

      • email (тип Tessa.Notices.NotificationEmail) - объект уведомления, который можно изменить перед его отправкой.
  • Варианты завершения действия (таблица, доступна только для чтения) - содержит настройки заврешения обработки действия по вариантам завершения.

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

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

    • Сценарий (значение типа string) - скрипт, который выполняется при завершении действия с данным вариантом завершения.

      Имеет дополнительные параметры:

      • notificationInfo (тип Tessa.Workflow.Actions.WorkflowTaskNotificationInfoBase) - объект с настройками уведомления, указанными в настройках данного варианта завершения. В сценарии можно переопределить данные настройки, изменив свойства данного объекта.
    • Уведомление (значение из справочника уведомлений, может быть привязано к параметрам процесса) - карточка уведомления, по которой должна производиться отправка уведомления при завершении действия с указанным вариантом завершения.

    • Получатели (список ролей) - список получателей уведомления.

    • Не отправлять заместителям (значение типа bool, может быть привязано к параметрам процесса) - определяет, нужно ли при формировании списка получателей уведомления учитывать замещения сотрудников.

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

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

      Имеет дополнительные параметры:

      • email (тип Tessa.Notices.NotificationEmail) - объект уведомления, который можно изменить перед его отправкой.

Типы обрабатываемых сигналов

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

Если заданий еще нет, действие обрабатывает следующие сигналы:

  • Default - производит отправку задания согласования с учётом всех настроек действия и очищает список связей для дальнейшей обработки. Если исполнителей нет, то действие завершается с вариантом завершения “Согласовано”.

  • Любой другой сигнал - не выполняет никаких действий и пропускает сигнал на сквозь без изменений.

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

  • Любой сигнал, включая ниже перечисленные - очищает список связей для дальнейшей обработки.

  • CompleteTask - выполняет обработку по таблице Варианты завершения.

  • DeleteTask - производит удаление всех активных заданий.

  • UpdateTask - производит обновление задания по указанным в сигнале параметрам.

  • ProgressTask - выполняет обработку по таблице Обрабатываемые события.

  • ReinstateTask - выполняет обработку по таблице Обрабатываемые события.

  • PostponeTask - выполняет обработку по таблице Обрабатываемые события.

  • ReturnFromPostponeTask - выполняет обработку по таблице Обрабатываемые события.

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

Подписание

Данное действие предназначено для отправки одного или нескольких заданий подписания. Действие аналогично по смыслу этапу “Подписание” описанному в Руководстве администратора.

Действие полностью аналогично согласованию, за исключением:

  • В заданиях кнопки называются “Подписать” и “Отказать” вместо “Согласовать” и “Не согласовать”;

  • Состояние карточки при входе в этап устанавливается “На подписании”;

  • При подписании устанавливается состояние “Подписано”;

  • При не подписании “Отказано”;

  • Варианты завершения называются “Подписано” и “Отказано” вместо “Согласовано” и “Не согласовано” соответственно;

  • Отсутствует возможность задания доп. подписантов;

  • Отсутствует возможность рекомендательного подписания.

Доработка

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

Действие создает подписку на созданное задание, а также создает подписки на сигналы:

  • Всегда:

    • CompleteTask

    • UpdateTask

    • DeleteTask

  • При наличии обработчиков соответствующих событий:

    • ProgressTask

    • ReinstateTask

    • PostponeTask

    • ReturnFromPostponeTask

Действие создаёт и обрабатывает завершение задания типа “Доработка (KrEdit)”.

После завершения задания доработки отправляется сигнал на все исходящие связи.

Note

При выполнении данного действия для процесса отключается неперсистентный режим хранения.

Настраиваемые параметры

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

  • Автор (сотрудник или контекстная роль, может быть привязано к параметрам процесса) - позволяет отправить задание от имени любого сотрудника.

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

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

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

  • Длительность, рабочие дни (значение типа double, может быть привязано к параметрам процесса) - определяет срок выполнения задания в рабочих днях. Не может быть заполнено одновременно с полем Срок завершения.

  • Срок завершения (значение типа DateTime, может быть привязано к параметрам процесса) - определяет срок выполнения задания. Не может быть заполнено одновременно с полем Длительность, рабочие дни.

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

    Текущий цикл доступен в параметрах процесса (константа Tessa.Extensions.Default.Shared.Workflow.WorkflowEngine.WorkflowConstants.NamesKeys.ProcessCycle). Так же есть вспомогательные методы предназначенные для упрощения взаимодействия с данным значением: WorkflowHelper.GetProcessCycle, WorkflowHelper.SetProcessCycle, WorkflowHelper.ProcessCycleIncrement. Они расположены в классе Tessa.Extensions.Default.Shared.Workflow.WorkflowEngine.WorkflowHelper.

  • Изменять состояние (значение типа bool, может быть привязано к параметрам процесса) - если флажок установлен (по умолчанию), то при входе в действе состояние карточки меняется на “На доработке”.

  • Сценарий инициализации задания (значение типа string) - скрипт на языке C#, который выполняется при инициализации задания доработки. Инициализация задания происходит вместе с созданием задания.

    Имеет дополнительные параметры:

    • task (значение типа Tessa.Cards.CardTask) - объект задания, которое отправляется. Уже заполнено значениями из параметров действия.

    • taskCard (значение типа dynamic) - представление строковых секций карточки задания посредством dynamic-полей (Tessa.Cards.CardTask.Card.DynamicEntries).

    • taskCardTables (значение типа dynamic) - представление табличных секций карточки задания посредством dynamic-полей (Tessa.Cards.CardTask.Card.DynamicTables).

    • Сценарий завершения задания (значение типа string) - скрипт, который выполняется при завершении задания.

      Имеет дополнительные параметры:

      • task (значение типа Tessa.Cards.CardTask) - объект задания, которое завершается.

      • taskCard (значение типа dynamic) - представление строковых секций карточки задания посредством dynamic-полей (Tessa.Cards.CardTask.Card.DynamicEntries).

      • taskCardTables (значение типа dynamic) - представление табличных секций карточки задания посредством dynamic-полей (Tessa.Cards.CardTask.Card.DynamicTables).

      • notificationInfo (тип Tessa.Workflow.Actions.WorkflowTaskNotificationInfo) - объект с настройками уведомления, указанными в настройках данного варианта завершения. В сценарии можно переопределить данные настройки, изменив свойства данного объекта.

  • Уведомление о задании

    Блок настроек уведомления о задании доработки.

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

    • Не отправлять заместителям (значение типа bool, может быть привязано к параметрам процесса) - определяет, нужно ли при формировании списка получателей уведомления учитывать замещения сотрудников.

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

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

      Имеет дополнительные параметры:

      • email (значение типа Tessa.Notices.NotificationEmail) - объект уведомления, который можно изменить перед его отправкой.
  • Уведомление о завершении задания

    Блок настроек уведомления о задании задания доработки.

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

    • Получатели (список ролей) - список получателей уведомления.

    • Не отправлять заместителям (значение типа bool, может быть привязано к параметрам процесса) - определяет, нужно ли при формировании списка получателей уведомления учитывать замещения сотрудников.

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

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

Типы обрабатываемых сигналов

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

Если заданий еще нет, действие обрабатывает следующие сигналы:

  • Default - производит отправку задания доработки с учётом всех настроек действия и очищает список связей для дальнейшей обработки.

  • Любой другой сигнал - не выполняет никаких действий и пропускает сигнал на сквозь без изменений.

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

  • Любой сигнал, включая ниже перечисленные - очищает список связей для дальнейшей обработки.

  • CompleteTask - выполняет обработку по таблице Варианты завершения.

  • DeleteTask - производит удаление всех активных заданий.

  • UpdateTask - производит обновление задания по указанным в сигнале параметрам.

  • ProgressTask - выполняет обработку по таблице Обрабатываемые события.

  • ReinstateTask - выполняет обработку по таблице Обрабатываемые события.

  • PostponeTask - выполняет обработку по таблице Обрабатываемые события.

  • ReturnFromPostponeTask - выполняет обработку по таблице Обрабатываемые события.

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

Задание регистрации

Данное действие предназначено для регистрации документа. Действие аналогично по смыслу этапу “Регистрация” описанному в Руководстве администратора.

Действие создает подписку на созданное задание, а также создает подписки на сигналы:

  • Всегда:

    • CompleteTask

    • UpdateTask

    • DeleteTask

  • При наличии обработчиков соответствующих событий:

    • ProgressTask

    • ReinstateTask

    • PostponeTask

    • ReturnFromPostponeTask

Действие создаёт и обрабатывает завершение задания типа “Регистрация документа (KrRegistration)”.

После завершения задания регистрации отправляется сигнал на все исходящие связи.

Если не требуется выполнять регистрацию документа с отправкой задания, то можно использовать действие “Регистрация”.

Note

При выполнении данного действия для процесса отключается неперсистентный режим хранения.

Настраиваемые параметры

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

  • Автор (сотрудник или контекстная роль, может быть привязано к параметрам процесса) - позволяет отправить задание от имени любого сотрудника.

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

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

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

  • Длительность, рабочие дни (значение типа double, может быть привязано к параметрам процесса) - определяет срок выполнения задания в рабочих днях. Не может быть заполнено одновременно с полем Срок завершения.

  • Срок завершения (значение типа DateTime, может быть привязано к параметрам процесса) - определяет срок выполнения задания. Не может быть заполнено одновременно с полем Длительность, рабочие дни.

  • Настройки прав доступа для исполнителей

    • Редактировать карточку – дать права доступа на редактирование карточки регистраторам;

    • Редактировать любые файлы – дать права доступа на редактирование приложенных файлов для регистраторов.

  • Сценарий инициализации задания (значение типа string) - скрипт на языке C#, который выполняется при инициализации задания регистрации. Инициализация задания происходит вместе с созданием задания.

    Имеет дополнительные параметры:

    • task (значение типа Tessa.Cards.CardTask) - объект задания, которое отправляется. Уже заполнено значениями из параметров действия.

    • taskCard (значение типа dynamic) - представление строковых секций карточки задания посредством dynamic-полей (Tessa.Cards.CardTask.Card.DynamicEntries).

    • taskCardTables (значение типа dynamic) - представление табличных секций карточки задания посредством dynamic-полей (Tessa.Cards.CardTask.Card.DynamicTables).

  • Уведомление о задании

    Блок настроек уведомления о задании регистрации.

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

    • Не отправлять заместителям (значение типа bool, может быть привязано к параметрам процесса) - определяет, нужно ли при формировании списка получателей уведомления учитывать замещения сотрудников.

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

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

      Имеет дополнительные параметры:

      • email (значение типа Tessa.Notices.NotificationEmail) - объект уведомления, который можно изменить перед его отправкой.
  • Варианты завершения (таблица) - содержит настройки обработки заданий при их завершении по вариантам завершения. Если таблица пуста, то при открытии редактора действия она заполняется вариантами завершения обрабатываемых данным действием типов заданий. Информация о составе вариантов завершения считывается из метаданных обрабатываемых действием типов заданий.

    • Вариант завершения (значение из справочника вариантов завершений) - определяет, при завершении задания с каким вариантом завершения должна производиться обработка из данной строки таблицы.

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

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

    • Сценарий (значение типа string) - скрипт, который выполняется при завершении задания с данным вариантом завершения.

      Имеет дополнительные параметры:

      • task (значение типа Tessa.Cards.CardTask) - объект задания, которое завершается.

      • taskCard (значение типа dynamic) - представление строковых секций карточки задания посредством dynamic-полей (Tessa.Cards.CardTask.Card.DynamicEntries).

      • taskCardTables (значение типа dynamic) - представление табличных секций карточки задания посредством dynamic-полей (Tessa.Cards.CardTask.Card.DynamicTables).

      • notificationInfo (тип Tessa.Workflow.Actions.WorkflowTaskNotificationInfo) - объект с настройками уведомления, указанными в настройках данного варианта завершения. В сценарии можно переопределить данные настройки, изменив свойства данного объекта.

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

    • Получатели (список ролей) - список получателей уведомления.

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

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

    • Не отправлять заместителям (значение типа bool, может быть привязано к параметрам процесса) - определяет, нужно ли при формировании списка получателей уведомления учитывать замещения сотрудников.

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

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

      Имеет дополнительные параметры:

      • email (тип Tessa.Notices.NotificationEmail) - объект уведомления, который можно изменить перед его отправкой.

Типы обрабатываемых сигналов

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

Если заданий еще нет, действие обрабатывает следующие сигналы:

  • Default - производит отправку задания регистрации с учётом всех настроек действия и очищает список связей для дальнейшей обработки.

  • Любой другой сигнал - не выполняет никаких действий и пропускает сигнал на сквозь без изменений.

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

  • Любой сигнал, включая ниже перечисленные - очищает список связей для дальнейшей обработки.

  • CompleteTask - выполняет обработку по таблице Варианты завершения.

  • DeleteTask - производит удаление всех активных заданий.

  • UpdateTask - производит обновление задания по указанным в сигнале параметрам.

  • ProgressTask - выполняет обработку по таблице Обрабатываемые события.

  • ReinstateTask - выполняет обработку по таблице Обрабатываемые события.

  • PostponeTask - выполняет обработку по таблице Обрабатываемые события.

  • ReturnFromPostponeTask - выполняет обработку по таблице Обрабатываемые события.

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

Исполнение задачи

Данное действие предназначено для создания типового процесса обработки задач (WfResolution). Действие аналогично по смыслу этапу “Задача” описанному в Руководстве администратора.

Действие создает подписку на созданное задание, а также создает подписки на сигналы:

  • Всегда:

    • CompleteTask

    • DeleteTask

Note

При выполнении данного действия для процесса отключается неперсистентный режим хранения.

Настраиваемые параметры

  • Исполнители (значение из справочника ролей, может быть привязано к параметрам процесса) – исполнители задания. Можно указать как конкретных сотрудников, так и роли.

  • Добавить роль “Вычисляемые исполнители” - добавляет роль “Вычисляемые исполнители” в список согласующих. На это место будут подставлены согласующие вычисленные с помощью скрипта задаваемого в поле “SQL исполнители”. По умолчанию вычисляемые исполнители подставляется в конец списка согласующих.

  • Автор (сотрудник или контекстная роль, может быть привязано к параметрам процесса) - позволяет отправить задание от имени любого сотрудника.

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

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

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

  • Длительность, рабочие дни (значение типа double, может быть привязано к параметрам процесса) - определяет срок выполнения задания в рабочих днях. Не может быть заполнено одновременно с полем Срок завершения.

  • Срок завершения (значение типа DateTime, может быть привязано к параметрам процесса) - определяет срок выполнения задания. Не может быть заполнено одновременно с полем Длительность, рабочие дни.

  • Вернуть после завершения - если флажок установлен, то после завершения исполнителем задача будет отправлена автору. Он сможет проверить результаты выполнения и при необходимости вернуть ее исполнителю или отправить другому сотруднику или сотрудникам. Если флажок установлен, то станет доступно поле “Вернуть на роль”, позволяющее вернуть задачу не автору, а любой другой роли.

  • SQL исполнители (значение типа string, может быть привязано к параметрам процесса) - скрипт на языке SQL, который используется для вычисления роли “Вычисляемые исполнители”. Исполнители подставляются в том же порядке, в котором они возвращаются запросом.

    Скрипт должен возвращать два столбца:

    1. Идентификатор роли;

    2. Имя роли.

Типы обрабатываемых сигналов

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

Если заданий еще нет, действие обрабатывает следующие сигналы:

  • Default - производит отправку задания доработки с учётом всех настроек действия и очищает список связей для дальнейшей обработки.

  • Любой другой сигнал - не выполняет никаких действий и пропускает сигнал на сквозь без изменений.

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

  • Любой сигнал, включая ниже перечисленные - очищает список связей для дальнейшей обработки.

  • CompleteTask - выполняет завершение задания. Сигнал должен содержать идентификатор первого задания бизнес-процесса (WfResolution) в параметрах сигнала по ключу Tessa.Extensions.Default.Shared.Workflow.WorkflowEngine.WorkflowConstants.NamesKeys.CompletedTaskRowID.

  • DeleteTask - производит удаление всех активных заданий.

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

Настраиваемое задание

Данное действие предназначено для создания и отправки настраиваемого задания. Действие аналогично по смыслу этапу “Настраиваемое задание” описанному в Руководстве администратора.

Действие создает подписку на созданное задание, а также создает подписки на сигналы:

  • Всегда:

    • CompleteTask

    • UpdateTask

    • DeleteTask

  • При наличии обработчиков соответствующих событий:

    • ProgressTask

    • ReinstateTask

    • PostponeTask

    • ReturnFromPostponeTask

Действие создаёт и обрабатывает завершение задания типа “Задание (KrUniversalTask)”.

Note

При выполнении данного действия для процесса отключается неперсистентный режим хранения.

Настраиваемые параметры

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

  • Автор (сотрудник или контекстная роль, может быть привязано к параметрам процесса) - позволяет отправить задание от имени любого сотрудника.

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

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

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

  • Длительность, рабочие дни (значение типа double, может быть привязано к параметрам процесса) - определяет срок выполнения задания в рабочих днях. Не может быть заполнено одновременно с полем Срок завершения.

  • Срок завершения (значение типа DateTime, может быть привязано к параметрам процесса) - определяет срок выполнения задания. Не может быть заполнено одновременно с полем Длительность, рабочие дни.

  • Настройки прав доступа для исполнителей

    • Редактировать карточку – дать права доступа на редактирование карточки регистраторам;

    • Редактировать любые файлы – дать права доступа на редактирование приложенных файлов для регистраторов.

  • Сценарий инициализации задания (значение типа string) - скрипт на языке C#, который выполняется при инициализации задания регистрации. Инициализация задания происходит вместе с созданием задания.

    Имеет дополнительные параметры:

    • task (значение типа Tessa.Cards.CardTask) - объект задания, которое отправляется. Уже заполнено значениями из параметров действия.

    • taskCard (значение типа dynamic) - представление строковых секций карточки задания посредством dynamic-полей (Tessa.Cards.CardTask.Card.DynamicEntries).

    • taskCardTables (значение типа dynamic) - представление табличных секций карточки задания посредством dynamic-полей (Tessa.Cards.CardTask.Card.DynamicTables).

  • Уведомление о задании

    Блок настроек уведомления о задании регистрации.

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

    • Не отправлять заместителям (значение типа bool, может быть привязано к параметрам процесса) - определяет, нужно ли при формировании списка получателей уведомления учитывать замещения сотрудников.

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

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

      Имеет дополнительные параметры:

      • email (значение типа Tessa.Notices.NotificationEmail) - объект уведомления, который можно изменить перед его отправкой.
  • Варианты завершения (таблица) - содержит настройки обработки заданий при их завершении по вариантам завершения.

    • Идентификатор варианта завершения (значение типа Guid, доступно только для чтения) - идентификатор варианта завершения.

    • Вариант завершения (значение типа string) - отображаемое имя настраиваемого варианта завершения задания.

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

    • Показывать поле комментарий - с вариантом завершения связано текстовое поле “Комментарий”, которое может заполнить пользователь. Обязательность данного поля система не проверяет.

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

      if (string.IsNullOrWhiteSpace((string)taskCard.KrTask.Comment)) { this.ValidationResult.AddError(this, "Пожалуйста, укажите комментарий!"); }

  • Дополнительный вариант завершения - если флажок установлен, то вариант завершения в задании будет доступен в выпадающем списке “Еще”.

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

  • Сценарий (значение типа string) - скрипт, который выполняется при завершении задания с данным вариантом завершения.

    Имеет дополнительные параметры:

    • task (значение типа Tessa.Cards.CardTask) - объект задания, которое завершается.

    • taskCard (значение типа dynamic) - представление строковых секций карточки задания посредством dynamic-полей (Tessa.Cards.CardTask.Card.DynamicEntries).

    • taskCardTables (значение типа dynamic) - представление табличных секций карточки задания посредством dynamic-полей (Tessa.Cards.CardTask.Card.DynamicTables).

    • notificationInfo (тип Tessa.Workflow.Actions.WorkflowTaskNotificationInfo) - объект с настройками уведомления, указанными в настройках данного варианта завершения. В сценарии можно переопределить данные настройки, изменив свойства данного объекта.

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

  • Получатели (список ролей) - список получателей уведомления.

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

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

  • Не отправлять заместителям (значение типа bool, может быть привязано к параметрам процесса) - определяет, нужно ли при формировании списка получателей уведомления учитывать замещения сотрудников.

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

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

    Имеет дополнительные параметры:

    • email (тип Tessa.Notices.NotificationEmail) - объект уведомления, который можно изменить перед его отправкой.

Типы обрабатываемых сигналов

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

Если заданий еще нет, действие обрабатывает следующие сигналы:

  • Default - производит отправку задания регистрации с учётом всех настроек действия и очищает список связей для дальнейшей обработки.

  • Любой другой сигнал - не выполняет никаких действий и пропускает сигнал на сквозь без изменений.

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

  • Любой сигнал, включая ниже перечисленные - очищает список связей для дальнейшей обработки.

  • CompleteTask - выполняет обработку по таблице Варианты завершения.

  • DeleteTask - производит удаление всех активных заданий.

  • UpdateTask - производит обновление задания по указанным в сигнале параметрам.

  • ProgressTask - выполняет обработку по таблице Обрабатываемые события.

  • ReinstateTask - выполняет обработку по таблице Обрабатываемые события.

  • PostponeTask - выполняет обработку по таблице Обрабатываемые события.

  • ReturnFromPostponeTask - выполняет обработку по таблице Обрабатываемые события.

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

Back to top