תארו לעצמכם: ERP מייצר XML עם 120,000 פריטים, 4.5 GB — ומטפל ה-PHP של Bitrix קורס אחרי 300 שניות. נשמע מוכר? זה מקרה אמיתי מלקוח שלנו, מפעל לחומרי בניין. זה קורה כאשר CommerceML הסטנדרטי לא יכול להתמודד עם סדרות, מאפיינים ויחידות מידה מרובות. הגדרת סנכרון בין 1C:ERP ל-1C-Bitrix דורשת הבנה מעמיקה של שתי המערכות; אחרת, סנכרון פריטים, מחירים והזמנות הופך לכאב ראש. אנו מתמחים בדיוק באינטגרציות לא סטנדרטיות כאלה, ואחרי 50+ פרויקטים פיתחנו גישה שמבטיחה סנכרון יציב ללא אובדן נתונים.
אילו בעיות פותר הגדרת הסנכרון?
יחידות מידה מרובות. ב-ERP, פריטים נמכרים ביחידות, באריזות ובמשטחים בו זמנית. CommerceML מעביר את יחידת המידה הבסיסית, ואת האחרות דרך ЕдиницыИзмерения ב-XML. מודול Bitrix קורא רק את יחידת המידה הבסיסית אלא אם כן מטפל OnIBlockElementAdd / OnIBlockElementUpdate מותאם אישית.
מאפיינים ווריאנטים. ב-ERP, "מאפיין" הוא מימד של פריט (צבע, גודל, מק"ט ספק). ב-Bitrix, אלה הם SKU. סנכרון סטנדרטי יוצר SKU אבל מאבד קשרים לערכים מקוננים או לאלפי וריאנטים — קובץ ה-XML מתנפח לג'יגה-בייט, והסנכרון נכשל בזמן.
סדרות ואצוות. ל-CommerceML אין תג לסדרות — יש להעביר אותן דרך ДополнительныеРеквизиты ולעבד אותן עם מטפל מותאם אישית.
איך אנו מגדירים סנכרון: שלב אחר שלב
- ביקורת תצורת ERP: קביעת מבנה הפריטים, קיום סדרות, אצוות, מאפיינים נוספים. בדיקת גרסת ה-ERP והגדרות צומת הסנכרון.
- הגדרת ERP: ציון כתובת האתר, פרמטרי אימות, מסנן פריטים (ארגון, מחסן, סוג מחיר), הפעלת העברת מאפיינים, יחידות, סדרות. הגדרת לוח זמנים למשימות מתוזמנות.
- הגדרת Bitrix: במודול "סנכרון נתונים עם 1C", בחירת סוג סנכרון "קטלוג + קטלוג מסחרי", הפעלת "אל תעדכן קישור קבוצות" (אם יש קישורים ידניים), מיפוי מאפיינים:
ДополнительныеРеквизиты→ מאפייני אינפובלוק. - התאמת מטפלים: כתיבת מטפלי אירועים לקריאת שדות נוספים, רישום קונפליקטים במחירים, והסרת כפילויות.
- בדיקה על עותק מסד נתונים: הרצת סנכרון מלא ומצטבר, אימות תקינות הנתונים.
- ניטור ותמיכה: לאחר המעבר לסביבת הייצור, הגדרת רישום והתראות.
למה סנכרון CommerceML סטנדרטי לא מתאים ל-ERP?
המודול הסטנדרטי של 1C-Bitrix (bitrix.catalog) מיועד לתצורה הטיפוסית של "1C:ניהול מסחר". ל-1C:ERP יש הרבה מערכות משנה לא סטנדרטיות: ניהול סדרות, אצוות, מבנה ארגוני מורכב. כפי שמסמכי 1C-Bitrix מציינים: "תצורות לא סטנדרטיות דורשות שינוי במודול הסנכרון." אנו מאשרים זאת בפועל — כל פרויקט דורש התאמה אישית.
איך להבטיח ארכיטקטורת סנכרון אמינה?
עבור ERP עם קטלוג של 50,000+ פריטים, מומלץ לפצל סנכרון מלא ומצטבר:
| סוג סנכרון | תדירות | תוכן |
|---|---|---|
| מלא | פעם ביום (לילה) | כל הפריטים, הקבוצות, המאפיינים |
| מלאי + מחירים | כל 15–30 דקות | רק רשומות ששונו |
| הזמנות (→ ERP) | כל 5 דקות | הזמנות חדשות ושונות מ-Bitrix |
סנכרון מצטבר מהיר פי 30 מסנכרון מלא כי הוא מעביר רק את ההפרשים.
מה עושים עם שגיאות טיפוסיות?
| שגיאה | סיבה | פתרון |
|---|---|---|
| פריטים כפולים | אי-התאמת GUID: נוצר מחדש לאחר שחזור ERP | השוואת XML_ID ב-b_iblock_element עם GUID מייצוא בדיקה |
| סנכרון לא מתחיל | קידוד: ERP שולח windows-1251, Bitrix מצפה ל-UTF-8 | בדיקת כותרת Content-Type של תגובת HTTP |
| פסק זמן | XML ענק (4+ GB) | הפעלת דחיסת ZIP; הגדרת max_execution_time = 0 ו-memory_limit = 2048M עבור cron |
מקרה בוחן: אינטגרציית ERP למפעל ייצור (מהניסיון שלנו)
הלקוח שלנו — מפעל לחומרי בניין, 120,000 פריטים, 4 מחסנים. בעיה: סנכרון מלא יצר XML בגודל 4.5 GB, מטפל ה-PHP של Bitrix קרס אחרי 300 שניות.
פתרון בשלושה שלבים:
-
בצד ה-ERP, הגדרנו העברת פריטים "פעילים" בלבד (סינון לפי מאפיין "פרסום באתר"). הנפח ירד ל-800 MB.
-
הפעלנו מצב קריאת קבצים צדדיים (דחיסת ZIP בהגדרות הצומת): ERP אורז את ה-XML ל-zip, Bitrix פורק תוך כדי תנועה. זמן ההעברה ירד פי 3.
-
ב-
php.iniעבור תהליך cron, הגדרנוmax_execution_time = 0ו-memory_limit = 2048M. סנכרון מלא — 18 דקות, מצטבר — 40 שניות.
בנוסף: כתבנו מטפל לאירוע OnIBlockElementBeforeUpdate לרישום קונפליקטים — כאשר מנהל שינה מחיר ידנית באתר, וה-ERP מנסה לדרוס אותו. הקונפליקטים נכתבים לטבלה נפרדת; דוח יומי נשלח לטכנולוג.
מה כלול בהגדרת הסנכרון?
- ביקורת תצורת 1C:ERP
- הגדרת צומת סנכרון ב-ERP ומודול סנכרון ב-Bitrix
- התאמת מטפלי אירועים לשדות לא סטנדרטיים
- בדיקה על עותק מסד נתונים
- תיעוד והדרכה למנהלים שלכם
- תמיכה לאחר ההשקה (חודש)
לוח זמנים ועלות
פרויקט טיפוסי אורך 3–8 ימי עבודה. לוח הזמנים המדויק תלוי בכמות הפריטים ובמספר הישויות הלא סטנדרטיות. כדי להעריך את התצורה שלכם, צרו קשר — ננתח את המשימה ונציע פתרון.
יש לנו ניסיון של 10+ שנים באינטגרציית 1C ו-Bitrix. השלמנו יותר מ-50 פרויקטים, מחנויות מקוונות קטנות ועד מפעלי ייצור גדולים. הזמינו הגדרת סנכרון, והנתונים שלכם יסונכרנו ללא שגיאות. צרו קשר לביקורת תצורה — נכין פתרון אישי.







