Розробка дашборда з 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
    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 хвилин, візуалізація адаптивна для будь-якого екрану. Вартість розробки визначається після аналізу вашого проєкту.

Оцінимо ваш проєкт безкоштовно. Зв'яжіться з нами, щоб обговорити метрики та отримати прототип дашборду за 1 день.