לוחות מחוונים מותאמים אישית של Bitrix24: ניתוח תיק פרויקטים בזמן אמת
מנהל משרד הפרויקטים פותח את לוח המחוונים הבוקר ורואה סטטיסטיקות סטנדרטיות: מספרי משימות, סטטוסים, תרשים גאנט. זה לא מספיק לניהול תיק של 10 פרויקטים. אתה לא רואה איזה פרויקט בפיגור של שבוע מהתכנית, איזה מפתח עמוס מדי, או אילו משימות בוערות ללא מועדים. הלקוח שלנו, חברת IT עם 8 פרויקטים מקבילים ו-35 מהנדסים, נתקל בדיוק בבעיה זו. לוח מחוונים מותאם אישית שפיתחנו צמצם את הכנת דוח הסטטוס משעתיים ל-15 דקות — חיסכון של פי 8. בנוסף, המחשנו עומס וסיכונים, מה שהפחית משימות באיחור ב-40%. לוח מחוונים כזה מהיר פי 5 מדוחות סטנדרטיים: הנתונים מתעדכנים בזמן אמת ללא ייצוא ידני.
האנליטיקה הסטנדרטית חסרת עומק. דוחות מובנים לא מציגים תרשימי burndown, לא משווים תכנית מול בפועל, ולא מאגדים נתונים על פני התיק. ללא מדדים אלה, החלטות מתקבלות אינטואיטיבית, לא מבוססות נתונים. נסביר כיצד לבנות לוח מחוונים שימושי באמת.
מדוע דוחות Bitrix24 הסטנדרטיים לא מספקים
האנליטיקה המובנית אינה מספקת:
- התקדמות מתוכננת מול בפועל לאורך זמן
- מדדי burndown/burnup של ספרינט
- המחשת התפלגות עומס העבודה של העובדים
- לוח מחוונים מאוחד על פני מספר פרויקטים
- התראות בחריגה מהתכנית
מדדים אלה קריטיים לניהול תיקי פרויקטים. בלעדיהם, אתה מסתכן בהחמצת עיכובים ועומסים.
כיצד פועל לוח מחוונים מותאם אישית
נתוני פרויקטים ומשימות של Bitrix24 זמינים דרך 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 = [];
foreach ($projectIds as $id) {
$batch["project_$id"] = [
'method' => 'tasks.task.list',
'params' => [
'filter' => ['GROUP_ID' => $id],
'select' => [...]
]
];
}
$results = CRest::call('batch', ['cmd' => $batch]); ארכיטקטורה: Placement מול BI חיצוני
אנו בוחרים את הגישה על פי צרכים עסקיים:
| קריטריון | Placement (דף מוטמע) | BI חיצוני (Grafana, Metabase) |
|---|---|---|
| ביצועים | מוגבל על ידי REST API (20 בקשות/שנייה) | ללא הגבלה (אחסון עצמי) |
| נתונים היסטוריים | נוכחיים בלבד (עד 5000 משימות) | שמירה מלאה (שנים) |
| זמן פיתוח | 1–2 שבועות | 3–6 שבועות |
| נוחות משתמש | בתוך Bitrix24, ללא מעבר | כלי נפרד |
הגישה ההיברידית היא אופטימלית: לוח מחוונים תפעולי ל-30 הימים האחרונים בתוך Bitrix24, ניתוח מגמות אסטרטגי ב-BI חיצוני. זה משלב מהירות ועומק.
מקרה בוחן: לוח מחוונים למשרד פרויקטים בחברת IT
פיתחנו לוח מחוונים למנהל תיק המטפל ב-8 פרויקטים ו-35 מפתחים. מדדים מרכזיים:
| מדד | מקור | חישוב |
|---|---|---|
| התקדמות פרויקט (%) | tasks.task.list | closed_tasks / total_tasks |
| חריגת מועד | task.deadline | (fact_date - planned_date) בימים |
| Burndown | task + timelog | planned_hours_remaining מול בפועל |
| עומס לפי אדם | 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 הפרויקטים בפיגור והיכן קיים צוואר בקבוק קריטי למפתח ספציפי. חיסכון בזמן — משעתיים ל-15 דקות להכנת דוח סטטוס.
כיצד פועלת אינטגרציה עם מערכות BI
אינטגרציה עם BI חיצוני (Grafana, Metabase) מתבצעת דרך Bitrix24 REST API ומחסן נתונים מותאם אישית. אנו מקימים צינור ETL המייצא תמונות מצב של פרויקטים ל-PostgreSQL או ClickHouse. לאחר מכן מערכת ה-BI מתחברת לאחסון זה. זה מספק ביצועים בלתי מוגבלים וגישה לנתונים היסטוריים לאורך שנים.
פרטים נוספים על תהליך הפיתוח
1. ניתוח דרישות עסקיות והגדרת מדדים. 2. תכנון ארכיטקטורת לוח המחוונים (on-premise או ענן). 3. פיתוח ווידג'טים מותאמים אישית באמצעות Placement SDK או אינטגרציה עם Grafana/Metabase. 4. הקמת צינור ETL לנתונים היסטוריים. 5. תיעוד (תיאור API, סכמות נתונים, הוראות עדכון). 6. הדרכת הצוות על שימוש בלוח המחוונים. 7. תמיכת אחריות ל-3 חודשים לאחר ההשקה.לוחות זמנים משוערים
לוחות הזמנים נעים בין שבוע ל-6 שבועות בהתאם למורכבות ונפח הנתונים. העלות מחושבת באופן פרטני לאחר ביקורת. קבל ייעוץ לפרויקט שלך — נספר לך כיצד לחסוך זמן בהכנת דוחות.
למה לבחור בנו
עבדנו עם Bitrix24 למעלה מ-10 שנים, מחזיקים בהסמכות "1C-Bitrix", ויש לנו ניסיון מוכח באינטגרציות אנליטיות מותאמות אישית. כל לוח מחוונים מעוצב לצרכים עסקיים ייחודיים, תוך שימוש ביכולות הפלטפורמה העדכניות ביותר. אנו מבטיחים דוחות יציבים ושקופים.
צור קשר — נספק ייעוץ ונעזור לך להחליט על הארכיטקטורה.

