Пошаговый план настройки процесса согласования
- Определить требования к процессу:
- Количество шагов и их названия (статусы процесса).
- Название участников каждого шага.
- Типы элементов, которые попадут во вложения процесса.
- Типы элементов, на которых возможен вызов запуска процесса.
- Значения статусов элементов, которые попадут во вложения процесса.
- Дополнительные требования к логике процесса, такие как валидаторы, вычисления, оповещения и другие.
- Создать тип элемента для процесса (внутри группы "Рабочий процесс").
- Настроить представления (виды) для детального отображения в правой области и для шага создания. Если в системе отсутствуют подходящие виды, то создать.
- Настроить атрибуты типа элемента в соответствии с требованиями к процессу. Если в системе отсутствуют подходящие атрибуты, то создать.
- Настроить вычисления типа элемента в соответствии с требованиями к процессу (опционально).
- Настроить валидаторы типа элемента в соответствии с требованиями к процессу (опционально).
- Настроить привязку типа элемента в соответствии с требованиями к процессу. Привязка определяет на каких типах элемента будет отображаться кнопка появится возможность запуска данного процесса и как она будет называться.
- Привязать созданный тип элемента к списку Процессы (основное пространство, по умолчанию "Портал").
- Настроить логику процесса через Автоматизацию в виде канбан доски по атрибуту "Статус процесса" в соответствии с требованиями к процессу.
- Проверить результат настройки.
- Подготовить документацию по процессу.
Принципиальное описание жизненного цикла процесса
- Процесс создается со статусом процесса "Не начат". К этому статусу необходимо привязывать валидаторы (к другим статусам привязывать валидаторы в автоматических процессах нет смысла).
- При успешном запуске статус процесса переходит в значение "Инициализация" - первому этапу Автоматизации. К этому статусу надо привязывать все подготовительные действия, такие как заполнение первичных атрибутов процессов и так далее.
- Далее выполняется поэтапные переходы по статусам процесса в соответствии с настроенной логикой автоматизации.
- В финале необходимо настроить завершение процесса через установку статуса процесса "Завершен".
Пример настройки
В рамках данного примера рассмотрим создание простого двухэтапного последовательно-параллельного процесса согласования.
Требования к процессу
- Процесс "Согласование документации (2 этапа)" должен выполняться в два шага.
- Название процесса должно вычисляться с указанием принадлежности вложенных файлов к Проекту, Стадии и Комплекту.
- Запуск процесса должен быть доступен на файлах с типом элемента "Документ" в статусах "Размещено" и "На корректировке".
- Запуск процесса должен быть заблокирован, если в него не попало ни одного подходящего вложения.
- Первый шаг процесса "Согласующие":
- Выполняется в статусе процесса "На согласовании".
- У вложенных файлов должно устанавливаться значение "На согласовании" для атрибута "Статус документа".
- Создает задачи на пользователей, указанных в атрибуте процесса "Согласующие". Допускается множественный выбор "Согласующих", в этом случае задачи должны создаваться параллельно.
- Срок выполнения задач вычисляется из количества дней, указанных в атрибуте "Трудозатраты этап 1".
- Завершает процесс с отклонением файлов, если хотя бы в одной из задач этапа отклонены все файлы.
- Второй шаг процесса "Утверждающие":
- Выполняется в статусе процесса "На утверждении".
- Создает задачи на пользователя, указанного в атрибуте процесса "Утверждающие", допускается только одиночный выбор.
- Срок выполнения задачи этапа вычисляется из количества дней, указанных в атрибуте "Трудозатраты этап 2".
- При завершении этапа файлы должны должны получать "Статус документа" в соответствии с принятыми решениями.
Пошаговая настройка типа элемента процесса
- Создать тип элемента "Согласование документации (2 этапа)" внутри типа элемента "Рабочий процесс".
Перейти в Настройки → Типы элементов, выделить тип элемента "Рабочий процесс" и выполнить действие Создать → Тип элемента. Указать значения атрибутов "Название", "Представление" и "Представление (создание)". На вкладке "Атрибуты" добавить необходимые атрибуты в соответствии с требованиями к процессу.
Info title Примечание! Базовые атрибуты, необходимые для работы процессов, будут унаследованы от родительских типов элементов: Элемент → Рабочий процесс → Согласование документации (2 этапа)
Добавлять нужно только уникальные для данного процесса атрибуты.- На вкладке "Вычисления" добавить вычисление для атрибута процесса "Название" по формуле в соответствии с требованиями к процессу.
- На вкладке "Валидаторы" добавить блокировку по условию в соответствии с требованиями к процессу.
Выполнить действие Добавить → Блокировка изменения (формула) и указать значения атрибутов:- "Сообщение пользователю о блокировке" - какой текст будет выведен пользователю в случае срабатывания блокировки.
- "Условие срабатывания (формула)" - по какому событию сработает проверка, в данном примере при переходе процесса в статус "Не начат" (e5ac8947-7a27-4a12-8e88-09c297377890).
- "Условие блокировки (формула)" - условие проверки, в данном примере проверяется наличие хотя бы одного вложенного файла.
- На вкладке "Привязки" добавить настройку настроить в соответствии с требованиями к процессу.
Выполнить действие Добавить и указать значения атрибутов:- "Название" - название действия запуска процесса в контекстном меню."Перечень контекстных типов элементов" - типы элементов, в контекстном меню которых отобразится действие запуска процесса.Тип связи процесса" - тип связи используемый процессом. От выбранного типа связи зависит, в частности использование функций Ref/Refs (общий вид функции Ref('Название типа связи'))
- "Перечень разрешенных типов элементов" - типы элементов, которые попадут во вложения процесса (элементы с другими типами не попадут в процесс).
- "Перечень разрешенных статусов файлов" - статусы элементов, которые попадут во вложения процесса (элементы с другими статусами не попадут в процесс). Если оставить данное поле пустым, то все элементы с указанным типом будут попадать в процесс, вне зависимости от статуса.
- "Изображение" - изображение, которое будет отображаться рядом с действием запуска процесса.
- "Подтверждение" - данный атрибут определяет будет ли система требовать дополнительное подтверждение, перед запуском процесса.
- "Показать после действия" - отображать ли сообщение об успешности создания процесса.
- "Показать прогресс" - отображать ли прогресс создания процесса.
- "Контекст" - отображать ли действие запуска процесса в контекстном меню.
- "Показать для ссылок" - определяет, будет ли данное действие по запуску процесса доступно не только на указанных типах элементов, но и на связях с этим типом элемента, например на вложениях процесса.
- "Стиль" - стиль оформления кнопки запуска процесса.
- "Привязка" - типы элементов, на которых будет доступно действие по запуску процесса. Привязки необязательно должны совпадать с разрешенными типами элементов. В случае, если в привязке будет указан тип элемента, отличные от разрешенного, система будет пытаться выполнить рекурсивный разрешенных типов элемента внутри указанного.
- Привязать созданный тип элемента к списку "Процессы".
В Основном пространстве перейти в Настройки → Списки, выделить список "Процессы", перейти на вкладку "Типы элементов" и выполнить действие Добавить с указанием созданного типа элемента "Согласование документации (2 этапа)". - Настроить правила автоматизации для типа элемента в соответствии с требованиями к процессу. Подробнее смотри раздел "Пошаговая настройка Автоматизации для типа элемента".
- Проверить работу процесса, чтобы убедиться в корректности настройки.
- Подготовить документацию по выполненным настройкам процесса в соответствии с требованиями компании.
Пошаговая настройка Автоматизации для типа элемента
- Открыть канбан вид автоматизации для настройки жизненного цикла процесса.
Перейти в Настройки → Типы элементов, выделить тип элемента процесса, в данном примере тип элемента "Согласование документации (2 этапа)", и выполнить действие Автоматизация. Выбрать атрибут "Статус процесса" для построения канбан вида автоматизации.
После выбора атрибута отобразятся колонки канбан вида, соответствующие значениям списка "Статусы процесса".Добавить правила автоматизации в соответствии с требованиями к процессу.
поляСтатус процесса Название Тип блока Условие Действие Примечание Инициализация Установить права для процесса Установить права на элемент Права для подразделения инициатора
Уровень доступа: Изменить
Формула: 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("Статус процесса.Название"))
Тип элемента: Задача на согласованиеФормирует задачи на исполнителей этапа "Согласующие". В данном примере атрибут "Согласующие" позволяет указывать множественные значения, в этом случае задачи будут созданы параллельно.
Внимание! Для данного действия не выполняется проверка условий.
Согласующие Обработка результатов этапа
в одной из задачОбработка вложений по результатам согласования Завершение процесса при отклонении
Сервис обработки: Format("{0}/api/automation/completestage", Cfg("Site.PortalUrl"))
Сервис "completestage" завершает процесс с результатом отклонено, если хотя бы в одной из задач этапа отклонили все файлы.во всех задачах этапа
Правило обработки документа*: Хотя бы один статус согласования "Отклонено" -> "Отклонено"
*Выбор из списка "Правила обработки документа".
Вложениям процесса будет установлен статус "Отклонено", если хотя бы один из статусов вложений задач этапа будет "Отклонено".
В списке "Правила обработки документа" можно создавать собственные правила обработки указав:
- Правило обработки документа (условие) - все или хотя бы один статус согласования равен заданному в атрибуте "Статус согласования".
- Статуса согласования - статус согласования вложения в задаче.
- Статус файла - итоговой статус файла при выполнения условия.
Для каждого действия может быть выбрано более чем одно правило.
Вызов внешнего сервисаСогласующие Переход на следующий этап Установить значение поля Проверка состояния процесса
Формула: This("Статус процесса.Название") != "Завершен"
Переход на этап "Утверждающие"
Атрибут: Статус процесса
Формула: Lookup("Статус процесса.Утверждающие")При условии, что процесс не завершен (предыдущим правилом "Обработка результатов этапа"), переводит процесс на следующий этап "Утверждающие". Утверждающие Создать задачи этапа Этап процесса Создать задачи для "Утверждающие"
Исполнители: This("Утверждающие")
Шаблон процесса: Параллельный этап процесса
Плановая продолжительность этапа: This("Трудозатраты этап 2")
Подписание ЭЦП: Нет
Название задачи: Format("{0}: {1}", "Утвердить файлы", This("Статус процесса.Название"))
Тип элемента: Задача на согласованиеФормирует задачи на исполнителей этапа "Утверждающие". Утверждающие Обработка финальных результатов процесса
СервисОбработка вложений по результатам согласования Установка финальных статусов вложенным файлам
: Format("{0}/api/automation/completeapprovalstage", Cfg("Site.PortalUrl"))Правило обработки
Сервис "completeapprovalstage" устанавливает вложенным файлам итоговые результаты на основании решений на данном этапе процессадокумента*:
- Хотя бы один статус согласования "Отклонено" -> "Отклонено"
- Хотя бы один статус согласования "Согласовано с замечаниями" -> "Согласовано с замечаниями"
- Все статусы согласования "Согласовано" -> "Согласовано"
*Выбор из списка "Правила обработки документа".
В зависимости от того, условие какого из правил обработки документа будет выполнено, вложениям будет установлен соответствующий статус
.
Утверждающие Установить значения атрибутов Установить значение поля Дата окончания (Факт)
Атрибут: Дата окончания (Факт)
Формула: Date()Вычисляет значение для атрибута процесса "Дата окончания (Факт)".
Утверждающие Завершение процесса Установить значение поля Завершение процесса
Атрибут: Статус процесса
Статус процесса: Lookup("Статус процесса.Завершен")Переводит процесс в статус завершено, таким образом завершая процесс.










