שליטה בייצוא יחידות מ-1C ל-Bitrix: הגדרה שלב אחר שלב
תארו לעצמכם: קטלוג חומרי בניין עם 5,000 מוצרים, לכל אחד סוג יחידה ייחודי. החלפת הנתונים עם 1C מוגדרת, אבל באתר היחידות מופיעות רק כיחידות בודדות, למרות שב-1C הן מוגדרות במטרים ובאריזות. התוצאה: לקוחות מתבלבלים בהזמנות, מנהלים מחשבים מחדש ידנית, והשגיאות גדלות. מצב טיפוסי שאנחנו פותרים תוך 2-3 ימים, וחוסכים כ-2,500 דולר בשנה על ידי ביטול תיקונים ידניים.
במבט ראשון הכל פשוט: יש OKEI, ויש החלפת נתונים סטנדרטית של CommerceML. אבל כשהנומנקלטורה מגיעה לאלפי פריטים, ומוצר יכול להימכר במטרים, מטרים רבועים, גלילים של 50 מטר או אריזות של 6 יחידות—הגדרה עדינה היא חיונית. כאינטגרטורים, אנחנו נתקלים בזה באופן קבוע. במשך יותר מ-8 שנים, הגדרנו ייצוא יחידות מדידה למאות קטלוגים, מחומרי בניין ועד מוצרי כבלים.
כיצד יחידות מדידה מועברות מ-1C ל-Bitrix
ב-1C:UT, יחידות מאוחסנות בספריית סיווג יחידות המדידה (OKEI). לכל יחידה יש קוד OKEI (796 = יחידה, 006 = מטר, 055 = ק"ג), שם קצר ושם מלא. לנומנקלטורה יכולות להיות מספר יחידות:
- יחידת בסיס — לניהול מלאי במחסן.
- יחידת מכירה — להצגה ללקוח.
- יחידות נוספות עם מקדמי המרה.
דוגמה: כבל נמדד במטרים (בסיס), נמכר בגלילים של 100 מטר. הלקוח מזמין '2 גלילים' → המחסן מקבל הזמנה ל-200 מטר.
לפי CommerceML 2.08, היחידה מועברת בתג КлассификаторЕдиницИзмерения:
<Товар> <Ид>товар-guid</Ид> <Наименование>Кабель NYM 3x2.5</Наименование> <БазоваяЕдиница КодОКЕИ="006" НаименованиеПолное="Метр">м</БазоваяЕдиница> </Товар> Bitrix שומר את היחידה בשדה БазоваяЕдиница של בלוק המידע ובטבלת <Товар> <Ид>товар-guid</Ид> <Наименование>Кабель NYM 3x2.5</Наименование> <БазоваяЕдиница КодОКЕИ="006" НаименованиеПолное="Метр">м</БазоваяЕдиница> </Товар> . יחידות נוספות עם מקדמים מועברות דרך MEASURE:
<ЕдиницыИзмерения> <ЕдиницаИзмерения> <Код>бухта</Код> <НаименованиеПолное>Бухта</НаименованиеПолное> <НаименованиеКраткое>бух</НаименованиеКраткое> <Коэффициент>100</Коэффициент> <ЦенаВключаетНалоги>false</ЦенаВключаетНалоги> </ЕдиницаИзмерения> </ЕдиницыИзмерения> מודול ההחלפה הסטנדרטי יוצר רשומות יחידות ב-b_catalog_measure עם מקדמים. אבל אם למוצר יש יחס אריזה (למשל, נמכר רק בגלילים שלמים), צריך לטפל בזה בנפרד.
למה ריבוי אריזות חשוב
אי אפשר לקנות 'חצי קופסה' של מסמרים או חצי גליל טפט. ב-Bitrix, השדה ЕдиницыИзмерения מטפל בזה—הכפולה הכמותית. כברירת מחדל היא שווה ל-1 (יחידות), אבל יכולה להיות שברית עבור מוצרים הנמכרים לפי משקל (0.001 לגרם).
במהלך החלפה עם 1C, יחס האריזה מועבר לעיתים קרובות במאפיינים נוספים. במטפל הייבוא אנחנו לוכדים את זה:
if (isset($arXML['PACKAGE_RATIO'])) { CCatalogProduct::Update($elementId, [ 'MEASURE_RATIO' => floatval($arXML['PACKAGE_RATIO']), ]); } הגדרה אוטומטית מקצרת את זמן עדכון הקטלוג פי 5 בהשוואה להזנה ידנית. זה פי 3 מהיר יותר משימוש בהחלפה סטנדרטית ללא מטפלים מותאמים אישית.
מוצרים לפי משקל: ניואנסים
עבור מוצרים לפי משקל (מלט, דגנים), יש צורך בדיוק עד 0.001 ק"ג. Bitrix מאפשר להגדיר <ЕдиницыИзмерения> <ЕдиницаИзмерения> <Код>бухта</Код> <НаименованиеПолное>Бухта</НаименованиеПолное> <НаименованиеКраткое>бух</НаименованиеКраткое> <Коэффициент>100</Коэффициент> <ЦенаВключаетНалоги>false</ЦенаВключаетНалоги> </ЕдиницаИзмерения> </ЕдиницыИзмерения> , ובעגלת הקניות—שדה צעד. המחיר מקושר ליחידת הבסיס (1 ק"ג), סה"כ = מחיר × כמות שהוזנה. התקן הזה מוזנח לעיתים קרובות. חיסכון בזמן עדכוני קטלוג—עד 60%.
חומרי בניין: קטלוג רב-יחידות
חנות לחומרי בניין היא דוגמה קלאסית. מוצר אחד יכול להיות בעל מספר יחידות מכירה:
| מוצר | יחידת ניהול | יחידת מכירה | מקדם |
|---|---|---|---|
| למינציה | מ"ר | אריזה (2.04 מ"ר) | 2.04 |
| כבל | מ' | גליל (100 מ') | 100 |
| מלט | ק"ג | שק (25 ק"ג) | 25 |
| פרופיל | מ' | מוט (6 מ') | 6 |
כל שורה היא הגדרה נפרדת. עיבוד ידני של קטלוגים כאלה לוקח שבועות. אנחנו מאוטמים את ההעברה דרך CommerceML, כולל כל המקדמים. הגישה שלנו יעילה פי 4 מהזנה ידנית.
בעיות נפוצות ופתרונות
| בעיה | סיבה | פתרון |
|---|---|---|
| היחידה לא מוצגת | קוד OKEI לא מועבר | בדקו את המילוי ב-1C |
| יחס האריזה לא נשמר | שדה MEASURE_RATIO חסר | הוסיפו למטפל הייבוא |
| יחידות שונות לאותו מוצר | הגדרה שגויה ב-1C | השתמשו במאפיינים נוספים |
הפחתת שגיאות בהזמנות—עד 40%.
מה כלול בהגדרה
החבילה המלאה כוללת:
- בדיקת יחידות נוכחיות ב-1C וב-Bitrix.
- שינוי סקריפט החלפה מותאם אישית להעברת יחידות נוספות ויחס.
- הגדרת מקדמי המרה וקיזוז קטלוג מתויג.
- ייצוא ניסיון של 10-20 מוצרים וסנכרון מלא.
- הדרכה למנהל שלכם (שעה).
- תיעוד הפתרון.
- אחריות ל-12 חודשים על כל השינויים.
כיצד להגדיר ייצוא (שלב אחר שלב)
- בדיקת יחידות נוכחיות: סקירת קודי OKEI ומקדמים ב-1C.
-
שינוי סקריפט החלפה: הוספת טיפול ב-
b_catalog_unitוב-MEASURE_RATIO. - הגדרת מקדמי המרה: הגדרה ב-1C והעברה דרך XML.
- ייצוא ניסיון: בדיקה על קבוצת מוצרים מצומצמת.
- סנכרון מלא: הרצה ואימות.
עלות הפרויקט: מ-1,200 דולר להגדרה בסיסית. חיסכון: עד 2,500 דולר בשנה מביטול תיקונים ידניים.
מקרה בוחן: חנות סיטונאית למוצרי כבלים
מהניסיון שלנו: סיטונאי כבלים עם 4,000 פריטים, כולם במטרים. מכירות—בגלילים באורכים משתנים (25, 50, 100, 200 מ'). הקונה בוחר מספר גלילים אבל רואה את האורך הכולל במטרים.
פתרון:
- יחידת בסיס: מטר.
- יחידת מכירה: גליל עם מקדם (נלקח מ-1C לכל פריט).
- בדף המוצר: שדה 'מספר גלילים' + שדה 'סה"כ מטרים' עם חישוב אוטומטי דרך JS.
- בעגלת הקניות: אחסון במטרים, הצגה בגלילים.
המקדם מועבר מ-1C ב-if (isset($arXML['PACKAGE_RATIO'])) { CCatalogProduct::Update($elementId, [ 'MEASURE_RATIO' => floatval($arXML['PACKAGE_RATIO']), ]); } . כשהנומנקלטורה מתעדכנת, הנתונים מתעדכנים אוטומטית. התוצאה—קטלוג אוטומטי לחלוטין עם יחידות נכונות; העבודה הידנית מצטמצמת לאפס.
ניסיון ואחריות
הצוות שלנו עובד עם אינטגרציות Bitrix ו-1C במשך יותר מ-8 שנים. השלמנו יותר מ-40 פרויקטים, מחנויות מקוונות קטנות ועד קטלוגים של מפיצים. אנחנו מספקים אחריות ל-12 חודשים על כל השינויים. קבלו ייעוץ למשימה שלכם—נעריך את הפרויקט שלכם תוך יום אחד.
למה הפתרון שלנו עדיף
הגדרה אוטומטית מהירה פי 5 מהזנה ידנית ואמינה פי 3 ממודולי החלפה סטנדרטיים. שגיאות בהזמנות יורדות ב-40%. השיגו נתוני יחידות עקביים בין מערכות 1C ו-Bitrix שלכם, והבטיחו עיבוד הזמנות מדויק ושביעות רצון לקוחות.







