Бизнес-процессы и задачи
Что такое бизнес-процесс
Бизнес-процесс — визуальная BPMN-схема обработки записи: последовательность задач, согласований и автоматических шагов, которую выполняет движок.
| Раздел меню | Что там |
|---|---|
| Бизнес-процессы → Шаблоны | схемы: создание, редактирование, версии |
| Бизнес-процессы → Запущенные процессы | экземпляры: на какой записи, где сейчас находятся |
| Бизнес-процессы → Типы согласований | формы согласований (поля, которые заполняет согласующий) |
Раздел доступен администратору и обладателю права admin.processes — для него есть готовая роль Дизайнер процессов (см. роли).
INFO
Модуль бизнес-процессов может быть выключен оператором платформы — глобально или для отдельной организации. Тогда разделы процессов скрыты из меню, панель «Процессы» на карточке записи не отображается, а API процессов отвечает 403/404.
Чем процесс отличается от автоматизации
Процесс — схема с шагами, которые ждут людей, и с состоянием, которое живёт между шагами. Если нужно «при таком-то условии изменить поле / отправить уведомление» одним действием и без ожидания — это автоматизация на уровне самой сущности.
Процессы, которые ставятся вместе с пресетами:
| Пресет | Процессы |
|---|---|
| IT-поддержка | Жизненный цикл заявки |
| ITSM | Жизненный цикл инцидента, изменения, проблемы |
| HR | Согласование отпуска |
| Проекты | Выполнение задачи |
Как процесс запускается
Способ запуска задаётся в самой схеме (какой стартовый узел на ней стоит) и в Настройках запуска шаблона.
По событию записи
Автоматически процесс стартует только от узла «По событию». На узле выбирается событие сущности:
| Событие | Когда стартует |
|---|---|
| Запись создана | при создании записи |
| Запись изменена | при сохранении, которое изменило данные |
| Изменено поле | выбранное поле получило новое значение; можно ограничить конкретным значением |
| Смена статуса | поле состояния получило новое значение |
Для «Изменено поле» и «Смены статуса» нужно, чтобы значение действительно изменилось: сохранение записи, в котором это поле осталось прежним, старта не даёт.
Дополнительно на узле задаётся условие по полям записи — процесс стартует, только когда условие истинно. Поле, которое никогда не заполняли, в условии считается пустым.
Вручную с карточки записи
На карточке кнопка «+ Запустить процесс» показывает шаблоны, доступные вам на этой записи. Доступность настраивается в шаблоне (Запуск → Настройки запуска):
- Ручной запуск с карточки записи — выключен по умолчанию;
- Кто может запускать — все пользователи или выбранные роли;
- Условия запуска — набор условий по полям записи (все / любое); кнопка показывается, только когда запись им удовлетворяет.
Из автоматизации и из другого процесса
- Действие автоматизации «Запустить процесс» стартует шаблон из правила сущности.
- Узел «Подпроцесс» запускает другой шаблон изнутри процесса — с ожиданием его завершения или без.
Узел «Старт»
Обычный «Старт» — точка входа схемы. Сам по себе он процесс не запускает: шаблон только со «Стартом» стартует вручную, автоматизацией или как подпроцесс.
Параллельные дубликаты
Настройка «Параллельные дубликаты» ограничивает одновременные экземпляры шаблона и действует на все пути запуска:
| Режим | Что делает |
|---|---|
| Разрешены (по умолчанию) | ограничений нет |
| Не более одного активного на запись | второй запуск на той же записи блокируется |
| Не более одного активного всего | второй запуск блокируется, пока идёт первый |
Заблокированный шаблон виден в меню запуска неактивным, с причиной.
Где видны процессы
На карточке записи — панель «Процессы»
В панели показаны:
- активные процессы записи — на каком шаге каждый находится;
- задачи и согласования, назначенные вам или вашей роли, с кнопками действия;
- История процессов — свёрнутый список завершённых.
В разделе «Моя работа»
Все ваши задачи и согласования по всем записям собраны в «Моя работа» в верхней части левого меню: с поиском, фильтрами, сортировкой и вкладкой «Выполненные». Список обновляется без перезагрузки страницы.
В колокольчике
Когда процесс назначает задачу вам или вашей роли, приходит уведомление со ссылкой на запись.
В разделе «Запущенные процессы»
Администратору процессов доступен полный список экземпляров: статус, привязанная запись, активные узлы, ошибка последнего шага.
Шаги, которые ждут человека
Задача
Задача приостанавливает ветку процесса, пока её не завершат. Завершается кнопкой на карточке записи или в «Моей работе».
По умолчанию задачи процесса складываются в системную сущность «Задачи». Если у вас есть своя сущность задач (вкладка «Задачи» в настройках сущности), узел можно нацелить на неё — в поле «Сущность задач». Тогда шаг процесса создаст запись вашей сущности со всеми её полями, формой и правами.
Кнопки в «Моей работе» и на странице экземпляра повторяют статусную модель сущности задач: показываются те переходы, которые модель разрешает из текущего статуса записи. Если путь к завершению идёт через промежуточный статус («Новая» → «В работе» → «Выполнена»), в строке сначала появится он. Когда переходов из текущего статуса нет, вместо кнопки выводится статус — это значит, что нужный переход не заведён в статусной модели сущности.
Если целевой статус требует заполнить поля (матрица статусов в настройках поля статуса), «Моя работа» спросит их в том же окне и отправит вместе со статусом. Файлы, картинки и точки на карте загружаются на карточке записи — для них кнопка ведёт туда.
Согласование
Согласование — шаг с решением «Согласовано» / «Отклонено». Решение и комментарий доступны следующим шагам: по ним расходятся ветки схемы (см. Согласования).
Согласование может требовать заполнения формы — набор полей задаётся типом согласования (Бизнес-процессы → Типы согласований) и открывается по кнопке «Детали».
Несколько исполнителей на одном шаге
Задачу или согласование можно назначить сразу нескольким людям, задав правило кворума:
| Кворум | Решение принято, когда |
|---|---|
| Все | высказались все; одно «Отклонено» отклоняет сразу |
| Большинство | «за» больше половины (или большинство стало недостижимо) |
| N голосов | набрано N голосов «за» (или N стало недостижимо) |
| Первый | ответил первый |
По достижении кворума оставшиеся задачи снимаются.
Кому назначается шаг
- Конкретному сотруднику — по значению поля записи (например, «Согласующий»).
- Роли, группе или подразделению — шаг видят все входящие в них; первый, кто выполнит, закроет шаг.
Если ни один получатель не определился, шаг создаётся без назначения и остаётся видимым администратору процессов.
Ветвление
Из задачи, согласования или шлюза может выходить несколько стрелок. Какие из них сработают, определяют условия на стрелках:
- стрелка с истинным условием проходит;
- стрелка без условия проходит всегда;
- стрелка, помеченная как ветка по умолчанию, проходит только если не прошла ни одна другая.
Условие собирается конструктором (поле — оператор — значение) или пишется выражением. Полная справка со списком доступных переменных и операторов открывается в редакторе по ссылке «Справка» рядом с условиями ветки.
Шлюзы отличаются логикой (маркер на элементе):
| Шлюз | Маркер | Разветвление | Слияние |
|---|---|---|---|
| Эксклюзивный | XOR | одна ветка | продолжает по первому пришедшему токену |
| Параллельный | AND | все ветки, условия игнорируются | ждёт все входящие ветки |
| Включающий | OR | все ветки с истинным условием | ждёт только те ветки, которые действительно пошли |
Чем разветвили — тем и сливайте
Параллельное слияние ждёт токен из каждой входящей ветки. Если выше по потоку стоял эксклюзивный шлюз, придёт только один токен и процесс остановится молча. Редактор помечает такую схему до сохранения.
Таймеры и SLA
- Пауза по таймеру — отдельный шаг, который держит процесс заданное время.
- Таймер на задаче (SLA) — срабатывает, если задачу не завершили за отведённое время, и уводит поток по своей ветке.
- Обработчик ошибки на задаче — уводит поток по ветке ошибки, если шаг упал; текст ошибки доступен следующим шагам.
Таймеры срабатывают фоновой командой process:tasks из планировщика Laravel — без запущенного планировщика паузы и SLA не сработают (см. развёртывание).
Несколько процессов на одной записи
На одну запись может быть запущено несколько процессов — как разных шаблонов, так и одного, если параллельные дубликаты разрешены. Каждый экземпляр ведёт своё состояние и свои задачи.
Версии шаблона
Шаблон версионируется: правки сохраняются новой версией, а уже запущенные экземпляры продолжают идти по той схеме, с которой стартовали. Новая версия применяется к запускам после её сохранения.
Если задача «зависла»
Задача может быть назначена сотруднику, который недоступен. Администратор процессов видит экземпляр в Бизнес-процессы → Запущенные процессы и может вмешаться там; там же виден текст ошибки, если процесс упал на шаге.