← Назад к кейсам

Кейсы

Карта связей CRM и смарт-процессов

Как локальное приложение Bitrix24 показывает связи между лидами, сделками, контактами, компаниями и смарт-процессами.

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

Задача

Нужно было сделать наглядную карту связей между стандартными CRM-сущностями и смарт-процессами: сделками, лидами, контактами, компаниями и пользовательскими типами CRM.

Увидеть связи между CRM-сущностями

В Bitrix24 связи часто видны только внутри конкретной карточки или в настройках отдельного поля. Если смарт-процессов много, сложно быстро понять общую структуру: какой тип связан со сделкой, какой — с компанией, где есть связь с контактом, а где связь настроена через родительский элемент.

Приложение должно было показать:

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

Табличного списка связей было недостаточно

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

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

Проблема

Связи в CRM не лежат в одном удобном месте. Их приходится собирать из метаданных полей разных типов CRM и смарт-процессов.

Связи прятались в пользовательских полях

Часть связей задаётся штатными полями вроде компании, контакта, лида или сделки. Часть — через родительские поля смарт-процессов. Ещё часть может быть настроена в пользовательских CRM-полях.

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

Решение

Я сделал локальное приложение для Bitrix24 Cloud. Оно получает список типов CRM, загружает метаданные полей и строит интерактивную карту связей.

Схема типов и связей CRM

Приложение показывает сущности как блоки, а найденные связи — как линии между ними. Если между двумя типами найдено несколько полей связи, они объединяются в одну линию, а подробности можно посмотреть отдельно.

Общий вид карты связей CRM и смарт-процессов в локальном приложении Bitrix24
Общий вид карты: стандартные CRM-сущности и смарт-процессы показаны блоками, а связи между ними — линиями.

Карта строится не по конкретным карточкам, а по типам сущностей. То есть приложение показывает не связи одной сделки или одного элемента, а структуру связей между типами CRM на портале.

Отсеивание технических и лишних полей

Чтобы не рисовать лишние линии, приложение учитывает только подтверждённые CRM-связи: штатные поля привязки к компании, контакту, лиду и сделке, родительские поля смарт-процессов и пользовательские поля типа CRM с понятными настройками.

Специально не считаются связями стадии, статусы, источники, валюты, веб-формы, служебные справочники, телефоны и e-mail. Это важно, потому что технически они могут быть похожи на CRM-поля, но по смыслу не являются связью с другой CRM-карточкой.

Так карта остаётся полезной: на ней видны именно отношения между типами, а не все поля, которые случайно похожи на CRM-привязки.

Навигация по карте связей

Схему можно двигать и масштабировать. Блоки перетаскиваются мышью, пустое пространство можно сдвигать, а масштаб меняется колёсиком.

Справа добавлена панель со списком блоков. Через неё можно скрывать и показывать отдельные типы, чтобы убрать лишнее с экрана и оставить только нужную часть схемы.

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

Детали выбранной сущности

При клике по блоку приложение показывает подробности по выбранному типу: какие связи входят в него, какие выходят из него и через какие поля они найдены.

Информация по выбранному узлу карты связей CRM после клика
Информация по выбранному узлу: можно быстро посмотреть входящие и исходящие связи конкретного типа CRM.

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

Результат

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

Связи стали понятны без ручного разбора

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

После доработки можно:

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

Приложение не требует доработок ядра и работает как локальное приложение Bitrix24 Cloud. Для доступа нужен только scope CRM и права пользователя на чтение нужных CRM-типов.