Проектирование логики бизнес-процессов Битрикс24

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Проектирование логики бизнес-процессов Битрикс24
Средняя
~2-3 рабочих дня
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1163
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    811
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    563
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    743
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    653
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    976

Проектирование логики бизнес-процессов Битрикс24

Проектирование логики бизнес-процессов Битрикс24

Бизнес-процессы в Битрикс24 — одна из тех функций, которые при грамотном применении экономят часы ежедневной ручной работы, а при непродуманном внедрении создают хаос: зависшие экземпляры, уведомления, которые никуда не доходят, и задачи, которые «провалились» на неопределённый шаг без индикации причины.

За несколько лет проектирования БП разного масштаба у нас сложилось чёткое понимание: большинство проблем появляются не на этапе реализации в визуальном дизайнере, а на этапе постановки задачи — когда логика процесса не зафиксирована формально до начала «клика мышкой».

Архитектура БП в Битрикс24

Движок бизнес-процессов в Битрикс24 основан на модуле bizproc. Процесс описывается как граф активностей (CBPActivity) с переходами между ними. Каждый экземпляр процесса хранится в таблицах b_bp_workflow_instance, b_bp_workflow_state, b_bp_task — именно туда нужно смотреть при диагностике зависших процессов.

Активности делятся на:

  • Системные — задержка, условие, параллельная активность, цикл.
  • Действия — отправка уведомления, создание задачи, изменение поля сущности, вызов REST-метода.
  • Пользовательские действия (UDA) — кастомные активности, написанные на PHP и зарегистрированные через CBPActivity::RegisterActivity().

Важный нюанс: БП в Битрикс24 могут быть привязаны к лидам, сделкам, контактам, компаниям, задачам, документам живой ленты и элементам смарт-процессов. У каждого типа сущности — свой контекст переменных и свои доступные действия. Это нужно учитывать при проектировании: процесс, написанный для сделки, нельзя напрямую переиспользовать для смарт-процесса без адаптации.

Процесс проектирования

Шаг 1. Формализация процесса в BPMN (или упрощённой нотации).

Прежде чем открывать дизайнер БП — рисуем блок-схему. Обязательные элементы: старт, конец (их может быть несколько), ветвления с условиями, ответственные за каждый шаг, таймеры и эскалации. Особое внимание — исключительным путям: что происходит, если клиент не ответил 3 дня, если ответственный в отпуске, если платёж вернулся с ошибкой.

Именно исключительные пути — главный источник проблем в реализованных БП. В дизайнере их забывают, и процесс зависает на ожидании без каких-либо сигналов.

Шаг 2. Инвентаризация переменных.

В Битрикс24 у каждого процесса есть: переменные процесса (хранятся только в рамках экземпляра), параметры процесса (входящие значения при старте) и константы. Кроме того, через Document доступны поля самой сущности.

Нужно заранее определить: какие данные процесс читает из сущности, какие создаёт сам, что должно записаться обратно в поля по завершению.

Шаг 3. Определение триггеров.

Процессы запускаются вручную, по событию (изменение поля, смена стадии, добавление сущности) или по расписанию (через агенты в модуле bizproc). От типа триггера зависит архитектура: если процесс стартует по смене стадии сделки, нужно предусмотреть защиту от повторного запуска при возврате на ту же стадию.

Шаг 4. Проектирование уведомлений.

Уведомления в БП настраиваются через активность «Уведомление» с адресацией по роли (ответственный, автор, конкретный пользователь, группа). Типичная ошибка — уведомление уходит «ответственному», но в момент выполнения шага поле «Ответственный» ещё не заполнено. Нужно явно прописывать цепочку адресации для каждого шага.

Кейс: процесс согласования договора

Клиент — производственная компания, 80 пользователей Битрикс24. Задача: автоматизировать согласование договора через CRM. Договор прикреплён к сделке как пользовательское поле типа «Файл». Участники согласования: юрист, финансовый директор, генеральный директор — последовательно.

Исходная попытка клиента: три последовательных задания в БП, каждое — «Утвердить/Отклонить». Проблема: при отклонении на любом шаге процесс просто завершался без возможности доработки и повторной подачи.

Переработанный вариант включал:

  • Цикл «подача → согласование» с возможностью возврата на доработку на любом этапе с комментарием
  • Таймер эскалации: если юрист не ответил за 2 рабочих дня — уведомление руководителю
  • Параллельное уведомление инициатору о текущем статусе на каждом шаге
  • Запись итогового статуса согласования в пользовательское поле сделки для отчётности
  • Автоматическое создание задачи на юрисконсульта с вложением файла договора

Реализация заняла 8 рабочих дней с учётом тестирования на тестовом окружении и переноса на продакшн.

Ограничения и подводные камни

Версионирование. Запущенные экземпляры процесса продолжают работать по старой версии шаблона. Если процесс изменили, но старые экземпляры не завершились — в системе одновременно работают два варианта логики. Это нужно учитывать при внесении изменений: иногда приходится принудительно завершать старые экземпляры.

Производительность. Тяжёлые БП с большим количеством параллельных веток и REST-вызовами могут создавать нагрузку на cron. Если агент CBPSchedulerService::OnAgent запускается каждую минуту, а активных экземпляров несколько сотен — это заметно. Проектируем с учётом нагрузки.

REST-активности. Вызов внешних систем через REST из БП делается через активность «Исходящий вебхук» или через кастомную UDA. Нужно предусмотреть обработку ошибок: если внешний сервис недоступен, процесс не должен зависать навсегда.

Сроки

Проектирование одного линейного процесса (5–8 шагов, без параллельных веток) — 2–4 дня. Сложный процесс с ветвлением, эскалациями, интеграциями — 1–3 недели. В услугу входят: блок-схема согласованного процесса, реализация в дизайнере БП, документация переменных, тестирование и передача.