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

Описание действий

В данном разделе представлена информация о стандартных действиях.

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

  • Некоторые действия могут находиться в узле только как единственное действие. Узлы таких действий не могут иметь больше чем один экземпляр узла. Данные действия принято называть одиночные.

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

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

  • Некоторые виды действий не могут работать в неперсистентном режиме обработки процесса. Такие действия выводят обрабатываемый процесс из неперсистентного режима.

Старт процесса

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

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

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

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

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

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

Конец процесса

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

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

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

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

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

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

Сценарий

Данное действие выполняет заданный в настройках действия скрипт. Скрипт может быть написан языке C#. Подробнее о написании скриптов можно посмотреть в разделе API скриптов и Примеры.

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

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

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

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

Данное действие выполняется при получении сигнала типа Default, или при получении любого сигнала, если установлен флаг Выполнять на любой сигнал.

Группа заданий

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

  • Всегда:

    • CompleteTask

    • UpdateTask

    • DeleteTask

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

    • ProgressTask

    • ReinstateTask

    • PostponeTask

    • ReturnFromPostponeTask

Note

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

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

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

    Warning

    Не используйте типы заданий, которые также задействованы в других типах процессов, не связанных с конструктором бизнес-процессов. Это относится к заданиям процесса маршрутов (KrApprove, KrEdit и др.), процесса задач (WfResolution и др.), и процессов Workflow API, написанных кодом (TestTask1 и др.). При необходимости использовать похожее задание создайте копию типа задания в контекстном меню в списке типов TessaAdmin.

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

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

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

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

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

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

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

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

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

    • taskCard - представление строковых секций карточки задания посредством dynamic-полей.

    • taskCardTables - представление табличных секций карточки задания посредством dynamic-полей.

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

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

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

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

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

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

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

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

      • task - объект задания, которое завершается.

      • taskCard - представление строковых секций карточки задания посредством dynamic-полей.

      • taskCardTables - представление табличных секций карточки задания посредством dynamic-полей.

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

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

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

      • Каждое задание - обработка должна производиться сразу после завершения задания с данным вариантом завершения.

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

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

      • Всегда, после завершения всех заданий - обработка должна производится после завершения всех заданий вне зависимости от вариантов завершения. При данной настройке Вариант завершения ни на что не влияет.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      • Взять в работу - выполняется при взятии задания в работу.

      • Вернуть на роль - выполняется при возвращении задания на роль.

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

      • Вернуть из отложенного - выполняется при возвращении задания из отложенного.

      • Выполнить задание - выполняется при выполнении задания.

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

      • task - объект задания, которое вызвало данное событие.

      • taskCard - представление строковых секций карточки задания посредством dynamic-полей.

      • taskCardTables - представление табличных секций карточки задания посредством dynamic-полей.

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

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

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

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

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

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

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

    • Время жизни диалога (значение из выпадающего списка) - определяет время жизни диалога. Может иметь одно из значений:

      • Запрос - диалог хранится на уровне запроса. При каждом новом открытии диалога он формируется заново.

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

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

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

    • Не выводить вкладки (флаг) - скрывает заголовки всех вкладок карточки.

    • Настройки кнопок (таблица) - таблица с настройками кнопок диалога. Каждая кнопка имеет следующие настройки:

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

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

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

      • Иконка (значение типа string) - иконка кнопки на верхнем или нижнем тулбаре. Не используется при отображении кнопки в нижней панели.

      • Отмена (флаг) - определяет, является ли данная кнопка - кнопкой отмены. При нажатии на такую кнопку, диалог просто закрывается, настройки переходов и сценарий кнопки не применяются.

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

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

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

        • dialog - контекст обработки диалога, который имеет тип Tessa.Workflow.Actions.WorkflowDialogContext. Более подробно о данном объекте написано в описании действия Диалог.
    • Сценарий инициализации диалога (значение типа string) - скрипт на языке C#, который выполняется при инициализации диалога. Инициализация диалога происходит вместе с созданием задания.

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

    • Сценарий валидации (значение типа string) - скрипт на языке C#, который выполняется при валидации диалога. Происходит только при непосредственном завершении диалога по кнопке, у которой не стоят флаги Не завершает диалог и Отмена.
      Этот и описанные выше сценарии имеют дополнительные параметры:

      • dialog - контекст обработки диалога, который имеет тип Tessa.Workflow.Actions.WorkflowDialogContext. Более подробно о данном объекте написано в описании действия Диалог.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Добавить файл по шаблону

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

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

  • Шаблон файла — ссылочное поле с автодополнением, значение из справочника «Шаблоны файлов», обязательно для заполнения. Здесь указывается непосредственно шаблон файла, используемый для создания файла.

  • Имя файла — значение типа string, здесь можно переопределить имя файла (в т. ч. с использованием плейсхолдеров), если не задано, то будет использовано имя файла из шаблона.

  • Категория файла — ссылочное поле с автодополнением, значение из справочника «Категории файлов», задаёт категорию файла.

Note

После выполнения действия бизнес-процесса “Добавить файл по шаблону” для обработчиков IWorkflowAction.ProcessAsync в объекте контекста с информацией об обрабатываемом сигнале IWorkflowEngineContext.Signal.Hash будут храниться ID шаблона файла по ключу .fileTemplateID, ID сгенерированного файла по ключу .generatedFileID и ID категории файла по ключу .fileCategoryID.

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

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

Задание

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

  • Всегда:

    • CompleteTask

    • UpdateTask

    • DeleteTask

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

    • ProgressTask

    • ReinstateTask

    • PostponeTask

    • ReturnFromPostponeTask

Note

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

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

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

    Warning

    Не используйте типы заданий, которые также задействованы в других типах процессов, не связанных с конструктором бизнес-процессов. Это относится к заданиям процесса маршрутов (KrApprove, KrEdit и др.), процесса задач (WfResolution и др.), и процессов Workflow API, написанных кодом (TestTask1 и др.). При необходимости использовать похожее задание создайте копию типа задания в контекстном меню в списке типов TessaAdmin.

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

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

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

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

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

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

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

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

    • taskCard - представление строковых секций карточки задания посредством dynamic-полей.

    • taskCardTables - представление табличных секций карточки задания посредством dynamic-полей.

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

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

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

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

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

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

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

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

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

      • task - объект задания, которое завершается.

      • taskCard - представление строковых секций карточки задания посредством dynamic-полей.

      • taskCardTables - представление табличных секций карточки задания посредством dynamic-полей.

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

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

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

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

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

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

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

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

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

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

      • Взять в работу - выполняется при взятии задания в работу.

      • Вернуть на роль - выполняется при возвращении задания на роль.

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

      • Вернуть из отложенного - выполняется при возвращении задания из отложенного.

      • Выполнить задание - выполняется при выполнении задания.

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

      • task - объект задания, которое вызвало данное событие.

      • taskCard - представление строковых секций карточки задания посредством dynamic-полей.

      • taskCardTables - представление табличных секций карточки задания посредством dynamic-полей.

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

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

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

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

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

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

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

    • Время жизни диалога (значение из выпадающего списка) - определяет время жизни диалога. Может иметь одно из значений:

      • Запрос - диалог хранится на уровне запроса. При каждом новом открытии диалога он формируется заново.

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

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

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

    • Не выводить вкладки (флаг) - скрывает заголовки всех вкладок карточки.

    • Настройки кнопок (таблица) - таблица с настройками кнопок диалога. Каждая кнопка имеет следующие настройки:

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

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

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

      • Иконка (значение типа string) - иконка кнопки на верхнем или нижнем тулбаре. Не используется при отображении кнопки в нижней панели.

      • Отмена (флаг) - определяет, является ли данная кнопка - кнопкой отмены. При нажатии на такую кнопку, диалог просто закрывается, настройки переходов и сценарий кнопки не применяются.

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

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

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

        • dialog - контекст обработки диалога, который имеет тип Tessa.Workflow.Actions.WorkflowDialogContext. Более подробно о данном объекте написано в описании действия Диалог.
    • Сценарий инициализации диалога (значение типа string) - скрипт на языке C#, который выполняется при инициализации диалога. Инициализация диалога происходит вместе с созданием задания.

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

    • Сценарий валидации (значение типа string) - скрипт на языке C#, который выполняется при валидации диалога. Происходит только при непосредственном завершении диалога по кнопке, у которой не стоят флаги Не завершает диалог и Отмена.
      Этот и описанные выше сценарии имеют дополнительные параметры:

      • dialog - контекст обработки диалога, который имеет тип Tessa.Workflow.Actions.WorkflowDialogContext. Более подробно о данном объекте написано в описании действия Диалог.

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

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

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

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

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

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

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

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

  • DeleteTask - производит удаление активного задания.

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

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

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

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

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

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

Ожидание сигнала

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

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

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

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

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

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

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

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

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

Ознакомление

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

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

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

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

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

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

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

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

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

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

Подпроцесс

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • SubprocessControl - производит отправку сигнала в подпроцесс, указанный как параметр сигнала в поле SubprocessControlSignal.

  • SubprocessCompleted - производит обработку сигналов, переданных в параметре SubprocessEndSignals по таблице Настройки завершения подпроцесса. Если подпроцесс не был завершен, то действие продолжит ожидание получения сигналов от подпроцесса.

Создать карточку

Данное действие создает новую карточку по типу карточки (типу документа) или шаблону карточки. Также оно позволяет сделать созданную карточку основной карточкой процесса.

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

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

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

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

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

  • Сценарий (значение типа string) - скрипт инициализации карточки. В нем следует производить заполнение полей новой карточки.
    Имеет дополнительные параметры:

    • newCard - представление строковых секций создаваемой карточки посредством dynamic-полей.

    • newCardTables - представление коллекционных секций создаваемой карточки посредством dynamic-полей.

    • newCardObject - объект создаваемой карточки.

    • newCardFileContainer - контейнер с файлами для новой карточки. Может использоваться для добавления файлов при создании новой карточки.

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

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

Уведомление

Данное действие осуществляет отправку email уведомлений указанным настройкам.

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

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

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

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

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

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

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

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

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

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

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

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

Управление историей

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

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

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

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

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

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

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

Смена состояния

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

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

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

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

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

Важные особенности

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

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

Action.AffectMainCardVersionWhenStateChanged = false;

‘И’

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

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

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

Условие

Данное действие выполняет переходы по связям в зависимости от настроенных в них условиях. Если условия не настроены, сигнал продолжит выполнение по всем исходящим связям. Одиночное действие.

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

Условия (таблица) - содержит условия для выполнения переходов по исходящим из узла связям.

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

  • Условие (значение типа string) - условие на языке C#. Если условие выполнено, то переход по данной связи осуществляется. Не может быть задано, если установлен флаг Выполнять, если другие условия не выполнены.

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

  • Описание (значение типа string) - текстовое описание условия.

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

Производит обработку при получении любого вида сигнала.

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

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

Таймер

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

Note

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

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

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

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

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

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

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

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

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

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

При получении сигнала с типом Default действие создает таймер (если он еще не был создан) и очищает список связей для дальнейшей обработки сигнала. При получении сигнала с типом TimerTick (отправляется системой при каждом завершении таймера) действие обновляет тип сигнала на Default и отправляет сигнал на дальнейшую обработку по всем исходящим связям. Если условие остановки таймера вернуло true или установлен флаг Запускать один раз, таймер останавливается. При получении сигнала с типом UpdateTimer действие обновляет время исполнения таймера в зависимости от параметров переданного сигнала. При получении сигнала с типом StopTimer действие производит остановку таймера.

Управление таймером

Данное действие позволяет управлять другими действиями типа Таймер. Управление производится путем изменения типа текущего сигнала и отправки его по исходящим связям (или следующим действиям в узле). В зависимости от настроек действия, оно формирует сигнал на обновление таймера (тип сигнала UpdateTimer) или сигнал на остановку таймера (тип сигнала StopTimer).

Note

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

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

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

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

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

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

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

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

Управление заданием

Данное действие позволяет управлять другими действиями, отправляющими задания (действия Задание и Группа заданий). Управление производится путем изменения типа текущего сигнала и отправки его по исходящим связям (или следующим действия в узле). В зависимости от настроек действия, оно формирует сигнал на удаление заданий (тип сигнала DeleteTask), на обновление параметров задания (тип сигнала UpdateTask) или на завершение задания (тип сигнала CompleteTask). В зависимости от типа управления набор полей для действий различается.

Note

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

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

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

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

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

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

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

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

При выполнении любого сигнала данное действие изменяет текущий сигнал в зависимости от настроек действия. Если требуется удаление задания, действие меняет тип текущего сигнала на DeleteTask. Если требуется обновление параметров задания, действие меняет тип текущего сигнала на UpdateTask и устанавливает параметры сигнала для обновления параметров задания. Если требуется завершение задания, действие меняет тип текущего сигнала на CompleteTask и устанавливает параметры сигнала для завершения задания.

Управление группой заданий

Данное действие позволяет управлять другими действиями типа Группами заданий. Данное действие может произвести следующие манипуляции над действием Группа заданий:

  • Добавить новые роли в группу заданий

  • Приостановить или возобновить выполнение группы заданий

  • Отменить выполнение группы заданий

Данное действие меняет тип текущего сигнала на TaskGroupControl и устанавливает параметры изменения группы в сигнал.

Note

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

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

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

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

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

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

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

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

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

Управление подпроцессом

Данное действие позволяет управлять действиями Подпроцесс. Управление производится путем изменения типа текущего сигнала и отправки его по исходящим связям (или следующим действия в узле). Данное действие формирует сигнал управление подпроцессом (тип сигнала SubprocessControl) и в параметры процесса передает отправляемый в подпроцесс сигнал.

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

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

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

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

Диалог

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

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

Note

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

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

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

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

  • Вид (значение из справочника видов задания) - определяет вид задания диалога.

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

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

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

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

  • Тип карточки (обязательное, если не задан Шаблон карточки, значение из справочника “Типы для диалогов”) - определяет тип карточки, который будет использован в качестве типа карточки диалога. Тип карточки определяет структуры данных и UI полей диалога.

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

  • Текст кнопки в задании (значение типа string, может быть привязан к параметрам процесса) - текст кнопки в задании диалога, которая открывает диалог. Если не задано, используется стандартное имя кнопки “Открыть диалог”.

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

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

  • Время жизни диалога (значение из выпадающего списка) - определяет время жизни диалога. Может иметь одно из значений:

    • Запрос - диалог хранится на уровне запроса. При каждом новом открытии диалога он формируется заново.

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

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

  • Режим открытия диалога (значение из выпадающего списка) - определяет режим открытия диалога пользователю при открытии карточки. Может иметь одно из значений:

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

    • Не отображать автоматически - диалог открывается только по нажатию кнопки открытия диалога из задания диалога.

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

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

  • Не выводить вкладки (значение типа bool) - скрывает заголовки всех вкладок карточки.

  • Настройки кнопок (таблица) - таблица с настройками кнопок диалога. Каждая кнопка имеет следующие настройки:

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

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

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

    • Иконка (значение типа string) - иконка кнопки на верхнем или нижнем тулбаре. Не используется для кнопок типа “Нижняя диалоговая кнопка”.

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

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

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

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

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

    Этот сценарий имеет дополнительные параметры:

    • dialog - контекст обработки диалога, который имеет тип Tessa.Workflow.Actions.WorkflowDialogContext.

    • task - объект задания, которое вызвало данное событие или значение null, если диалог создаётся без отправки задания.

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

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

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

  • Сценарий валидации (значение типа string) - скрипт на языке C#, который выполняется при валидации диалога. Происходит только при непосредственном завершении диалога по кнопке, у которой не стоят флаги Не завершает диалог и Отмена.
    Этот и описанные выше сценарии имеют дополнительные параметры:

    • dialog - контекст обработки диалога, который имеет тип Tessa.Workflow.Actions.WorkflowDialogContext. Данный тип имеет следующие свойства и методы, который можно использовать в скриптах диалога:

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

      • GetCardObjectAsync (значение типа Tessa.Cards.Card) - метод возвращает объект карточки диалога.

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

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

      • GetFileContentAsync (значение типа byte[]) - метод возвращает контент файла. Метод используется только для получения контента файла для диалогов, у которых параметр Время жизни диалога указан как Запрос. В качестве параметра необходимо использовать объект типа Tessa.Cards.CardFile, который получен из списка файлов карточки диалога (await GetCardObjectAsync()).Files.

      • GetFileContainerAsync (значение типа Tessa.Cards.ICardFileContainer) - метод возвращает файловый контейнер для карточки диалога. Метод используется только для получения файлового контейнера для диалогов, у которых параметр Время жизни диалога указан как Задание или Карточка.

Порядок выполнения сценариев

Действие Последовательность выполнения
Закрытие диалога по кнопке закрытия окна с сохранением/
Обработка варианта диалога без завершения
1. Сценарий сохранения диалога
2. Сценарий обработки варианта завершения
Завершение диалога 1. Сценарий сохранения диалога
2. Сценарий обработки варианта завершения
3. Сценарий валидации диалога

Tip

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

Вспомогательные методы для работы с карточкой диалога расположены в классе Tessa.Cards.CardTaskDialogHelper.

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

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

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

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

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

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

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

  • CompleteTask - выполняет обработку по таблице Настройки кнопок.

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

Регистрация

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

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

Действие не имеет дополнительно настраиваемых параметров.

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

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

Отмена регистрации

Данное действие предназначено для отмены регистрации документа. Его следует использовать после использования действий “Регистрация” или “Задание регистрации”. При отмене регистрации карточке возвращается проектный номер, а состояние изменяется на предшествующее текущему.

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

Действие не имеет дополнительно настраиваемых параметров.

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

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

Back to top