Как вывести дополнительные данные в карточку сделки в CRM Битрикс24
Битрикс24
Битрикс24
Эмиль Алиев
ул. Алма-Атинская, д. 99350058Краснодар, Российская Федерация
+7 (861) 204-01-67
Как вывести дополнительные данные в карточку сделки в CRM Битрикс24
CRM — большой раздел Битрикс24, с которым ежедневно работают тысячи сотрудников. Большинство доработок платформы связаны именно с оптимизацией CRM. Разберемся с одной из распространенных задач по выводу дополнительных данных в карточке лида, сделки, контакта или компании.
Вывести дополнительные данные в карточку можно тремя способами.
Добавить кастомное пользовательское свойство
Для этого нужно зарегистрировать собственный тип пользовательских свойств, разработать собственный виджет для его отображения и таким образом модернизировать карточку CRM. Можно реализовать и в облачной и в коробочной версии.
С помощью js кода
С помощью js кода можно добавить произвольный блок в произвольное место карточки. Можно реализовать только в коробочной версии.
Добавить дополнительную вкладку в карточке CRM
В карточку CRM можно добавлять собственные вкладки с произвольными данными. Можно реализовать и в коробочной и в облачной версии.
В этой статье остановимся подробнее на третьем способе — добавление дополнительной вкладки. Существует три варианта добавления дополнительной вкладки в карточку:
через JavaScript — подходит только для коробочной версии.
через REST-приложение.
через универсальные списки — подходит и для коробочной и для облачной версии.
Разберем все три.
1. Добавляем вкладку через JavaScript
Чтобы добавить дополнительную вкладку необходимо подключить собственный js файл на страницах с карточкой CRM. Самый простой способ это сделать — через обработчик события «onProlog» модуля «main».
В файле '/bitrix/js/my.module/app.js' объявим функцию initialize_foo_crm_detail_tab , которая будет добавлять новый таб в карточку.
После добавления данного кода на портал в карточке лида, сделки, контакта и компании должна появиться вкладка "Foo tab".
Вкладка "Foo tab"
При нажатии произойдет ajax-запрос на адрес ‘/foo.php’, если данный адрес будет существовать, то в открытую вкладку будет подставлен ответ, который вернется с этого адреса.
ajax-запрос на адрес "/foo.php"
Если пропустить объявление tabData.loader, во вкладке отобразится текст «Foo tab content» зеленым цветом.
Во вкладке отобразится текст «Foo tab content» зеленым цветом
При переключении между вкладками генерируется пользовательское событие «onEntityDetailsTabShow», на которое можно подписаться и добавить какую-то свою логику в уже существующую вкладку.
Но это уже другая история.
2. Добавляем новую вкладку через REST-приложение
Плюсы:
Можно добавить и в облаке и в коробке
Содержимое вкладки может быть любым
Минусы:
Работает только в серверном приложении
Для этого используем API-метод «placement.bind». Чтобы он сработал необходимо чтобы приложение имело доступ к CRM (crm) и Встраиванию приложений (placement).
Для этого используем API-метод «placement.bind»
Подробнее об ограничениях на встраивание приложений читайте в курсе Приложения Битрикс24
При первоначальной установке приложения или же где-то в настройках приложения добавляем следующий код:
В итоге, в карточках CRM появится всё та же вкладка «Foo tab», при открытии которой откроется фрейм с контентом по ссылке ‘https://mysuperbitrix24app.ru/foo.php’. Ссылка на контент вкладки должна быть в том же домене, в котором работает приложение.
D карточках CRM появится всё та же вкладка «Foo tab»
3. Добавляем вкладку через универсальные списки
Плюсы:
Просто
Быстро
Минусы:
Очень ограниченные возможности
В карточках CRM можно вывести вкладку с универсальным списком, при этом во вкладке будут отображаться элементы списка, которые связаны с текущей просматриваемой сущностью с возможностью добавления нового элемента списка.
Универсальный список
Чтобы универсальный список начал отображаться в карточке, необходимо добавить в нем свойство с типом «Привязка к элементам CRM». В настройках свойства выбрать нужные CRM-сущности и установить галочку «Показывать в карточке CRM».
Свойство с типом «Привязка к элементам CRM»
Итог
Добавив собственную вкладку в сделке, мы получили гибкий инструмент расширения стандартных возможностей модуля CRM под индивидуальные цели и задачи.
В зависимости от ситуации вы можете использовать разные инструменты добавления дополнительной вкладки в CRM. Иногда достаточно просто создать универсальный список нужной структуры и интегрировать его в карточку CRM. Если вы работаете с облаком и нужна какая-то более менее сложная логика во вкладке, то, безусловно, встраивание через приложение ваш единственный выход.
Если же вы работаете с коробкой, то можно использовать встраивание через приложение либо через js код. В данном случае встраивание через js код будет более гибким, так как дает больше свободы действий.