Доска канбан и дашборды: как мы сделали CRM для контроля заказов без лишних движений
Таблицы — это хорошо. Но когда у вас 50 заказов в работе, 10 стадий, 5 менеджеров — таблица перестаёт быть наглядной. Вы тратите минуты на то, чтобы найти заказ по фильтру, понять, кто за ним закреплён, на какой стадии. А хочется просто посмотреть на «стену»: вот новые заказы, вот в работе, вот на проверке, вот готово к отгрузке. И перетащить заказ мышкой из одного статуса в другой.
Это называется «доска канбан». Мы внедрили её для клиента, который занимается копирайтингом и текстовыми услугами. У них было 20 исполнителей, 300 заказов в месяц, и менеджеры путались в статусах. После внедрения канбан-доски время обработки заказа сократилось на 40%. Расскажу, как это сделать на Falcon Space.
Что такое канбан-доска и зачем она в CRM
Канбан — это метод визуализации задач в виде колонок (статусов). Каждая задача (заказ, тикет, лид) — это карточка, которая перемещается по колонкам вправо по мере выполнения. Например:
- «Новый» → «В работе» → «На проверке» → «Готов к отгрузке» → «Выполнен».
В CRM канбан-доска даёт:
- Общую картину: сколько заказов в каждой стадии, нет ли «завалов».
- Быструю смену статуса: перетащил карточку — статус изменился.
- Удобство на мобильных устройствах (правда, для канбана нужен экран пошире, но адаптив делается).
- Прозрачность для руководителя: видно, кто из менеджеров не переводит заказы дальше.
Не все CRM имеют хорошую канбан-доску из коробки. В Falcon Space мы реализовали её как виджет на странице, с возможностью тонкой настройки.
Техническая реализация канбан-доски на Falcon Space
В платформе есть компонент «Таблица», который можно отображать в виде карточек, сгруппированных по значению столбца (например, по статусу). Это почти канбан. Но для полноценной доски с drag-and-drop мы написали свой JavaScript-виджет, который работает с SQL-процедурами.
Основные компоненты:
- Таблица заказов с полями: id, название, статус, исполнитель, дата создания.
- Набор статусов (справочник) с порядком сортировки (order_num).
- Процедура обновления статуса — вызывается, когда пользователь перетащил карточку в другую колонку.
Пример таблицы заказов:
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 месяца:
- Среднее время выполнения заказа сократилось с 3 до 1,8 дня (на 40%).
- Потеря заказов (зависание в статусах) сократилась на 80% — теперь каждый заказ визуально видно.
- Менеджеры стали тратить на контроль не 2 часа в день, а 30 минут.
- Авторы перестали спорить, кто взял заказ — всё в канбане.
Из отзыва клиента (устно): «Доска канбан — это лучшее, что мы внедрили за последний год. Сразу понятно, где узкое место. Редактор, который раньше откладывал проверки, теперь не может спрятаться — все видят, что в его колонке 15 заказов».
Как сделать канбан-доску для своего проекта
Вот пошаговая инструкция, если вы используете Falcon Space:
- Создайте справочник статусов (таблица order_statuses).
- В таблице заказов добавьте поле status_id (внешний ключ).
- Создайте страницу «Канбан» в личном кабинете.
- Используйте стандартный компонент «Таблица с группировкой» — выберите группировку по статусу, вид отображения «плитка». Это даст базовый канбан без drag-and-drop.
- Для drag-and-drop — добавьте свой JavaScript (библиотека SortableJS) и процедуру обновления статуса, как показано выше.
- Ограничьте права: менеджеры могут перемещать карточки только в колонки, доступные их роли (например, исполнитель не может перевести в «Сдан клиенту»).
Мы готовы сделать готовый модуль канбан-доски за 40-60 тыс. руб (установка, настройка, обучение). Но вы можете и сами — вся документация по компонентам есть на сайте.
Дополнительные возможности: дашборды и виджеты
Канбан — это не единственный способ визуализации. На дашбордах (главных страницах в личных кабинетах) можно разместить:
- Счётчики заказов по статусам — «Новых: 5, В работе: 12, Просрочено: 2».
- Диаграмму Ганта для проектов с длительными этапами.
- График загрузки сотрудников (сколько заказов у каждого).
- Таблицу «Срочные заказы» с выделением цветом.
В 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
На странице дашборда размещаете таблицу, которая вызывает эту процедуру, и график (например, круговая диаграмма).
Когда канбан не подходит
Канбан-доска эффективна, если:
- У вас много задач (более 50-100 активных одновременно).
- Задачи проходят через несколько последовательных статусов (4+).
- В команде несколько человек, и важно видеть загрузку каждого.
- Вы управляете процессом, а не просто фиксируете факты.
Если у вас 10 заказов в месяц, можно обойтись таблицей. Но если растёте — закладывайте канбан заранее, потому что переучивать сотрудников на новый интерфейс сложнее.
Итог: канбан-доска на Falcon Space — это не магия, а стандартный инструмент управления, который мы адаптировали под потребности малого и среднего бизнеса. Вы можете настроить её под любую последовательность статусов, добавить уведомления, интеграцию с чатами. Стоимость внедрения — от 0 (если делаете сами) до 60 тыс. руб (если заказываете нам). Результат — прозрачность и ускорение процессов.
- Шаг 1. Создать концепт проекта
- Шаг 2. Получить оценку бюджета (КП)
- Шаг 3. Заключить договор
- Шаг 4. Создать совместно техническое задание
- Шаг 5. Поэтапная реализация проекта