Как вывести дополнительные данные в карточку сделки в CRM Битрикс24
Коробочный Битрикс24
Коробочный Битрикс24

Как вывести дополнительные данные в карточку сделки в CRM Битрикс24

CRM — большой раздел Битрикс24, с которым ежедневно работают тысячи сотрудников. Большинство доработок платформы связаны именно с оптимизацией CRM. Разберемся с одной из распространенных задач по выводу дополнительных данных в карточке лида, сделки, контакта или компании. Вывести дополнительные данные в карточку можно тремя способами.

  1. Добавить кастомное пользовательское свойство

    Для этого нужно зарегистрировать собственный тип пользовательских свойств, разработать собственный виджет для его отображения и таким образом модернизировать карточку CRM. Можно реализовать и в облачной и в коробочной версии.

  2. С помощью js кода

    С помощью js кода можно добавить произвольный блок в произвольное место карточки. Можно реализовать только в коробочной версии.

  3. Добавить дополнительную вкладку в карточке CRM

    В карточку CRM можно добавлять собственные вкладки с произвольными данными. Можно реализовать и в коробочной и в облачной версии.

В этой статье остановимся подробнее на третьем способе — добавление дополнительной вкладки. Существует три варианта добавления дополнительной вкладки в карточку:

  1. через JavaScript — подходит только для коробочной версии.
  2. через REST-приложение.
  3. через универсальные списки — подходит и для коробочной и для облачной версии.

Разберем все три.

1. Добавляем вкладку через JavaScript


Чтобы добавить дополнительную вкладку необходимо подключить собственный js файл на страницах с карточкой CRM. Самый простой способ это сделать — через обработчик события «onProlog» модуля «main».


В файле '/bitrix/js/my.module/app.js' объявим функцию initialize_foo_crm_detail_tab , которая будет добавлять новый таб в карточку.

После добавления данного кода на портал в карточке лида, сделки, контакта и компании должна появиться вкладка "Foo tab". При нажатии произойдет ajax-запрос на адрес ‘/foo.php’, если данный адрес будет существовать, то в открытую вкладку будет подставлен ответ, который вернется с этого адреса. Если пропустить объявление tabData.loader, во вкладке отобразится текст «Foo tab content» зеленым цветом. При переключении между вкладками генерируется пользовательское событие «onEntityDetailsTabShow», на которое можно подписаться и добавить какую-то свою логику в уже существующую вкладку. Но это уже другая история.


2. Добавляем новую вкладку через REST-приложение


Плюсы:

Можно добавить и в облаке и в коробке
Содержимое вкладки может быть любым

Минусы:

  • Работает только в серверном приложении
Для этого используем API-метод «placement.bind». Чтобы он сработал необходимо чтобы приложение имело доступ к CRM (crm) и Встраиванию приложений (placement). Подробнее об ограничениях на встраивание приложений читайте в курсе Приложения Битрикс24 При первоначальной установке приложения или же где-то в настройках приложения добавляем следующий код: В итоге, в карточках CRM появится всё та же вкладка «Foo tab», при открытии которой откроется фрейм с контентом по ссылке ‘https://mysuperbitrix24app.ru/foo.php’. Ссылка на контент вкладки должна быть в том же домене, в котором работает приложение.

3. Добавляем вкладку через универсальные списки


Плюсы:

  • Просто
  • Быстро

Минусы:

  • Очень ограниченные возможности
В карточках CRM можно вывести вкладку с универсальным списком, при этом во вкладке будут отображаться элементы списка, которые связаны с текущей просматриваемой сущностью с возможностью добавления нового элемента списка. Чтобы универсальный список начал отображаться в карточке, необходимо добавить в нем свойство с типом «Привязка к элементам CRM». В настройках свойства выбрать нужные CRM-сущности и установить галочку «Показывать в карточке CRM».

Итог

Добавив собственную вкладку в сделке, мы получили гибкий инструмент расширения стандартных возможностей модуля CRM под индивидуальные цели и задачи.

В зависимости от ситуации вы можете использовать разные инструменты добавления дополнительной вкладки в CRM. Иногда достаточно просто создать универсальный список нужной структуры и интегрировать его в карточку CRM. Если вы работаете с облаком и нужна какая-то более менее сложная логика во вкладке, то, безусловно, встраивание через приложение ваш единственный выход.

Если же вы работаете с коробкой, то можно использовать встраивание через приложение либо через js код. В данном случае встраивание через js код будет более гибким, так как дает больше свободы действий.
Эмиль Алиев
Эмиль Алиев
Ведущий разработчик Битрикс24

Рассылка «Менеджмент и развитие продаж с БизнесПрофи»

Рассказываем, как с помощью современных технологий развивать продажи, кратно увеличить возврат инвестиций с рекламы, сделать контроль умным и эффективным, мотивировать сотрудников, снизить потери и поднять общую эффективность бизнеса.