Визуализация воронки продаж в CRM

1. Введение

1.1 Предисловие

Эта глава — вторая часть серии Как реализовать конвертацию лидов в CRM на NocoBase. В прошлой главе мы рассмотрели основы конвертации лидов: создание необходимых Collections, настройку страниц управления данными и реализацию конвертации лидов в компанию, контакт и сделку. В этой главе сосредоточимся на процессе работы с лидами и управлении статусами.

Решение NocoBase CRM теперь доступно — приглашаем попробовать!

1.2 Цель главы

В этой главе мы научимся реализовывать конвертацию лидов CRM в NocoBase. Через работу с лидами и управление статусами Вы сможете повысить эффективность и тоньше управлять процессом продаж.

1.3 Превью результата

В прошлой главе мы рассказали, как связывать данные лидов с компаниями, контактами и сделками. Теперь сосредоточимся на модуле лидов и обсудим работу с ними и управление статусами. Сначала посмотрите на демонстрацию:

2. Структура Collection лидов

2.1 О Collection лидов

В работе с лидами поле «status» играет ключевую роль: оно отражает текущее состояние (не квалифицирован, новый, в работе, в подогреве, в сделке, завершено) и при этом управляет отображением и логикой формы. Структура полей Collection лидов:

Field nameОтображаемое названиеField interfaceDescription
idIdIntegerПервичный ключ
account_idaccount_idIntegerВнешний ключ таблицы компаний ACCOUNT
contact_idcontact_idIntegerВнешний ключ таблицы контактов CONTACT
opportunity_idopportunity_idIntegerВнешний ключ таблицы сделок OPPORTUNITY
nameИмя лидаSingle line textИмя потенциального клиента
companyКомпанияSingle line textНазвание компании потенциального клиента
emailEmailEmailEmail-адрес потенциального клиента
phoneТелефонPhoneКонтактный телефон
statusСтатусSingle selectТекущий статус, по умолчанию «Не квалифицирован» (не квалифицирован, новый, в работе, в подогреве, в сделке, завершено)
AccountКомпанияMany to oneСвязь с компанией
ContactКонтактMany to oneСвязь с контактом
OpportunityСделкаMany to oneСвязь со сделкой

3. Создание блока таблицы Leads и блока деталей

3.1 Описание

Сначала создадим блок таблицы «Leads» с нужными полями. Справа на странице настроим блок деталей: при клике по записи появится подробная информация. Пример настройки:

4. Настройка кнопок действий

4.1 Общее описание кнопок

Для нужного функционала создадим всего 10 кнопок. Каждая ведёт себя по-разному (скрыта, активна или заблокирована) в зависимости от status, направляя пользователя по правильному рабочему процессу. 20250311083825

4.2 Подробная конфигурация кнопок

КнопкаСтильДействиеПравило связности
Кнопка редактированияОперация редактированияПри status «Completed» автоматически блокируется, чтобы не было лишних правок.
Не квалифицирован (активная)«Unqualified >»Обновляет status на «Unqualified».Показывается по умолчанию; при «Completed» — заблокирована.
Новый лид (неактивная)Операция обновления, «New >»Status становится «New», после — сообщение «New».Если status не «Unqualified», кнопка скрывается (при «New» и далее — должна быть в активном виде).
Новый лид (активная)Операция обновления, «New >»Обновляет status на «New».При «Unqualified» — скрыта; при «Completed» — заблокирована.
В работе (неактивная)Операция обновления, «Working >»Status становится «Working», выводится сообщение «Working».Если status не «Unqualified», «New» — скрыта.
В работе (активная)Операция обновления, «Working >»Обновляет status на «Working».При «Unqualified», «New» — скрыта; при «Completed» — заблокирована.
В подогреве (неактивная)Операция обновления, «Nurturing >»Status становится «Nurturing», сообщение «Nurturing».Если status не «Unqualified», «New», «Working» — скрыта.
В подогреве (активная)Операция обновления, «Nurturing >»Обновляет status на «Nurturing».При «Unqualified», «New», «Working» — скрыта; при «Completed» — заблокирована.
КонвертироватьОперация редактирования, «transfer», иконка «√»Открывает форму конвертации; при отправке status становится «Completed».При «Completed» — скрыта во избежание повторной конвертации.
Конвертация выполнена (активная)Операция просмотра, «transfered», иконка «√»Только для просмотра информации после конвертации, без редактирования.Показывается только при «Completed»; иначе скрыта.
  • Примеры правил связности: В работе (неактивная) 20250311084104 В работе (активная) 20250311083953
  • Форма конвертации: Кнопка конвертации (неактивная) Кнопка конвертации (активная)
  • Подсказка при отправке формы конвертации: 20250311084638

4.3 Итоги по настройке кнопок

  • Для каждой функции — отдельные стили в активном и неактивном состоянии.
  • Через правила связности динамически управляем отображением (скрытие/блокировка) кнопок по status, направляя продавцов по правильному рабочему процессу.

5. Правила связности формы

5.1 Правило 1: показываем только имя

  • Когда запись не подтверждена, показывается только имя.

5.2 Правило 2: оптимизация отображения для статуса «Новый лид»

  • При status «Новый лид» страница скрывает название компании и показывает контактные данные.

6. Правила Markdown и синтаксис Handlebars

6.1 Динамический текст

С помощью Handlebars выводим разные подсказки в зависимости от статуса. Примеры:

Когда статус «Не квалифицирован»:

{{#if (eq $nRecord.status "Не квалифицирован")}}
**Отслеживайте информацию по неквалифицированным лидам.**  
Если лид не интересуется продуктом или ушёл из своей компании, он может быть неквалифицированным.  
- Фиксируйте уроки на будущее  
- Сохраняйте детали взаимодействия и контакты  
{{/if}}

Когда статус «Новый лид»:

{{#if (eq $nRecord.status "Новый лид")}}
**Соберите больше информации об этом лиде.**  
- Узнайте потребности и интересы потенциального клиента
- Соберите базовые контактные данные и информацию о компании
- Определите приоритет и способ дальнейшей работы
{{/if}}

Когда статус «В работе»:

{{#if (eq $nRecord.status "В работе")}}
**Свяжитесь с лидом и предварительно оцените потребности.**  
- Установите контакт по телефону или email
- Узнайте, какие проблемы и вызовы у клиента
- Оцените соответствие потребностей продуктам/услугам компании
{{/if}}

Когда статус «В подогреве»:

{{#if (eq $nRecord.status "В подогреве")}}
**Глубже изучите потребности и развивайте лид.**  
- Предоставьте материалы по продукту или варианты решений
- Отвечайте на вопросы и снимайте сомнения
- Оцените вероятность конвертации
{{/if}}

Когда статус «Конвертация выполнена»:

{{#if (eq $nRecord.status "Конвертация выполнена")}}
**Лид успешно сконвертирован в клиента.**  
- Подтвердите, что созданы записи компании и контакта
- Создайте сделку и план дальнейшей работы
- Передайте материалы и историю общения ответственному менеджеру
{{/if}}

7. Отображение связанных объектов и переходов после конвертации

7.1 О связанных объектах

После конвертации мы хотим показывать связанные объекты (компанию, контакт, сделку) и переход на их детальные страницы. В это время найдите любую страницу деталей, например компанию, и скопируйте ссылку. 20250311085502 Внимание: в других всплывающих окнах или страницах последний фрагмент ссылки (число после filterbytk) — это ID текущего объекта. Например:

{Base URL}/admin/w3yyu23uro0/popups/ki0wcnfruj6/filterbytk/{id}

7.2 Генерация связанных ссылок через Handlebars

Компания:

{{#if (eq $nRecord.status "Завершено")}}
**Компания:**
[{{$nRecord.account.name}}](w3yyu23uro0/popups/ki0wcnfruj6/filterbytk/{{$nRecord.account_id}})
{{/if}}

Контакт:

{{#if (eq $nRecord.status "Завершено")}}
**Контакт:**
[{{$nRecord.contact.name}}](1oqybfwrocb/popups/8bbsqy5bbpl/filterbytk/{{$nRecord.contact_id}})
{{/if}}

Сделка:

{{#if (eq $nRecord.status "Завершено")}}
**Сделка:**
[{{$nRecord.opportunity.name}}](si0io9rt6q6/popups/yyx8uflsowr/filterbytk/{{$nRecord.opportunity_id}})
{{/if}}

8. Скрытие связанных объектов с сохранением значения

Чтобы после конвертации связанная информация корректно отображалась, у полей «Компания», «Контакт» и «Сделка» нужно установить состояние «Скрыть (сохранить значение)». Тогда поля не будут показываться в форме, но их значения сохранятся и передадутся.

9. Защита от изменения статуса после конвертации

Чтобы случайно не изменить статус после конвертации, ко всем кнопкам добавляем условие: при статусе «Завершено» все кнопки блокируются.

10. Заключение

После выполнения всех шагов функциональность работы с лидами и их конвертации готова! Эта глава призвана помочь Вам нагляднее понять, как в NocoBase реализуется связное управление состояниями и формой. Удачной работы!