מדוע מתרחשת דה-סנכרון מלאי בעת אינטגרציה עם WMS
דה-סנכרון מלאי בין 1C-Bitrix ל-WMS משמעותו הפסדים כספיים ישירים. מתבצעת הזמנה באתר, נקבעת רזרבה, אבל WMS לא יודע על כך. בזמן האיסוף, המוצר לא נמצא על המדף — הלקוח מקבל סירוב. ללא אינטגרציה נכונה, אתה מפסיד עד 3% מההכנסות עקב מכירת יתר ועיכובים במשלוחים. ההפסדים יכולים להגיע ל-$4.5k–6.5k בשנה. אנו מבצעים אינטגרציה של 1C-Bitrix עם כל WMS, ומבטיחים העברה אטומית וללא הזמנות "תקועות". העבודה מתבצעת על ידי מומחים מוסמכים תוך שימוש בתבניות מוכחות. צור קשר להערכת הפרויקט שלך.
מה בדיוק צריך לסנכרן
מלאי ורזרבות
WMS הוא מקור האמת לזמינות הפיזית. Bitrix מקבל מלאי ומעדכן את b_catalog_product (שדות QUANTITY, QUANTITY_RESERVED). תדירות הסנכרון קריטית: עם 200+ הזמנות ביום, עיכוב של 15 דקות כבר יוצר מכירת יתר. ההפסדים יכולים להגיע ל-$1.8k–2.6k בחודש.
הזמנות
הזמנה חדשה מ-Bitrix → ל-WMS לצורך רזרבה ואיסוף. סטטוסי איסוף מ-WMS → ל-Bitrix כדי לעדכן את סטטוס ההזמנה עבור הלקוח. חשובה כאן אטומיות: ההזמנה או מתקבלת על ידי WMS או לא — העברות "תקועות" אינן מקובלות.
קטלוג מוצרים
נומנקלטורה, ברקודים, יחידות מידה, אריזות. בדרך כלל נתוני האב מנוהלים ב-ERP/1C, ו-WMS ו-Bitrix מסנכרנים מהם.
איזו ארכיטקטורת אינטגרציה לבחור
אין חיבור API ישיר "Bitrix ↔ WMS" — לכל WMS יש API משלו או תומך בפורמטים EDI/XML. בחירת הארכיטקטורה תלויה בדרישות האמינות והשהיה. Webhook עם תור אירועים מהיר פי 3–5 מסקרים ומספק השהיה בשניות לעומת דקות. נשווה את הגישות העיקריות:
| גישה | השהיה | אמינות | מורכבות |
|---|---|---|---|
| סקרים (בדיקות מתוזמנות) | מרווח סקרים (1-15 דקות) | בינונית (אובדן נתונים בכשל סוכן) | נמוכה |
| Webhook + תור אירועים | שניות | גבוהה (תור מאגר) | בינונית |
| דרך ברוקר 1C | דקות | גבוהה מאוד (בקרת 1C) | גבוהה |
סקרים מיושמים באמצעות handler ב-\Bitrix\Main\EventManager או סוכן מותאם אישית. Webhook/תור אירועים: WMS שולח אירוע על כל שינוי מלאי. Bitrix מקבל דרך נקודת קצה REST ותור (RabbitMQ, Redis Streams). דרך ברוקר 1C: אם 1C:Enterprise בשרשרת, ההחלפה עוברת דרכו: Bitrix ↔ 1C (סטנדרטי CommerceML / REST) ↔ 1C ↔ WMS.
כיצד ליישם טכנית את האינטגרציה בצד Bitrix
המלאי מתעדכן דרך \Bitrix\Catalog\ProductTable::update() או ברמה נמוכה CCatalogProduct::Update(). בעת עדכון, חשוב לבטל את המטמון: \Bitrix\Catalog\Catalog::clearProductCache($productId). ללא זה, האתר מציג מלאי ישן לעוד 30–60 דקות. רזרבה בעת יצירת הזמנה: אובייקט \Bitrix\Sale\Order מגדיר אוטומטית רזרבה דרך \Bitrix\Sale\Basket::setField('RESERVE_QUANTITY'). אם האינטגרציה מעדכנת מלאי ישירות ב-DB תוך עקיפת ה-API — הרזרבות נשברות. תמיד עבדו דרך ה-API הציבורי של מודול sale. כדי להעביר הזמנות ל-WMS, אנו מתחברים לאירוע OnSaleOrderSaved או OnSaleStatusOrderChange — בהתאם לטריגר. האירוע מעובד באופן סינכרוני, ולכן קריאות API ארוכות מועברות לתור.
כיצד להימנע משכפול הזמנות
שכפול מתרחש כאשר הרשת לא יציבה ו-Bitrix חוזר על הבקשה בעת timeout. פתרון: בקשות אידמפוטנטיות עם ORDER_ID מ-Bitrix כמפתח חיצוני ב-WMS — שידור חוזר מעדכן את הרשומה הקיימת, לא יוצר חדשה. אנו תמיד מיישמים מנגנון זה כדי למנוע הפסדים כספיים משכפולים.
מדוע אטומיות ההעברה חשובה
תאר לעצמך: הזמנה מועברת ל-WMS, אבל ל-WMS לא היה זמן לקבל אותה, ו-Bitrix כבר סימן אותה כ"נשלחה". המוצר שמור פיזית, אבל נשאר תלוי במערכת. אטומיות מבטיחה שההזמנה או מועברת במלואה ומתקבלת, או לא. מושגת באמצעות תורים טרנזקציוניים ואישורים מ-WMS. זה הסטנדרט שלנו.
אילו שגיאות אופייניות מתרחשות
עדכוני מסד נתונים ישירים תוך עקיפת ה-API של מודול set_time_limit() — הרזרבות נשברות. התעלמות מביטול מטמון לאחר עדכוני מלאי. ללא טיפול ב-timeouts לבקשות בתפזורת. אי-התאמות ביחידות מידה (יחידות לעומת משטחים) — ללא טבלת המרה, המלאי שגוי. נפתר באמצעות ספריית המרה בשכבת האינטגרציה. בעת עדכון מלאי בתפזורת, WMS שולח 10,000 פריטים בבקשה אחת; Bitrix מעבד בקבוצות עם \Bitrix\Main\Application::getInstance()->getDbConnection()->startTransaction() ו-\Bitrix\Main\Application::getInstance()->getDbConnection()->startTransaction().
כמה זמן לוקחת האינטגרציה
| תרחיש | לוח זמנים |
|---|---|
| אינטגרציה פשוטה: עדכוני מלאי מתוזמנים | 2–4 שבועות |
| החלפה דו-כיוונית של הזמנות ומלאי | 4–8 שבועות |
| אינטגרציה דרך ברוקר 1C עם לוגיקה מורכבת | 2–4 חודשים |
העלות מחושבת באופן אישי — תלויה ב-API הספציפי של WMS, היקף הנומנקלטורה ודרישות זמן אמת. אנו מתחילים בסקר של התהליכים הנוכחיים והתיעוד הטכני של WMS. צור קשר כדי לקבל לוחות זמנים מדויקים והצעה מסחרית.
מה כלול באינטגרציה
- סקר תהליכי מחסן נוכחיים ו-API של WMS.
- עיצוב ארכיטקטורת אינטגרציה (סקרים/webhook/ברוקר 1C).
- פיתוח מודולי החלפה בצד Bitrix.
- יישום אידמפוטנטיות ואטומיות.
- הגדרת תורים (RabbitMQ/Redis במידת הצורך).
- ביטול מטמון ומטמון מתויג.
- בדיקות תחת עומסי ייצור (מכירת יתר, timeouts).
- תיעוד, הדרכת צוות, תמיכה לאחר השקה.
הזמן אינטגרציה סוהר — נכין תוכנית מפורטת ולוח זמנים. אחריות על העבודה — 12 חודשים.







