Разработка шаблонов бизнес-процессов Битрикс24
На портале накопилось восемь похожих процессов согласования с небольшими отличиями по суммам и согласующим лицам. Каждый настраивался отдельно, при изменении правил нужно редактировать восемь копий. Шаблоны БП решают эту проблему — один шаблон, параметры при запуске.
Что такое шаблон бизнес-процесса
Шаблон — это сохранённая конфигурация БП, которую можно запустить для любого подходящего документа. Шаблоны хранятся в b_bizproc_workflow_template, привязаны к типу документа (MODULE_ID, ENTITY, DOCUMENT_TYPE).
Ключевое отличие шаблона от одноразового БП: параметры запуска. При старте шаблона система показывает пользователю форму с полями — пользователь вводит данные (например, сумму или причину заявки), и они доступны внутри процесса как переменные.
Параметры vs. переменные vs. константы
Три типа данных в шаблоне БП:
Параметры — запрашиваются у пользователя при запуске. Тип, обязательность, значение по умолчанию задаются в редакторе. Используются там, где данные меняются от запуска к запуску.
Переменные — внутренние переменные, существуют в рамках одного экземпляра БП. Инициализируются в начале, изменяются действиями. Например, переменная ApprovalResult накапливает результаты голосования.
Константы — фиксированные значения, одинаковые для всех запусков шаблона: пороговые суммы, адреса уведомлений, ID пользователей-согласующих. При изменении правил меняется только константа — не перестраивается весь граф.
Экспорт и импорт шаблонов
Шаблоны экспортируются в XML-файл через интерфейс редактора. XML содержит полную структуру БП: все действия, условия, настройки, привязки к полям. Это позволяет:
- Переносить шаблоны между порталами (тест → продакшн)
- Хранить шаблоны в системе контроля версий
- Создавать библиотеку типовых процессов
При импорте на новый портал поля-привязки (ID пользователей, ID списков) нужно перемапить вручную — они будут отличаться. Автоматического ремаппинга нет.
Путь импорта/экспорта: [Список] → Бизнес-процессы → [Шаблон] → Редактировать → Экспорт/Импорт.
Программное создание шаблонов
Для массового создания однотипных шаблонов (например, для 30 списков) используется API:
$template = new \CBPWorkflowTemplateLoader();
$arTemplate = [
'MODULE_ID' => 'lists',
'ENTITY' => 'BizprocDocument',
'DOCUMENT_TYPE' => 'iblock_' . $iblockId,
'NAME' => 'Согласование заявки',
'DESCRIPTION' => '',
'AUTO_EXECUTE' => \CBPDocumentEventType::Create,
'TEMPLATE' => $arProcessTemplate, // массив из XML
'PARAMETERS' => $arParameters,
'VARIABLES' => $arVariables,
'CONSTANTS' => $arConstants,
];
$templateId = \CBPWorkflowTemplateLoader::Add($arTemplate, $errors);
AUTO_EXECUTE — флаг автоматического запуска: при создании, изменении документа или вручную. Значения: 0 (вручную), 1 (создание), 2 (изменение), 4 (удаление).
Версионирование шаблонов
Битрикс24 не имеет встроенного git-подобного версионирования БП. Практика: перед каждым изменением экспортировать XML с датой в имени файла и хранить в репозитории. При проблемах — импорт старой версии.
Сроки разработки
| Задача | Время |
|---|---|
| Проектирование структуры шаблона | 2–4 ч |
| Разработка шаблона в редакторе | 4–8 ч |
| Тестирование и отладка | 2–4 ч |
| Документация для администраторов | 2 ч |
Разработка одного шаблона — 2–3 рабочих дня с учётом проработки сценариев и тестирования на реальных данных.







