Кейсы
Карта связей CRM и смарт-процессов
Как локальное приложение Bitrix24 показывает связи между лидами, сделками, контактами, компаниями и смарт-процессами.
Когда в CRM много смарт-процессов, связи между ними быстро перестают быть очевидными. Для этого было сделано локальное приложение, которое строит карту типов CRM и показывает, какие сущности связаны между собой.
Задача
Нужно было сделать наглядную карту связей между стандартными CRM-сущностями и смарт-процессами: сделками, лидами, контактами, компаниями и пользовательскими типами CRM.
Увидеть связи между CRM-сущностями
В Bitrix24 связи часто видны только внутри конкретной карточки или в настройках отдельного поля. Если смарт-процессов много, сложно быстро понять общую структуру: какой тип связан со сделкой, какой — с компанией, где есть связь с контактом, а где связь настроена через родительский элемент.
Приложение должно было показать:
- стандартные CRM-сущности;
- смарт-процессы портала;
- направления связей между типами;
- поля, через которые найдена связь;
- входящие и исходящие связи выбранного типа;
- общую карту без открытия настроек каждого смарт-процесса отдельно.
Табличного списка связей было недостаточно
Список полей или таблица связей помогает при точечной проверке, но плохо показывает общую картину. Когда нужно быстро оценить архитектуру CRM, удобнее видеть схему: блоки, линии и направление связей.
Поэтому формат был выбран именно как карта. По ней проще понять, какие типы перегружены связями, какие почти ни с чем не связаны, и где могут быть лишние или забытые привязки.
Проблема
Связи в CRM не лежат в одном удобном месте. Их приходится собирать из метаданных полей разных типов CRM и смарт-процессов.
Связи прятались в пользовательских полях
Часть связей задаётся штатными полями вроде компании, контакта, лида или сделки. Часть — через родительские поля смарт-процессов. Ещё часть может быть настроена в пользовательских CRM-полях.
Если проверять это вручную, приходится открывать настройки типов, смотреть поля, разбирать системные названия и сопоставлять их с реальными сущностями портала.
Решение
Я сделал локальное приложение для Bitrix24 Cloud. Оно получает список типов CRM, загружает метаданные полей и строит интерактивную карту связей.
Схема типов и связей CRM
Приложение показывает сущности как блоки, а найденные связи — как линии между ними. Если между двумя типами найдено несколько полей связи, они объединяются в одну линию, а подробности можно посмотреть отдельно.
Карта строится не по конкретным карточкам, а по типам сущностей. То есть приложение показывает не связи одной сделки или одного элемента, а структуру связей между типами CRM на портале.
Отсеивание технических и лишних полей
Чтобы не рисовать лишние линии, приложение учитывает только подтверждённые CRM-связи: штатные поля привязки к компании, контакту, лиду и сделке, родительские поля смарт-процессов и пользовательские поля типа CRM с понятными настройками.
Специально не считаются связями стадии, статусы, источники, валюты, веб-формы, служебные справочники, телефоны и e-mail. Это важно, потому что технически они могут быть похожи на CRM-поля, но по смыслу не являются связью с другой CRM-карточкой.
Так карта остаётся полезной: на ней видны именно отношения между типами, а не все поля, которые случайно похожи на CRM-привязки.
Навигация по карте связей
Схему можно двигать и масштабировать. Блоки перетаскиваются мышью, пустое пространство можно сдвигать, а масштаб меняется колёсиком.
Справа добавлена панель со списком блоков. Через неё можно скрывать и показывать отдельные типы, чтобы убрать лишнее с экрана и оставить только нужную часть схемы.
Также добавлен экспорт в JSON. Он сохраняет текущую карту, список узлов, найденные связи, поля и диагностическую информацию.
Детали выбранной сущности
При клике по блоку приложение показывает подробности по выбранному типу: какие связи входят в него, какие выходят из него и через какие поля они найдены.
Это удобно, когда на карте много линий. Можно не пытаться глазами разобрать всю схему, а открыть конкретный тип и посмотреть только его связи.
Результат
Получилось приложение, которое показывает структуру CRM и смарт-процессов наглядно, без ручного обхода настроек каждого типа.
Связи стали понятны без ручного разбора
Теперь связи между CRM-типами можно посмотреть на одной схеме. Это помогает быстрее разобраться в портале, проверить архитектуру смарт-процессов и найти неожиданные привязки.
После доработки можно:
- увидеть карту стандартных CRM-сущностей и смарт-процессов;
- понять, какие типы связаны между собой;
- кликнуть по узлу и посмотреть его входящие и исходящие связи;
- кликнуть по линии и увидеть поля, которые образуют связь;
- скрывать лишние блоки через правую панель;
- масштабировать и двигать схему;
- выгрузить найденную структуру в JSON.
Приложение не требует доработок ядра и работает как локальное приложение Bitrix24 Cloud. Для доступа нужен только scope CRM и права пользователя на чтение нужных CRM-типов.