השקתם חנות מקוונת על 1C-Bitrix. מוצרים מיובאים מ-1C, אך ברקודים אינם מועברים. לקוחות B2B דורשים EAN-13 כדי לטעון למערכות שלהם, והחילופים הסטנדרטיים של CommerceML מתעלמים מהם. נתקלנו במשימה זו עשרות פעמים — הנה איך אנחנו פותרים אותה. הניסיון שלנו מאפשר לנו להבטיח סנכרון נכון תוך 3–5 ימים, תוך הפחתת הזנה ידנית ב-90%.
כיצד מאוחסנים ברקודים ב-1C
ב-1C: ניהול סחר 11 ובתצורות אחרות, ברקודים מאוחסנים ברישום המידע ШтрихкодыНоменклатуры. מבנה: פריט (Reference), מאפיין (אם מקושר ל-SKU), יחידת מידה (EAN שונה ליחידה, קופסה, משטח), ברקוד (מחרוזת EAN-8, EAN-13, Code128, QR, Datamatrix), סוג ברקוד. למוצר אחד יכולים להיות מספר ברקודים: EAN-13 ליחידה בודדת, EAN-13 לאריזה (6 יחידות), Code128 למשטח, וברקוד ספק נוסף.
מדוע CommerceML הסטנדרטי אינו מתאים
ב-CommerceML 2.08, קיים תג Штрихкод, אך התמיכה במודול החילופים הסטנדרטי של Bitrix מוגבלת. הברקוד מועבר כתכונה נוספת או בתוך <Товар>:
<Товар><Ид>товар-guid</Ид><Штрихкод>4607025491117</Штрихкод></Товар> חלק מהגרסאות של מודול החילופים של Bitrix כותבות תג זה למאפיין <Товар><Ид>товар-guid</Ид><Штрихкод>4607025491117</Штрихкод></Товар> . בדקו: אם מאפיין זה קיים לאחר הייבוא הראשון — הברקוד מועבר בצורה סטנדרטית. אם לא — יש צורך במטפל אירועי ייבוא.
| פרמטר | CommerceML סטנדרטי | מטפל מותאם אישית |
|---|---|---|
| מספר ברקודים | אחד למוצר | מרובים (לפי יחידת מידה) |
| תמיכה ב-SKU | לא | כן |
| גמישות | מוגבלת | שליטה מלאה — פי 3 יותר אפשרויות |
| מורכבות הגדרה | מינימלית | בינונית (דורש מפתח) |
כיצד להעביר מספר ברקודים מ-1C
עבור מספר ברקודים (לפי יחידת מידה), התג הסטנדרטי אינו מספיק. אנו משתמשים ב-CML2_BAR_CODE:
<ДополнительныеРеквизиты> <ЗначениеРеквизита> <Наименование>ШтрихкодШтука</Наименование> <Значение>4607025491117</Значение> </ЗначениеРеквизита> <ЗначениеРеквизита> <Наименование>ШтрихкодКоробка</Наименование> <Значение>4607025491124</Значение> </ЗначениеРеквизита> </ДополнительныеРеквизиты> ב-Bitrix, אנו יוצרים מאפייני infoblock ДополнительныеРеквизиты ו-<ДополнительныеРеквизиты> <ЗначениеРеквизита> <Наименование>ШтрихкодШтука</Наименование> <Значение>4607025491117</Значение> </ЗначениеРеквизита> <ЗначениеРеквизита> <Наименование>ШтрихкодКоробка</Наименование> <Значение>4607025491124</Значение> </ЗначениеРеквизита> </ДополнительныеРеквизиты> עם סוג 'מחרוזת'. מטפל אירועים עבור BARCODE_UNIT ממלא מאפיינים אלה:
AddEventHandler('catalog', 'OnIBlockCMLImport2ElementAdd', 'fillBarcodeProperties'); function fillBarcodeProperties(&$arFields, &$arProps, $arXML) { if (isset($arXML['BARCODE_UNIT'])) { $arProps['BARCODE_UNIT'] = $arXML['BARCODE_UNIT']; } if (isset($arXML['BARCODE_BOX'])) { $arProps['BARCODE_BOX'] = $arXML['BARCODE_BOX']; } } ברקודים להצעות מסחר (SKU)
אם הברקוד מקושר למאפיין (לדוגמה, EAN שונה לחולצות אדומות וכחולות), אנו מעבירים אותו ברמת ההצעה. ב-XML של ההצעה:
<Предложение> <Ид>товар-guid#характеристика-guid</Ид> <Штрихкод>4607025491131</Штрихкод> </Предложение> ב-infoblock של ההצעות, צרו מאפיין BARCODE_BOX ומטפל דומה לאירוע OnIBlockCMLImport2ElementAdd.
חיפוש לפי ברקוד
לאחר מילוי המאפיין AddEventHandler('catalog', 'OnIBlockCMLImport2ElementAdd', 'fillBarcodeProperties'); function fillBarcodeProperties(&$arFields, &$arProps, $arXML) { if (isset($arXML['BARCODE_UNIT'])) { $arProps['BARCODE_UNIT'] = $arXML['BARCODE_UNIT']; } if (isset($arXML['BARCODE_BOX'])) { $arProps['BARCODE_BOX'] = $arXML['BARCODE_BOX']; } } , החיפוש מיושם באמצעות רכיב החיפוש הסטנדרטי של Bitrix או מותאם אישית:
$result = CIBlockElement::GetList( [], ['IBLOCK_ID' => CATALOG_IBLOCK_ID, 'PROPERTY_BARCODE' => $scannedCode], false, false, ['ID', 'NAME', 'DETAIL_PAGE_URL'] ); עבור האתר הנייד, אנו משלבים ספרייה לסריקת מצלמה (ZXing או QuaggaJS). המשתמש סורק את האריזה — האתר פותח מיד את כרטיס המוצר.
מקרה בוחן: פלטפורמת B2B עם EDI (מהניסיון שלנו)
יצרן מזון עם אינטגרציית EDI: קמעונאים דורשים EAN-13 עבור כל פריט במחירון. ברקודים נוהלו ב-1C אך היסטורית לא יוצאו לפורטל B2B. הלקוח שלנו בילה שעתיים ביום בהזנה ידנית.
פתרון: ייצוא חד-פעמי של כל הברקודים מ-1C (עיבוד חיצוני → CSV), ייבוא ל-Bitrix באמצעות סקריפט עדכון המוני עבור המאפיין <Предложение> <Ид>товар-guid#характеристика-guid</Ид> <Штрихкод>4607025491131</Штрихкод> </Предложение> . זמן: 4 שעות עבור 12,000 פריטים. הגדרנו סנכרון שוטף במהלך החילופים: מוצרים חדשים מגיעים עם הברקוד ב-BARCODE, המטפל ממלא את המאפיין. שינוי ברקוד של פריט קיים עובד דרך אותו מנגנון. ההזנה הידנית הופחתה ב-95%.
מדריך שלב-אחר-שלב: כיצד להגדיר ייצוא ברקודים
- ניתוח תוכנית החילופים הנוכחית: גרסאות 1C, תצורה, מודול חילופים.
- יצירת מאפייני infoblock לברקודים (ראשי ול-SKU).
- הגדרת העברת ברקודים מ-1C באמצעות תכונות נוספות או התג הסטנדרטי.
- פיתוח מטפל אירועי ייבוא למילוי מאפיינים.
- בדיקת סנכרון בסביבת בדיקה.
- הדרכת מנהלים בטיפול בברקודים.
מה כלול בעבודה
- ניתוח תוכנית החילופים הנוכחית (גרסאות 1C, תצורה, מודול חילופים)
- הגדרת מאפייני infoblock והצעות
- פיתוח מטפל אירועי הייבוא
- בדיקת סנכרון בסביבת בדיקה
- תיעוד הגדרות ושינויים
- הדרכת מנהלים (1–2 שעות)
- חודש תמיכה לאחר ההשקה
לוחות זמנים ועלות
לוחות זמנים: מ-3 עד 7 ימים בהתאם למורכבות (ברקודים מרובים, SKU, EDI). העלות מחושבת באופן אישי לאחר ניתוח התוכנית שלכם. קבלו ייעוץ למשימה שלכם — נעריך את הפרויקט בחינם.
אנו עוסקים באינטגרציות 1C ו-Bitrix כבר למעלה מ-10 שנים, והשלמנו יותר מ-200 פרויקטים. אנו מבטיחים תוצאות, המעוגנות בחוזה ובמפרט הטכני. הזמינו הגדרת ייצוא ושכחו מהזנה ידנית של ברקודים.







