Доска канбан и дашборды: как мы сделали CRM для контроля заказов без лишних движений

Доска канбан и дашборды: как мы сделали CRM для контроля заказов без лишних движений

Таблицы — это хорошо. Но когда у вас 50 заказов в работе, 10 стадий, 5 менеджеров — таблица перестаёт быть наглядной. Вы тратите минуты на то, чтобы найти заказ по фильтру, понять, кто за ним закреплён, на какой стадии. А хочется просто посмотреть на «стену»: вот новые заказы, вот в работе, вот на проверке, вот готово к отгрузке. И перетащить заказ мышкой из одного статуса в другой.

Это называется «доска канбан». Мы внедрили её для клиента, который занимается копирайтингом и текстовыми услугами. У них было 20 исполнителей, 300 заказов в месяц, и менеджеры путались в статусах. После внедрения канбан-доски время обработки заказа сократилось на 40%. Расскажу, как это сделать на Falcon Space.

Что такое канбан-доска и зачем она в CRM

Канбан — это метод визуализации задач в виде колонок (статусов). Каждая задача (заказ, тикет, лид) — это карточка, которая перемещается по колонкам вправо по мере выполнения. Например:

В CRM канбан-доска даёт:

Не все CRM имеют хорошую канбан-доску из коробки. В Falcon Space мы реализовали её как виджет на странице, с возможностью тонкой настройки.

Техническая реализация канбан-доски на Falcon Space

В платформе есть компонент «Таблица», который можно отображать в виде карточек, сгруппированных по значению столбца (например, по статусу). Это почти канбан. Но для полноценной доски с drag-and-drop мы написали свой JavaScript-виджет, который работает с SQL-процедурами.

Основные компоненты:

  1. Таблица заказов с полями: id, название, статус, исполнитель, дата создания.
  2. Набор статусов (справочник) с порядком сортировки (order_num).
  3. Процедура обновления статуса — вызывается, когда пользователь перетащил карточку в другую колонку.

Пример таблицы заказов:

CREATE TABLE [app].[orders] (
    order_id int PRIMARY KEY,
    title nvarchar(200),
    status_id int, -- ссылка на статусы
    assignee_id int,
    created_at datetime,
    customer_comment nvarchar(MAX)
);

Процедура обновления статуса:

CREATE PROCEDURE [app].[update_order_status]
    @order_id int,
    @new_status_id int,
    @username nvarchar(100)
AS
BEGIN
    UPDATE orders SET status_id = @new_status_id, updated_by = @username WHERE order_id = @order_id;
    
    -- Логируем действие
    INSERT INTO order_log (order_id, action, username) 
    VALUES (@order_id, 'status_changed_to_' + CAST(@new_status_id AS nvarchar), @username);
    
    -- Отправляем уведомление исполнителю, если статус изменился на "В работе"
    IF @new_status_id = 2 -- В работе
    BEGIN
        DECLARE @executor_email nvarchar(200);
        SELECT @executor_email = email FROM users WHERE user_id = (SELECT assignee_id FROM orders WHERE order_id = @order_id);
        SELECT 'send_email' AS action, @executor_email AS to, 'Вам назначен новый заказ' AS subject;
    END
END

На фронтенде мы используем стандартную библиотеку dragula или SortableJS для перетаскивания. При перетаскивании отправляется AJAX-запрос к процедуре `update_order_status`. Пользователь видит мгновенный результат — карточка переместилась.

Реальный кейс: сервис копирайтинга

Клиент — компания, занимающаяся написанием текстов (статьи для блогов, SEO-тексты, описания товаров). Внутренняя CRM включала:

Раньше статусы обновлялись вручную в таблице Excel или в простой форме. Менеджеры забывали менять статус, авторы брали уже взятые заказы, редакторы не знали, что проверять. Была нужда в «едином окне».

Мы реализовали канбан-доску с колонками: «Новый», «Назначен автору», «В работе у автора», «На проверке у редактора», «Доработка», «Готов к сдаче», «Сдан клиенту», «Закрыт».

Как это работало:

Каждая карточка показывала: название заказа, имя автора (если назначен), дату создания, количество знаков, приоритет (высокий/средний). Цветом выделялись просроченные заказы (красный).

Результаты через 2 месяца:

Из отзыва клиента (устно): «Доска канбан — это лучшее, что мы внедрили за последний год. Сразу понятно, где узкое место. Редактор, который раньше откладывал проверки, теперь не может спрятаться — все видят, что в его колонке 15 заказов».

Как сделать канбан-доску для своего проекта

Вот пошаговая инструкция, если вы используете Falcon Space:

  1. Создайте справочник статусов (таблица order_statuses).
  2. В таблице заказов добавьте поле status_id (внешний ключ).
  3. Создайте страницу «Канбан» в личном кабинете.
  4. Используйте стандартный компонент «Таблица с группировкой» — выберите группировку по статусу, вид отображения «плитка». Это даст базовый канбан без drag-and-drop.
  5. Для drag-and-drop — добавьте свой JavaScript (библиотека SortableJS) и процедуру обновления статуса, как показано выше.
  6. Ограничьте права: менеджеры могут перемещать карточки только в колонки, доступные их роли (например, исполнитель не может перевести в «Сдан клиенту»).

Мы готовы сделать готовый модуль канбан-доски за 40-60 тыс. руб (установка, настройка, обучение). Но вы можете и сами — вся документация по компонентам есть на сайте.

Дополнительные возможности: дашборды и виджеты

Канбан — это не единственный способ визуализации. На дашбордах (главных страницах в личных кабинетах) можно разместить:

В Falcon Space все эти виджеты создаются через SQL-процедуры, которые возвращают данные, и HTML-шаблоны, которые их отображают. Для диаграмм можно использовать Chart.js или Google Charts.

Пример виджета «количество заказов по статусам»:

CREATE PROCEDURE [app].[widget_orders_by_status]
AS
BEGIN
    SELECT status_name, COUNT(*) as cnt
    FROM orders o
    JOIN order_statuses s ON o.status_id = s.status_id
    WHERE o.created_at > DATEADD(day, -7, GETDATE())
    GROUP BY status_name;
END

На странице дашборда размещаете таблицу, которая вызывает эту процедуру, и график (например, круговая диаграмма).

Когда канбан не подходит

Канбан-доска эффективна, если:

Если у вас 10 заказов в месяц, можно обойтись таблицей. Но если растёте — закладывайте канбан заранее, потому что переучивать сотрудников на новый интерфейс сложнее.

Итог: канбан-доска на Falcon Space — это не магия, а стандартный инструмент управления, который мы адаптировали под потребности малого и среднего бизнеса. Вы можете настроить её под любую последовательность статусов, добавить уведомления, интеграцию с чатами. Стоимость внедрения — от 0 (если делаете сами) до 60 тыс. руб (если заказываете нам). Результат — прозрачность и ускорение процессов.

Страница-источник на сайте falconspace.ru