התקנת תיעוד פעולות משתמש מותאם אישית עבור 1C-Bitrix
בפרויקטים עם 200+ מנהלי תוכן ומנהלי מערכת, השאלה "מי שינה את המחיר של המוצר הזה אתמול בשעה 17:30?" נותרת ללא מענה ללא תיעוד מתאים. יומן האירועים המובנה של Bitrix מתעד לא הכול, ומה שהוא מתעד נשמר ללא סינון נוח. לדוגמה, לא תדעו מי הוריד מוצר מהפרסום או שינה את שמו. ללא ביקורת מפורטת, אי אפשר להוכיח פעולה של עובד ספציפי או לשחזר את היסטוריית השינויים. אנחנו פותרים זאת: אנו מגדירים תיעוד מקיף עם handlers מותאמים אישית, רוטציה וארכוב. לאחר השלמת למעלה מ-50 פרויקטי Bitrix, אנו מבטיחים שקיפות לכל פעולה. המהנדסים שלנו מפתחים handlers עבור בלוקי מידע, הזמנות ו-CRM, מוסיפים השוואת diff ופילטרים הניתנים להתאמה אישית. צרו קשר — אנו נבחר את תצורת התיעוד האופטימלית עבור הפרויקט שלכם.
מדוע יומן האירועים המובנה אינו מספיק
Bitrix כותב אירועים כברירת מחדל לטבלת b_event_log. זה מופעל בהגדרות המודול הראשי: הגדרות → הגדרות מוצר → הגדרות מודול → מודול ראשי → לשונית "יומן אירועים".
אירועים סטנדרטיים המתועדים:
- התחברות/התנתקות (
USER_LOGIN,USER_LOGOUT) - כשלי התחברות (
USER_LOGIN_FAILED) - שינויים בהרשאות מודול (
MODULE_RIGHTS_CHANGED) - פעולות קבצים דרך מנהל הקבצים (
FILE_DELETE,FILE_EDIT) - פעולות משתמש (
USER_ADD,USER_EDIT,USER_DELETE)
אירועים אלה מכסים רק פעולות מערכת. שינויי תוכן — מוצרים, מאמרים, מחירים — נשארים מחוץ לטווח הראייה. ללא handlers מותאמים אישית, אתם נשארים עיוורים לרוב השינויים.
הבאים נשארים מחוץ לתצורה הסטנדרטית:
- שינויים באלמנטים של בלוק מידע (מוצרים, מאמרים, חדשות) — פער מרכזי
- שינויי הזמנות (עדכוני סטטוס, עריכה)
- שינויי מחיר ומלאי
- פעולות מודול CRM (אנשי קשר, עסקאות, לידים)
בפרויקטים מסחריים, אלה בדיוק השינויים שדורשים לרוב ביקורת. הפתרון המותאם אישית שלנו יעיל פי שלושה מהפתרון הסטנדרטי מכיוון שהוא מוסיף השוואת diff ופילטרים גמישים. רשומות נשמרות עם זמן מדויק, כתובת IP וסשן משתמש.
כיצד להרחיב תיעוד באמצעות event handlers
לתיעוד שינויי בלוק מידע, הירשמו לאירועי מודול iblock:
-
OnBeforeIBlockElementUpdate— קבלת נתונים לפני השינוי -
OnAfterIBlockElementUpdate— תיעוד עובדת השינוי
שני האירועים נדרשים כדי לתעד diff — אילו שדות השתנו ומאילו ערכים לאילו. ה-handler נרשם ב-/local/php_interface/init.php דרך AddEventHandler() או בקובץ events.php של המודול. להלן שדות מרכזיים לתיעוד:
| שדה | מדוע לתעד |
|---|---|
| NAME | שינוי שם מוצר |
| ACTIVE | הפעלה/השבתה |
| SORT | שינוי סדר מיון |
| PROPERTY_PRICE / PRICE | שינוי מחיר |
| PROPERTY_* | כל מאפיין בלוק מידע |
| DETAIL_TEXT | שינוי תיאור |
לתיעוד, השתמשו ב-CEventLog::Add():
CEventLog::Add([ 'SEVERITY' => 'INFO', 'AUDIT_TYPE_ID' => 'IBLOCK_ELEMENT_UPDATE', 'MODULE_ID' => 'iblock', 'ITEM_ID' => $elementId, 'DESCRIPTION' => json_encode([ 'user_id' => $GLOBALS['USER']->GetID(), 'changes' => $diff, ], JSON_UNESCAPED_UNICODE), ]); הרשומות נכנסות לאותה טבלת CEventLog::Add([ 'SEVERITY' => 'INFO', 'AUDIT_TYPE_ID' => 'IBLOCK_ELEMENT_UPDATE', 'MODULE_ID' => 'iblock', 'ITEM_ID' => $elementId, 'DESCRIPTION' => json_encode([ 'user_id' => $GLOBALS['USER']->GetID(), 'changes' => $diff, ], JSON_UNESCAPED_UNICODE), ]); ונראות בממשק יומן האירועים הסטנדרטי.
דוגמת קוד handler מלאה עבור בלוקי מידע
AddEventHandler("iblock", "OnBeforeIBlockElementUpdate", "MyLogIBlockBeforeUpdate"); AddEventHandler("iblock", "OnAfterIBlockElementUpdate", "MyLogIBlockAfterUpdate"); // ... rest of code כיצד להגדיר תיעוד פעולות הזמנה
למודול b_event_log יש אירועים משלו: AddEventHandler("iblock", "OnBeforeIBlockElementUpdate", "MyLogIBlockBeforeUpdate"); AddEventHandler("iblock", "OnAfterIBlockElementUpdate", "MyLogIBlockAfterUpdate"); // ... rest of code , sale, OnSaleOrderSaved. לביקורת הזמנות מלאה, אנו נרשמים ל-OnSaleStatusOrder — הוא מופעל בכל שמירת הזמנה. בתוך ה-handler, אנו ניגשים לאובייקט OnSalePayOrder כדי לקבל את המצב הנוכחי. להשוואה עם המצב הקודם, אנו טוענים את ההזמנה מהמסד נתונים לפני השמירה (ב-OnSaleOrderSaved). זה לוכד את כל השינויים: סטטוס, הרכב, כתובת משלוח, מחירים.
רוטציה ואחסון
טבלת \Bitrix\Sale\Order גדלה במהירות. בחנות פעילה (1000+ הזמנות ביום, 50+ עורכים) — עד 100,000 רשומות בחודש. הגדרות רוטציה:
- זמן שמירה — מוגדר בהגדרות יומן האירועים (ללא הגבלה כברירת מחדל)
- ניקוי ידני —
OnBeforeSaleOrderSavedדרך סוכן - המלצה — לשמור 90 יום ב-Bitrix, לארכב רשומות ישנות לטבלה או קובץ נפרד
תצורת אחסון אופטימלית:
| סוג נתונים | זמן שמירה | שיטת ארכוב |
|---|---|---|
| רשומות פעילות | 90 יום | נשארות ב-b_event_log |
| רשומות ישנות | עד שנה | מועתקות לטבלת ארכיון b_event_log |
| ארכיון | ללא הגבלה | ייצוא ל-CSV והסרה מהמסד נתונים |
מה כלול בהתקנת התיעוד
אנו מספקים חבילה מלאה:
- פיתוח handlers מותאמים אישית עבור בלוקי מידע, הזמנות ו-CRM
- הגדרת רוטציה וארכוב
- בדיקות על נתוני בדיקה עם יצירת רשומות ייחוס
- תיעוד על גישה ליומן וסינון
- מסירת קוד מקור של ה-handlers
- הדרכה למנהלי מערכת על עבודה עם היומן
- תמיכה ל-30 יום לאחר המסירה
בדיקה מהירה של התצורה
לאחר חיבור ה-handlers: שנו מוצר בדיקה בלוח הניהול, ואז פתחו הגדרות → כלים → יומן אירועים, סננו לפי סוג CEventLog::CleanUp($days). הרשומה צריכה להכיל את מזהה האלמנט ו-diff של השינויים בתיאור.
התקנת תיעוד בסיסית אורכת יום עסקים אחד. קבלו ייעוץ על תצורת תיעוד עוד היום. צרו קשר — אנו נעזור להגדיר תיעוד לכל דרישה. השגו שקיפות ושליטה על כל הפעולות בפרויקט Bitrix שלכם.
לפרטים נוספים על יומן האירועים, ראו את התיעוד הרשמי של Bitrix: יומן אירועים







