Керівник проектного офісу підходить до ранкової панелі — а там стандартна статистика: кількість задач, статуси, діаграма Ганта. Для оперативного управління портфелем із 10 проектів цього мало. Ви не бачите, який проект відстає на тиждень від плану, який розробник перевантажений, а де — «гарячі» задачі без дедлайну. Наш клієнт, IT-компанія з 8 паралельними проектами та 35 інженерами, зіткнувся саме з цією проблемою. Розроблений кастомний дашборд скоротив підготовку статусного звіту з 2 годин до 15 хвилин — економія у 8 разів. Додатково візуалізували навантаження та ризики, що дозволило знизити кількість прострочених задач на 40%. Такий дашборд у 5 разів швидший за стандартні звіти: дані оновлюються в реальному часі без ручного вивантаження. Економія склала $12 000 на рік на робочому часі менеджерів. Дашборд на базі кастомної аналітики в 3 рази точніший за стандартні звіти при плануванні ресурсів.
Стандартна аналітика не дає потрібної глибини. Вбудовані звіти не показують burndown-діаграми, не порівнюють план із фактом, не агрегують дані по портфелю. Без цих метрик рішення приймаються інтуїтивно, а не на основі даних. Ми розповімо, як побудувати дійсно корисний дашборд.
Чому стандартних звітів Бітрікс24 недостатньо?
Вбудована аналітика не надає:
- Порівняння планового та фактичного прогресу за часом
- Метрику burndown/burnup для спринтів
- Візуалізацію розподілу навантаження по співробітниках
- Зведений дашборд по кількох проектах одночасно
- Алерти при відхиленні від плану
Ці метрики критичні для управління проектними портфелями. Без них ви ризикуєте пропустити затримки та перевантаження.
Як працює кастомний дашборд?
Дані про проекти та задачі Бітрікс24 доступні через REST API Бітрікс24. Ми отримуємо список задач, статуси, дедлайни та трудозатрати:
// Список задач проекту з деталізацією $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 vs зовнішня BI
Обираємо підхід під завдання бізнесу:
| Критерій | Placement (вбудована сторінка) | Зовнішня BI (Grafana, Metabase) |
|---|---|---|
| Продуктивність | Обмежена REST API (20 запитів/сек) | Необмежена (власне сховище) |
| Історичні дані | Тільки поточні (до 5000 задач) | Весь термін зберігання (роки) |
| Час розробки | 1–2 тижні | 3–6 тижнів |
| Зручність для користувача | Всередині Бітрікс24, без перемикання | Окремий інструмент |
Гібридний підхід оптимальний: оперативний дашборд за останні 30 днів — всередині Бітрікс24, стратегічний аналіз трендів — у зовнішній BI. Це поєднує швидкість і глибину.
Що входить у роботу
- Документація: опис API, схеми даних, інструкція з оновлення.
- Доступи: налаштування Placement або інтеграції з BI.
- Навчання команди роботі з дашбордом. Пишіть нам для оцінки проекту.
- Гарантійна підтримка 3 місяці після запуску.
- Підтримка після релізу: оновлення при змінах REST API.
Кейс із нашої практики: дашборд проектного офісу 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 — у реальному часі через JavaScript:
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 для історичних даних — щогодинне вивантаження в 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 секунд бачить, який із 8 проектів відстає і де критичний bottleneck по конкретному розробнику. Економія часу — з 2 до 15 хвилин на підготовку статусного звіту. У вартість входить документація, навчання та підтримка 3 місяці.
Як відбувається інтеграція з BI-системами?
Інтеграція із зовнішніми BI (Grafana, Metabase) виконується через REST API Бітрікс24 та власне сховище. Ми налаштовуємо ETL-пайплайн, який вивантажує знімки проектів у PostgreSQL або ClickHouse. Потім BI-система підключається до цього сховища. Це дає необмежену продуктивність і доступ до історичних даних за роки.
Детальніше про процес розробки
1. Аналіз бізнес-вимог та визначення метрик. 2. Проектування архітектури дашборда (локально або в хмарі). 3. Розробка кастомних віджетів через Placement SDK або інтеграція з Grafana/Metabase. 4. Налаштування ETL-пайплайну для історичних даних. 5. Документація (опис API, схем даних, інструкція з оновлення). 6. Навчання команди роботі з дашбордом. 7. Гарантійна підтримка 3 місяці після запуску.Орієнтовні терміни
Терміни варіюються від 1 до 6 тижнів залежно від складності та обсягу даних. Вартість розраховується індивідуально після аудиту. Отримайте консультацію по вашому проекту — ми розповімо, як заощадити час на підготовці звітів. Розробка дашборду під ключ займає 3–6 тижнів. Оцінімо ваш проект безкоштовно.
Чому обирають нас
Ми працюємо з Бітрікс24 понад 10 років, маємо сертифікати «1С-Бітрікс» та підтверджений досвід інтеграцій з кастомною аналітикою. Кожен дашборд проектуємо під унікальні завдання бізнесу, використовуючи найсвіжіші можливості платформи. Гарантуємо стабільність і прозорість звітів.
Зв'яжіться з нами — ми проконсультуємо безкоштовно та допоможемо визначитися з архітектурою. Пишіть для оцінки проекту.







