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

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

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

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

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

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

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

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

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

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

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

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


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

    После добавления данного кода на портал в карточке лида, сделки, контакта и компании должна появиться вкладка "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