Пошаговый план настройки процесса согласования

  1. Определить требования к процессу:
    1. количество этапов и их названия (значения статуса процесса);
    2. участников каждого этапа;
    3. типы элементов, которые попадут во вложения процесса;
    4. типы элементов, на которых доступен запуск процесса;
    5. статусы элементов, которые попадут во вложения процесса;
    6. дополнительные требования к логике: валидаторы, вычисления, оповещения и т.д.
  2. Создать тип элемента процесса (внутри типа «Рабочий процесс»):
    1. настроить представления для правой области и для шага создания (при отсутствии подходящих — создать);
    2. настроить атрибуты типа элемента (при отсутствии подходящих — создать);
    3. настроить вычисления (опционально);
    4. настроить валидаторы (опционально);
    5. настроить привязку — на каких типах элементов будет доступен запуск процесса.
  3. Привязать тип элемента к списку «Процессы» (основное пространство, по умолчанию «Портал»).
  4. Настроить логику процесса через Автоматизацию на Канбан-доске по атрибуту «Статус процесса».
  5. Проверить результат настройки.
  6. Подготовить документацию по процессу.

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

  1. При создании (открытии формы запуска) процесс получает статус «Не начат». К этому статусу привязываются валидаторы: они проверяют данные до запуска (к последующим статусам привязывать валидаторы в автоматических процессах не имеет смысла — их меняет система).
  2. При запуске система выдаёт права инициатору и наблюдателям, строит маршрут и переводит процесс в статус «Инициализация» — первый этап Автоматизации. К нему привязываются подготовительные действия: заполнение атрибутов, дополнительные права и переход на первый рабочий этап.
  3. Далее выполняются переходы по статусам в соответствии с настроенными правилами: каждое правило перехода меняет «Статус процесса», что запускает правила следующего столбца.
  4. Процесс завершается установкой статуса «Завершен» (правилом автоматизации или флагом «Завершить процесс» в правиле обработки документа). Процесс также может быть прерван инициатором или администратором — статус «Прерван», незавершённые задачи удаляются, файлам возвращается статус, который был до запуска.

Процессы, запускаемые с шаблоном этапов, после запуска получают статус «В работе», а этапы задаются атрибутом «Этап процесса». См. Переход на этап.

Пример настройки

Рассмотрим создание двухэтапного последовательно-параллельного процесса согласования.

Требования к процессу

  1. Процесс «Согласование документации (2 этапа)» выполняется в два этапа.
  2. Название процесса вычисляется с указанием принадлежности вложенных файлов к Проекту, Стадии и Комплекту.
  3. Запуск доступен на файлах с типом «Документ» в статусах «Размещено» и «На корректировке».
  4. Запуск блокируется, если в процесс не попало ни одного подходящего вложения.
  5. Первый этап «Согласующие»:
    1. выполняется в статусе процесса «Согласующие»;
    2. вложенным файлам устанавливается «Статус файла» = «На согласовании»;
    3. задачи создаются на пользователей из атрибута «Согласующие»; допускается множественный выбор, задачи создаются параллельно;
    4. срок задач вычисляется по количеству дней в атрибуте «Трудозатраты этап 1»;
    5. если хотя бы в одной задаче этапа файл отклонён, файлу устанавливается «Отклонено», а процесс завершается.
  6. Второй этап «Утверждающие»:
    1. выполняется в статусе процесса «Утверждающие»;
    2. задача создаётся на пользователя из атрибута «Утверждающие» (одиночный выбор);
    3. срок задачи вычисляется по количеству дней в атрибуте «Трудозатраты этап 2»;
    4. по завершении этапа файлы получают «Статус файла» в соответствии с принятыми решениями.

Пошаговая настройка типа элемента процесса

  1. Создать тип элемента «Согласование документации (2 этапа)» внутри типа элемента «Рабочий процесс».
    Перейти в Настройки → Типы элементов, выделить «Рабочий процесс» и выполнить Создать → Тип элемента. Указать «Название», «Представление» и «Представление (создание)».
  2. На вкладке «Атрибуты» добавить атрибуты в соответствии с требованиями.

    Примечание

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



  3. На вкладке «Вычисления» добавить вычисление атрибута «Название».


  4. На вкладке «Валидаторы» добавить блокировку по условию: Добавить → Блокировка изменения (формула).
    1. «Сообщение пользователю о блокировке» — текст, выводимый пользователю при срабатывании блокировки;
    2. «Условие срабатывания (формула)» — когда выполняется проверка; в примере — при переходе процесса в статус «Не начат»;
    3. «Условие блокировки (формула)» — что проверяется; в примере — наличие хотя бы одного вложенного файла.

  5. На вкладке «Привязки» настроить параметры запуска.
    1. «Тип связи процесса» — тип связи между процессом и вложениями. От него зависит, в частности, использование функций Ref/Refs (общий вид: Ref('Название типа связи')). Действие «Установить значение атрибута связанных объектов» работает с системным типом «Вложение процесса».
    2. «Перечень разрешённых типов элементов» — типы элементов, которые попадут во вложения (элементы других типов не попадут).
    3. «Перечень разрешённых статусов файлов» — статусы элементов, которые попадут во вложения. Если поле пустое, попадают все элементы разрешённых типов независимо от статуса.
    4. «Изображение» — значок действия запуска процесса.
    5. «Подтверждение» — запрашивать ли подтверждение перед запуском.
    6. «Показать после действия» — выводить ли сообщение об успешном создании процесса.
    7. «Показать прогресс» — отображать ли прогресс создания процесса.
    8. «Контекст» — отображать ли действие запуска в контекстном меню.
    9. «Показать для ссылок» — доступно ли действие не только на указанных типах, но и на связях с ними (например, на вложениях процесса). Процесс, запущенный с вложения задачи, создаётся как подпроцесс этой задачи.
    10. «Стиль» — стиль кнопки запуска.
    11. «Привязка» — типы элементов, на которых доступно действие запуска. Они не обязаны совпадать с разрешёнными типами: если указан тип, отличный от разрешённого (например, папка), система рекурсивно ищет элементы разрешённых типов внутри выбранного элемента.

  6. Привязать тип элемента к списку «Процессы».
    В основном пространстве перейти в Настройки → Списки, выделить список «Процессы», перейти на вкладку «Типы элементов» и выполнить Добавить, указав тип «Согласование документации (2 этапа)».


  7. Настроить правила автоматизации — см. раздел «Пошаговая настройка Автоматизации для типа элемента».

  8. Проверить работу процесса на тестовых данных.

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

Пошаговая настройка Автоматизации для типа элемента

  1. Открыть Канбан-доску автоматизации.
    Перейти в Настройки → Типы элементов, выделить тип «Согласование документации (2 этапа)» и выполнить действие Автоматизация.


  2. Выбрать атрибут «Статус процесса». Отобразятся столбцы, соответствующие значениям списка «Статусы процесса».


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


    Статус процессаНазваниеТип действияУсловиеДействиеПримечание
    ИнициализацияУстановить права для процессаУстановить права доступа

    Права для подразделения инициатора

    Уровень доступа: Изменить
    Формула: Parent(This("Инициатор"))

    Устанавливает права на процесс для подразделения инициатора.

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

    ИнициализацияУстановить значения атрибутовУстановить значение атрибута

    Дата начала (Факт)

    Атрибут: Дата начала (Факт)
    Формула: Date()

    Дата окончания (План)

    Атрибут: Дата окончания (План)
    Формула: AddDay(Date(), if(IsNull(This("Согласующие")), 0, This("Трудозатраты этап 1")) + if(IsNull(This("Утверждающие")), 0, This("Трудозатраты этап 2")))

    Вычисляет «Дата начала (Факт)» и «Дата окончания (План)».

    ИнициализацияПереход на следующий этапУстановить значение атрибута

    Переход на этап «Согласующие»

    Атрибут: Статус процесса
    Формула: Lookup("Статус процесса.Согласующие")

    Переводит процесс на этап «Согласующие». Правило перехода размещается последним в столбце.

    СогласующиеСменить статус вложенным файламУстановить значение атрибута связанных объектов

    Статус файла «На согласовании»

    Атрибут: Статус файла
    Формула: Lookup("Статусы документов.На согласовании")

    Устанавливает вложениям процесса «Статус файла» = «На согласовании».

    СогласующиеСоздать задачи этапаСоздать этап процесса

    Создать задачи для «Согласующие»

    Исполнители: This("Согласующие")
    Шаблон процесса: Параллельный этап процесса
    Плановая продолжительность этапа: This("Трудозатраты этап 1")
    Подписание ЭЦП: Нет
    Название задачи: Format("{0}: {1}", "Согласовать файлы", This("Статус процесса.Название"))
    Тип элемента: Задача на согласование

    Создаёт задачи на исполнителей этапа. Атрибут «Согласующие» допускает множественный выбор — задачи создаются параллельно. Следующие правила столбца выполнятся после завершения всех задач.

    Внимание! Для этого действия условия не проверяются.

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

    Завершение процесса при отклонении

    Правило обработки документа*: Хотя бы один статус согласования «Отклонено» → «Отклонено», флаг «Завершить процесс» установлен
    * Выбор из списка «Правила обработки документа».

    Файлам, отклонённым хотя бы в одной задаче этапа, устанавливается «Отклонено», а процесс завершается (флаг «Завершить процесс» в правиле).

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

    СогласующиеПереход на следующий этапУстановить значение атрибута

    Проверка состояния процесса

    Формула: This("Статус процесса.Название") != "Завершен"

    Переход на этап «Утверждающие»

    Атрибут: Статус процесса
    Формула: Lookup("Статус процесса.Утверждающие")

    Если процесс не завершён предыдущим правилом, переводит его на этап «Утверждающие».

    УтверждающиеСоздать задачи этапаСоздать этап процесса

    Создать задачи для «Утверждающие»

    Исполнители: This("Утверждающие")
    Шаблон процесса: Параллельный этап процесса
    Плановая продолжительность этапа: This("Трудозатраты этап 2")
    Подписание ЭЦП: Нет
    Название задачи: Format("{0}: {1}", "Утвердить файлы", This("Статус процесса.Название"))
    Тип элемента: Задача на согласование

    Создаёт задачу на утверждающего.

    УтверждающиеОбработка финальных результатов процессаОбработка вложений по результатам согласования

    Установка финальных статусов вложенным файлам

    Правила обработки документа* (в указанном порядке):

    1. Хотя бы один статус согласования «Отклонено» → «Отклонено»
    2. Хотя бы один статус согласования «Согласовано с замечаниями» → «Согласовано с замечаниями»
    3. Все статусы согласования «Согласовано» → «Согласовано»

    * Выбор из списка «Правила обработки документа».

    Каждому файлу устанавливается статус по первому выполненному правилу.

    УтверждающиеУстановить значения атрибутовУстановить значение атрибута

    Дата окончания (Факт)

    Атрибут: Дата окончания (Факт)
    Формула: Date()

    Вычисляет «Дата окончания (Факт)».

    УтверждающиеЗавершение процессаУстановить значение атрибута

    Завершение процесса

    Атрибут: Статус процесса
    Формула: Lookup("Статус процесса.Завершен")

    Переводит процесс в статус «Завершен». Права на процесс становятся «только чтение», экземпляр движка завершается.

Статусы файлов при отклонении

При досрочном завершении на первом этапе файлы, не отклонённые ни в одной задаче, сохраняют статус «На согласовании». Если их нужно вернуть в рабочий статус, добавьте после действия обработки правило «Установить значение атрибута» с условием This("Статус процесса.Название") == "Завершен" и полем «Исходный элемент(ы) (формула)», возвращающим вложения процесса в статусе «На согласовании».

  • No labels