Разработка кастомных смарт-процессов Битрикс24 под ключ

Разработка кастомных смарт-процессов Битрикс24 ### Когда стандартных CRM-сущностей не хватает, а лиды и сделки не отражают специфику бизнеса, компании приходят к кастомным смарт-процессам? Допустим, нужно управлять рекламациями: у каждой есть номер, статус, ответственный, связанная сделка и за
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Разработка кастомных смарт-процессов Битрикс24 под ключ
Средний
~1-2 недели

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1454
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    1017
  • 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
    759
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    879
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    802
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1161

Разработка кастомных смарт-процессов Битрикс24

Когда стандартных CRM-сущностей не хватает, а лиды и сделки не отражают специфику бизнеса, компании приходят к кастомным смарт-процессам?

Допустим, нужно управлять рекламациями: у каждой есть номер, статус, ответственный, связанная сделка и задача для отдела качества. Без кастомной разработки это превращается в хаос из разнородных таблиц. Мы решаем это с помощью динамических CRM-сущностей Битрикс24, создавая полноценную воронку с автоматизацией.

Смарт-процессы — это CRM-сущности, которые вы создаёте сами: «Договор», «Заявка на закупку», «Рекламация», «Проект». Технически это динамические CRM-сущности (\Bitrix\Crm\Service\Factory), хранящиеся в таблицах b_crm_dynamic_items_{entityTypeId}. Наш опыт 10+ лет в разработке на Битрикс позволяет стабильно реализовывать такие решения.

Почему стандартного конструктора недостаточно?

В настройках CRM → «Смарт-процессы» менеджер создаёт новый тип: добавляет пользовательские поля, настраивает воронку стадий, включает нужные блоки (контакт, компания, товары, документы). Это работает для простых случаев, но когда требуется автоматизация вычислений, интеграция с 1С или кастомный интерфейс карточки, без кода не обойтись. Например, поле «Номер рекламации» должно формироваться по маске РК-ГОД-XXXX с автоинкрементом — конструктор такое не умеет.

Типовые сценарии, когда нужна кастомная разработка:

  • Автоматическое вычисление полей при создании элемента.
  • Цепочка связанных действий: создание задачи, уведомление, запись в 1С.
  • Нестандартная карточка с кастомным UI (например, встраивание графиков через placement).
  • Сложные права доступа (читают все, редактирует только ответственный и руководитель).

Как создать смарт-процесс через REST API?

Создаём тип программно — удобно для деплоя между окружениями:

$result = $b24->callMethod('crm.type.add', [ 'fields' => [ 'title' => 'Рекламация', 'isUseInUserfieldEnabled' => true, 'isLinkWithProductsEnabled' => true, 'isStagesEnabled' => true, 'isRobotsEnabled' => true, 'isBizProcEnabled' => true, ], ]); $entityTypeId = $result['result']['type']['entityTypeId']; // например, 1052 // Добавляем пользовательские поля $b24->callMethod('crm.type.fields.add', [ 'entityTypeId' => $entityTypeId, 'fields' => [ 'fieldName' => 'CLAIM_NUMBER', 'userTypeId' => 'string', 'listLabel' => 'Номер рекламации', 'isRequired' => true, ], ]); 

После этого тип доступен в CRM, можно назначать стадии, роботов и права. REST API даёт полный контроль, включая миграции между боевым и тестовым порталами (см. REST).

Реализация автоматической нумерации элементов

Типовая задача: «Рекламация №РК-ГОД-0042». Реализуется через обработчик события onCrmDynamicItemBeforeAdd:

AddEventHandler('crm', 'onCrmDynamic' . $entityTypeId . 'ItemBeforeAdd', function(\Bitrix\Main\Event $event) { $item = $event->getParameter('item'); $year = date('Y'); // Атомарный счётчик в Redis или таблице $seq = incrementSequence("claim_{$year}"); $item->set('UF_CRM_CLAIM_NUMBER', sprintf('РК-%d-%04d', $year, $seq)); }); 

Атомарность гарантирует уникальность номера даже при параллельных запросах. Можно использовать как Redis, так и блокировки MySQL (SELECT ... FOR UPDATE).

Связанные сущности и каскадные действия

При создании рекламации автоматически:

  1. Создаётся задача для отдела качества.
  2. Прикрепляется связанная сделка (если рекламация по заказу).
  3. Уведомляется ответственный менеджер.
AddEventHandler('crm', 'onCrmDynamic' . $entityTypeId . 'ItemAdd', function(\Bitrix\Main\Event $event) use ($b24) { $item = $event->getParameter('item'); $dealId = $item->get('OPPORTUNITY'); // кастомное поле связанной сделки // Создаём задачу $b24->callMethod('tasks.task.add', [ 'fields' => [ 'TITLE' => 'Обработать рекламацию ' . $item->get('UF_CRM_CLAIM_NUMBER'), 'RESPONSIBLE_ID' => getQualityDeptHead(), 'DEADLINE' => date('Y-m-d\TH:i:s', strtotime('+2 business days')), 'UF_CRM_TASK' => ["D_{$dealId}"], ], ]); // Уведомление через бота notifyManager($item->get('ASSIGNED_BY_ID'), "Новая рекламация: " . $item->get('UF_CRM_CLAIM_NUMBER')); }); 

Обработчики пишутся один раз и работают стабильно. Важно логировать ошибки — в случае сбоя уведомление не потеряется.

Кастомные роботы для смарт-процесса

Роботы — это действия, которые CRM выполняет автоматически при смене стадии. Стандартные роботы (отправить email, поставить задачу) — из коробки. Кастомный робот создаётся через REST:

$b24->callMethod('bizproc.robot.add', [ 'CODE' => 'send_to_1c', 'HANDLER' => 'https://your-server.com/robot/send-to-1c', 'AUTH_USER_ID' => 1, 'NAME' => ['ru' => 'Отправить в 1С'], 'PROPERTIES' => [ 'document_type' => ['Name' => 'Тип документа', 'Type' => 'select', 'Options' => ['claim' => 'Рекламация', 'refund' => 'Возврат']], ], 'RETURN_PROPERTIES' => [ 'external_id' => ['Name' => 'ID в 1С', 'Type' => 'string'], ], ]); 

Когда CRM выполняет робота, Б24 POST'ит на HANDLER данные элемента?

Обработчик выполняет логику (запрос к 1С), возвращает JSON с RETURN_PROPERTIES. Б24 записывает возвращённые данные в поля элемента.

Кастомная карточка через Placement

Стандартная карточка смарт-процесса не всегда удобна. Для сложного UI — встраиваем собственный интерфейс через placement.bind с типом CRM_DYNAMIC_DETAIL_TOOLBAR:

$b24->callMethod('placement.bind', [ 'PLACEMENT' => 'CRM_DYNAMIC_' . $entityTypeId . '_DETAIL_TOOLBAR', 'HANDLER' => 'https://your-server.com/app/claim-detail', 'TITLE' => 'Дополнительные данные', ]); 

Открывается как боковая панель (слайдер) в карточке смарт-процесса — ваш SPA с кастомным интерфейсом.

Права доступа

Права на смарт-процесс настраиваются через CRM-роли (crm.type.userfield.access.set) или через приложение. Для сложной матрицы: читать — все менеджеры, редактировать — только ответственный и руководитель, удалять — только администратор. Проверяем через user.current и department.get при каждом запросе.

Интеграция с внешними системами

Кастомный смарт-процесс обрабатывает данные в 2 раза быстрее стандартной сделки за счёт оптимизированной структуры хранения. Вот типовые сценарии:

Направление Метод Событие
Смарт-процесс → 1С REST-обработчик + кастомный робот Смена стадии
1С → Смарт-процесс crm.item.update через webhook Б24 По расписанию или триггеру в 1С
Смарт-процесс → Email event.send или кастомный робот Создание, смена стадии
Внешний сервис → Смарт-процесс crm.item.add через REST API Webhook от внешнего сервиса

Интеграция с 1С часто использует протокол CommerceML для обмена справочниками и документами.

Что входит в работу

  • Проектирование структуры полей и воронки стадий.
  • Создание типа, пользовательских полей через REST/API.
  • Разработка обработчиков событий (нумерация, каскадные действия).
  • Кастомные роботы (до 3 шт. включено).
  • Интеграция с внешними системами (1С, почта, вебхуки).
  • Документация по структуре и API.
  • Обучение администратора (2 часа онлайн).
  • Гарантийная поддержка 30 дней.

Сроки

Этап Срок
Проектирование структуры полей и воронки 2–3 дня
Создание типа, полей через REST/API 1–2 дня
Обработчики событий (нумерация, каскад) 2–4 дня
Кастомные роботы 2–3 дня на каждый
Кастомная карточка (SPA в placement) 3–5 дней
Интеграция с внешними системами 2–5 дней
Тестирование 2–3 дня

Итого: 2–4 недели в зависимости от числа роботов и наличия кастомного UI. Чтобы оценить ваш проект, свяжитесь с нами — мы рассчитаем срок и бюджет за один день. Закажите разработку кастомного смарт-процесса под ваши задачи — мы спроектируем воронку, реализуем интеграции и автоматизируем бизнес-процессы.