Разработка дашборда с KPI для администратора 1С-Битрикс

Стандартная административная панель Битрикс показывает технические метрики — нагрузку, ошибки, состояние модулей. Бизнес-KPI там нет: выручку за сегодня, конверсию воронки, средний чек по менеджерам смотрят в отдельных системах или вовсе в Excel. Дашборд с бизнес-метриками, встроенный прямо в Битрик
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Разработка дашборда с KPI для администратора 1С-Битрикс
Средний
~1-2 недели

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1440
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    1013
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    751
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    872
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    791
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1153

Стандартная административная панель Битрикс показывает технические метрики — нагрузку, ошибки, состояние модулей. Бизнес-KPI там нет: выручку за сегодня, конверсию воронки, средний чек по менеджерам смотрят в отдельных системах или вовсе в Excel. Дашборд с бизнес-метриками, встроенный прямо в Битрикс, убирает этот разрыв. Мы разрабатываем такие дашборды под ключ: от SQL-запросов до визуализации в админке или публичной странице.

Какие KPI реально нужны бизнесу?

Часто руководители просят «все метрики», но реальная польза — в 5–6 ключевых показателях. Интернет-магазину нужны выручка, конверсия, средний чек, топ товаров. Оптовому дистрибьютору — дебиторка, просрочка, загрузка менеджеров. Мы помогаем выделить именно те KPI, которые влияют на принятие решений.

Почему стандартные отчёты Битрикс не подходят?

Штатные отчёты — это срезы на момент запроса, без динамики и сравнения периодов. Нет единого окна: выручку смотрят в 1С, конверсию — в Метрике, загрузку — в Управлении персоналом. Дашборд объединяет эти данные в одном интерфейсе, экономя 2–3 часа в день на сводку.

Архитектура дашборда

Дашборд реализуется как отдельная страница в административной части: /bitrix/admin/kpi_dashboard.php. Либо как публичная страница в закрытом разделе — для доступа менеджеров без права на /bitrix/admin/.

Данные агрегируются напрямую из базы через SQL — это быстрее, чем последовательные вызовы Битрикс API для каждого виджета. Визуализация — Chart.js или ApexCharts, подключаемые как JS-зависимости.

Ключевые SQL-запросы для KPI

Выручка за период с разбивкой по дням:

SELECT DATE(o.date_insert) AS day, COUNT(o.id) AS orders_count, SUM(o.price) AS revenue, AVG(o.price) AS avg_check FROM b_sale_order o WHERE o.lid = 's1' AND o.canceled = 'N' AND o.date_insert >= CURRENT_DATE - INTERVAL '30 days' GROUP BY DATE(o.date_insert) ORDER BY day; 

Конверсия корзины в заказ:

WITH baskets AS ( SELECT DATE(date_insert) AS day, COUNT(DISTINCT fuser_id) AS basket_users FROM b_sale_basket WHERE site_id = 's1' AND date_insert >= CURRENT_DATE - INTERVAL '30 days' GROUP BY DATE(date_insert) ), orders AS ( SELECT DATE(date_insert) AS day, COUNT(DISTINCT user_id) AS order_users FROM b_sale_order WHERE lid = 's1' AND date_insert >= CURRENT_DATE - INTERVAL '30 days' GROUP BY DATE(date_insert) ) SELECT b.day, b.basket_users, COALESCE(o.order_users, 0) AS order_users, ROUND(COALESCE(o.order_users, 0)::NUMERIC / NULLIF(b.basket_users, 0) * 100, 2) AS conversion FROM baskets b LEFT JOIN orders o ON o.day = b.day ORDER BY b.day; 

Топ товаров по выручке:

SELECT ie.name AS product_name, SUM(bi.quantity) AS qty_sold, SUM(bi.price * bi.quantity) AS revenue FROM b_sale_basket_item bi JOIN b_sale_order_shipment_item si ON si.basket_id = bi.id JOIN b_sale_order o ON o.id = bi.order_id JOIN b_iblock_element ie ON ie.id = bi.product_id WHERE o.canceled = 'N' AND o.date_insert >= CURRENT_DATE - INTERVAL '30 days' GROUP BY ie.id, ie.name ORDER BY revenue DESC LIMIT 20; 

PHP-реализация виджетов

Данные отдаются через AJAX-endpoint и рендерятся Chart.js:

// /local/ajax/kpi_data.php if (!$USER->IsAdmin()) { header('HTTP/1.1 403 Forbidden'); exit; } $widget = $_GET['widget'] ?? ''; $dateFrom = $_GET['date_from'] ?? date('Y-m-d', strtotime('-30 days')); $dateTo = $_GET['date_to'] ?? date('Y-m-d'); $db = \Bitrix\Main\Application::getConnection(); switch ($widget) { case 'revenue_chart': $data = $db->query(" SELECT DATE(date_insert) as day, SUM(price) as revenue, COUNT(*) as cnt FROM b_sale_order WHERE lid = ? AND canceled = 'N' AND DATE(date_insert) BETWEEN ? AND ? GROUP BY DATE(date_insert) ORDER BY day ", [SITE_ID, $dateFrom, $dateTo])->fetchAll(); break; case 'top_products': // ... см. запрос выше break; } header('Content-Type: application/json'); echo json_encode(['success' => true, 'data' => $data ?? []]); 
// Инициализация графика выручки const startDate = new Date(); startDate.setDate(startDate.getDate() - 30); fetch(`/local/ajax/kpi_data.php?widget=revenue_chart&date_from=${encodeURIComponent(startDate.toISOString().slice(0,10))}`) .then(r => r.json()) .then(({ data }) => { const ctx = document.getElementById('revenueChart').getContext('2d'); new Chart(ctx, { type: 'bar', data: { labels: data.map(d => d.day), datasets: [{ label: 'Выручка, $', data: data.map(d => d.revenue), backgroundColor: '#4F81BD', }] }, options: { responsive: true, plugins: { legend: { display: false } } } }); }); 

Кейс: дашборд для интернет-магазина электроники (наш клиент)

Проект — e-commerce с 4 менеджерами, 50–80 заказов в день. Задача: руководитель хочет видеть выручку в реальном времени, конверсию и загрузку менеджеров. Мы реализовали дашборд с 6 виджетами:

  1. Выручка сегодня / вчера / неделю назад (сравнение в числах и %)
  2. График выручки за 30 дней (Bar chart)
  3. Воронка: посетители → корзины → заказы (данные из Битрикс + Яндекс.Метрика API)
  4. Топ-10 товаров по выручке за период
  5. Загрузка менеджеров: количество заказов в работе на каждого
  6. Незакрытые заказы старше 3 дней (требуют внимания)

Дашборд обновляется каждые 5 минут через setInterval. Тяжёлые агрегатные запросы кэшируются на 5 минут с инвалидацией при изменении статусов заказов. Руководитель проекта отметил: дашборд сократил время на анализ данных втрое.

Время разработки — 12 рабочих дней (SQL-запросы, PHP-backend, верстка дашборда, интеграция с Метрикой). Экономия времени руководителя — до 10 часов в месяц на подготовке отчётов.

Типичные ошибки при разработке дашбордов

  • Запросы без кэширования — при 10 000+ заказах страница грузится 20+ секунд.
  • Попытка вытащить все данные через GetList() — на больших объёмах это катастрофа.
  • Отсутствие фильтра по датам — дашборд бесполезен для анализа динамики.
  • Неучтённые права доступа: менеджеры видят чужие заказы.

Мы решаем эти проблемы на этапе проектирования: используем сырые SQL-запросы, тегированное кэширование, ролевую модель.

Что входит в работу

Компонент Описание
Техническое задание Описание метрик, источников данных, макетов
Прототип Интерактивный макет в админке
Разработка SQL-запросы, PHP-эндпоинты, JS-виджеты
Интеграция 1С, Яндекс.Метрика, CRM (по необходимости)
Тестирование Нагрузочное тестирование на 1000+ заказов
Документация Инструкция по добавлению новых виджетов
Передача прав Исходный код, доступы к кэшированию

Сроки

Объём Срок
3–4 виджета (выручка, заказы, топ товаров) 4–6 дней
6–8 виджетов + фильтры по периоду 8–12 дней
Полный дашборд + интеграция с внешними источниками 12–20 дней

Почему выбирают нас

Опыт наших инженеров — более 10 лет в Битрикс, свыше 50 проектов с дашбордами. Мы — сертифицированный партнёр 1С-Битрикс. Гарантируем: дашборд не упадёт на пике нагрузки, данные свежие с точностью до 5 минут, визуализация адаптивна для любого экрана. Стоимость разработки — от $400–1.5k в зависимости от числа метрик и сложности.

Оценим ваш проект бесплатно. Свяжитесь с нами, чтобы обсудить метрики и получить прототип дашборда за 1 день.