Розробка кастомних дашбордів проектів Бітрікс24

Наша компанія займається розробкою, підтримкою та обслуговуванням рішень на Бітрікс та Бітрікс24 будь-якої складності. Від простих односторінкових сайтів до складних інтернет-магазинів, CRM систем з інтеграцією 1С та телефонії. Досвід розробників підтверджено сертифікатами від вендора.
Пропоновані послуги
Показано 1 з 1 послугУсі 1626 послуг
Розробка кастомних дашбордів проектів Бітрікс24
Середня
~1-2 тижні
Часті питання

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

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851
  • 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
    585
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    751
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    657
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    989

Розробка кастомних дашбордів проектів Бітрікс24

Вбудована аналітика проектів у Бітрікс24 показує базові метрики: кількість завдань, статуси, діаграму Ганта. Для операційного контролю на рівні керівника проектного офісу або портфельного менеджера цього недостатньо — потрібна зведена картина за всіма проектами з кастомними метриками, трендами і сигналами відхилень.

Що не показує стандартна аналітика

Типові прогалини вбудованих звітів Бітрікс24 за проектами:

  • Немає порівняння планового і фактичного прогресу за часом
  • Немає метрики burndown/burnup для спринтів
  • Немає візуалізації розподілу навантаження по співробітниках
  • Немає зведеного дашборду за кількома проектами одночасно
  • Немає алертів при відхиленні від плану

Джерела даних для кастомного дашборду

Дані про проекти і завдання Бітрікс24 доступні через REST API:

// Список завдань проекту з деталізацією
$tasks = CRest::call('tasks.task.list', [
    'filter' => [
        'GROUP_ID' => $projectId,
        '!STATUS'  => 5, // виключити скасовані
    ],
    'select' => [
        'ID', 'TITLE', 'STATUS', 'DEADLINE',
        'CREATED_DATE', 'CLOSED_DATE',
        'RESPONSIBLE_ID', 'TIME_SPENT_IN_LOGS',
        'UF_AUTO_PLANNED_HOURS', // кастомне поле планових годин
    ],
    'limit' => 500,
]);

// Трудовитрати за завданнями
$timeLogs = CRest::call('task.elapseditem.getlist', [
    'TASKID' => $taskId,
    'select' => ['SECONDS', 'USER_ID', 'CREATED_DATE'],
]);

Для портфельного дашборду за кількома проектами використовуйте batch-запити:

$batch = [];
foreach ($projectIds as $id) {
    $batch["project_$id"] = ['method' => 'tasks.task.list',
        'params' => ['filter' => ['GROUP_ID' => $id], 'select' => [...]]];
}
$results = CRest::call('batch', ['cmd' => $batch]);

Архітектура кастомного дашборду

Два архітектурні підходи залежно від вимог:

Вбудована сторінка (Placement). Дашборд живе всередині Бітрікс24 як вкладка в проекті. Дані запитуються через JS SDK у реальному часі. Перевага — все в одному інтерфейсі. Недолік — продуктивність при великому обсязі даних.

Зовнішня BI-система. Дані з Бітрікс24 експортуються в PostgreSQL або ClickHouse, дашборд будується в Grafana, Metabase або Power BI. Перевага — масштабованість, складна аналітика, історичні дані. Недолік — окремий інструмент, потребує підтримки ETL-pipeline.

Для більшості клієнтів оптимальний гібридний підхід: оперативний дашборд (дані за останні 30 днів) — всередині Бітрікс24 через Placement; стратегічний аналіз (тренди, ретроспектива) — у зовнішній BI.

Кейс: дашборд проектного офісу IT-компанії

Завдання: 8 паралельних проектів, 35 розробників, портфельний менеджер хоче бачити відхилення від плану в реальному часі.

Метрики дашборду:

Метрика Джерело Розрахунок
Прогрес проекту (%) tasks.task.list closed_tasks / total_tasks
Відхилення від дедлайну task.deadline (fact_date - planned_date) у днях
Burndown task + timelog planned_hours_remaining vs actual
Навантаження по людях task.responsible + timelog години/тиждень на співробітника
Ризик зриву завдання без дедлайну + прострочені кастомний індекс

Реалізація burndown:

// Розрахунок burndown для проекту
function calculateBurndown(tasks, startDate, endDate) {
    const totalPoints = tasks.reduce((sum, t) =>
        sum + (t.plannedHours || 1), 0);

    const dailyBurndown = [];
    let currentDate = new Date(startDate);

    while (currentDate <= endDate) {
        const completedByDate = tasks
            .filter(t => t.closedDate && new Date(t.closedDate) <= currentDate)
            .reduce((sum, t) => sum + (t.plannedHours || 1), 0);

        dailyBurndown.push({
            date: currentDate.toISOString().split('T')[0],
            remaining: totalPoints - completedByDate,
            ideal: totalPoints * (1 - daysDiff(startDate, currentDate) /
                daysDiff(startDate, endDate))
        });

        currentDate.setDate(currentDate.getDate() + 1);
    }

    return dailyBurndown;
}

Візуалізація через Chart.js у React-компоненті всередині placement-застосунку.

ETL для історичних даних:

Дані з Бітрікс24 щогодини вивантажуються в PostgreSQL через cron-агент. Це дозволяє будувати тренди за 6–12 місяців — що REST API у реальному часі зробити неможливо (ліміти запитів і продуктивність).

-- Таблиця знімків стану проектів
CREATE TABLE project_snapshots (
    snapshot_date  DATE,
    project_id     INT,
    total_tasks    INT,
    closed_tasks   INT,
    overdue_tasks  INT,
    total_hours_planned NUMERIC,
    total_hours_spent   NUMERIC
);

Результат: портфельний менеджер бачить за 30 секунд ранкового review, який із 8 проектів відстає від графіку і де критичний bottleneck за конкретним розробником. Час на підготовку статусного звіту скоротився з 2 годин до 15 хвилин.

Оновлення і підтримка дашборду

Кастомний дашборд потребує підтримки при оновленнях Бітрікс24 — REST API іноді змінюється, поля перейменовуються. Закладайте 2–4 години на перевірку після кожного мажорного оновлення платформи. Покриття ключових API-методів автотестами економить час при таких перевірках.