...
- Открыть канбан вид автоматизации для настройки жизненного цикла процесса.
Перейти в Настройки → Типы элементов, выделить тип элемента процесса, в данном примере тип элемента "Согласование документации (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("Статус процесса.Завершен")Переводит процесс в статус завершено, таким образом завершая процесс.
Сервис "completeallapprovedstage" устанавливает всем вложениям атрибут "Статус документа" - "Отклонено", а процессу - статус "Завершен", если, хотя бы в одной из задач этапа, есть вложение со статусом согласования - "Отклонено".
Примечание:


