Розробка шаблонів бізнес-процесів Бітрікс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 робочих дні з урахуванням опрацювання сценаріїв та тестування на реальних даних.







