Разработка кастомных карточек CRM Битрикс24

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

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

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

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

  • Разработка сайта компании B2B ADVANCE
    Разработка сайта компании B2B ADVANCE
    1460
  • Разработка веб-сайта для компании ФИКСПЕР
    Разработка веб-сайта для компании ФИКСПЕР
    1019
  • Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    764
  • Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    882
  • Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    810
  • Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1166

Когда стандартная карточка сделки не справляется

Менеджер по продажам оборудования видит те же поля, что и менеджер по аренде: поля не сгруппированы, вычисляемых значений нет, условная логика отображения отсутствует. Мы сталкивались с такими запросами десятки раз и накопили опыт, который позволяет решить задачу за 3–7 дней вместо месяцев. Наши инженеры гарантируют: кастомная карточка покажет менеджеру ровно то, что нужно на текущей стадии, без лишней информации.

Кастомные карточки CRM: два уровня кастомизации

Битрикс24 предлагает два способа изменить карточку CRM-сущности, и они принципиально разные по глубине.

Уровень 1: настройка через интерфейс. В карточке сделки (контакта, смарт-процесса) нажмите «Настроить карточку» → «Настроить поля и разделы». Здесь можно: переименовать разделы, перетащить поля между секциями, скрыть ненужные поля, задать обязательность полей по стадиям (для сделок). Это бесплатно и покрывает ~40% запросов. Но нельзя добавить вычисляемые поля, условную логику, кастомные виджеты, данные из внешних систем.

Уровень 2: разработка через REST Placement API. Это встраивание произвольного HTML/JS-контента в определённые зоны карточки. Именно здесь начинается настоящая кастомизация.

Что можно встроить через Placement API?

Карточка CRM-сущности содержит несколько зон (placement), в которые можно встроить кастомный контент:

  • CRM_DEAL_DETAIL_TAB — вкладка в карточке сделки. Полноценная область для любого UI.
  • CRM_DEAL_DETAIL_ACTIVITY — блок в таймлайне. Подходит для вывода кастомных действий.
  • CRM_CONTACT_DETAIL_TAB, CRM_COMPANY_DETAIL_TAB — аналогично для контактов и компаний.
  • CRM_DYNAMIC_ITEM_DETAIL_TAB — вкладка в карточке смарт-процесса.

Регистрация placement через REST:

BX24.callMethod('placement.bind', { PLACEMENT: 'CRM_DEAL_DETAIL_TAB', HANDLER: 'https://your-app.com/deal-tab.html', TITLE: 'Калькулятор маржи' }); 

После регистрации в карточке появится новая вкладка. При открытии Битрикс24 загрузит HANDLER в iframe и передаст контекст: ENTITY_ID (ID сделки), AUTH_ID, REFRESH_ID.

Глубокое погружение: кастомная вкладка с данными

Рассмотрим типичный кейс — вкладка «Финансы» в карточке сделки, которая показывает: сумму по товарным позициям, себестоимость из внешней 1С, маржу, историю оплат.

Шаг 1: получение данных сделки

BX24.init(function() { var dealId = BX24.placement.info().options.ID; BX24.callBatch({ deal: ['crm.deal.get', {id: dealId}], products: ['crm.deal.productrows.get', {id: dealId}] }, function(result) { var deal = result.deal.data(); var products = result.products.data(); renderFinanceTab(deal, products); }); }); 

Шаг 2: запрос себестоимости из внешнего API. Вкладка делает запрос к вашему бэкенду, передавая артикулы товарных позиций. Бэкенд проксирует запрос к 1С или ERP и возвращает себестоимость.

Шаг 3: рендеринг. Рассчитываете маржу на клиенте и выводите таблицу. Для визуального соответствия используйте CSS-переменные Б24 или библиотеку @bitrix24/b24-ui.

Почему условная логика полей не работает «из коробки»?

Частый запрос: скрывать/показывать поля в зависимости от значения другого поля. Например, поле «Причина отказа» видно только на стадии «Провалена». Стандартный функционал позволяет сделать поле обязательным по стадии, но не скрыть его.

Решение — кастомный обработчик через placement CRM_DEAL_DETAIL_TAB или встраивание JS-кода через пользовательский тип поля. В коробочной версии доступна модификация шаблона компонента bitrix:crm.deal.detail с добавлением JS-логики в script.js.

Для облачной версии единственный чистый способ — placement с полной перерисовкой нужной секции полей. Это означает: вы забираете данные через REST, рендерите поля с условной логикой в своём iframe, а при сохранении отправляете изменения обратно через crm.deal.update.

Виджеты в таймлайне

Placement CRM_*_DETAIL_ACTIVITY встраивает блок прямо в ленту активностей карточки. Подходит для:

  • Вывода статуса доставки (данные из API транспортной компании)
  • Показа баланса клиента из бухгалтерской системы
  • Отображения последних тикетов из helpdesk

Виджет обновляется при каждом открытии карточки. Для кэширования используйте BX24.appOption — хранилище приложения на стороне Б24.

Производительность: сравнение подходов

Iframe-вкладки загружаются при активации (клик по табу). Для тяжёлых вкладок это нормально — пользователь не ждёт загрузки того, что не открывал. Но если вы встраиваете виджет в основную область карточки — он грузится сразу. Каждый REST-запрос из iframe — это сетевой round-trip. Используйте BX24.callBatch для объединения запросов: один batch вместо пяти последовательных вызовов. Кастомные вкладки через Placement API разрабатываются в 3 раза быстрее, чем переопределение шаблона в коробке, и не требуют обновлений ядра.

Элемент карточки Способ кастомизации Сроки
Перегруппировка полей Настройка через UI 1–2 часа
Обязательность по стадии Настройка через UI 30 минут
Кастомная вкладка с внешними данными REST Placement 3–5 дней
Условная логика полей (облако) REST Placement + свой рендер 5–7 дней
Виджет в таймлайне REST Placement Activity 2–3 дня

Этапы разработки кастомной карточки

Этап Что делаем Результат
Аналитика Собираем требования к полям, логике, интеграциям ТЗ и прототип карточки
Проектирование Проектируем структуру вкладок, виджетов, API-запросов Архитектурная схема
Разработка Регистрируем placement, пишем код вкладки/виджета, интегрируем с 1С или внешним API Рабочая карточка в тестовом окружении
Тестирование Проверяем корректность данных, условную логику, производительность Отчёт о тестировании
Деплой Устанавливаем приложение на боевой портал, настраиваем права доступа Рабочая карточка в продакшене

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

  • Разработка технического задания и прототипа карточки
  • Регистрация placement и настройка REST-интеграций
  • Реализация кастомной вкладки/виджета с тестированием
  • Интеграция с 1С (CommerceML) или другими внешними системами
  • Документация по API и передача доступов
  • Обучение сотрудников работе с новой карточкой
  • Поддержка 1 месяц после запуска

Ограничения облачной версии

В облаке нельзя модифицировать стандартные секции карточки — только добавлять новые вкладки и виджеты. Нельзя убрать стандартные поля из основного вида (только скрыть через настройку карточки). Для полного контроля над интерфейсом карточки — коробочная версия с переопределением шаблона компонента crm.deal.detail.

Оцените свой проект за 1 день

Мы разрабатываем кастомные карточки CRM под ключ. 10+ лет опыта в Битрикс24, 50+ успешных проектов. Стоимость разработки рассчитывается индивидуально, экономия времени менеджеров после внедрения — до 30%. Закажите разработку кастомной карточки CRM — пришлём предварительную оценку сроков и стоимости. Получите консультацию инженера бесплатно.