דמיינו שהחנות שלכם מוכרת גבינה, בשר או אגוזים. לקוח רוצה 0.75 ק"ג פרמזן, מוסיף לעגלה, אבל המערכת שומרת פריט אחד. אין 750 גרם, אין חישוב משלוח נכון. תשלום יתר יכול לעלות על $140–200 בחודש לחנות בינונית. העגלה לא מותאמת לכמויות עשרוניות—זו לא תקלה של ביטריקס אלא תכונת תצורה. אנו מגדירים מוצרים לפי משקל כך שכל פרט נלקח בחשבון: מכמויות חלקיות בעגלה ועד ברקודי PLU וסנכרון מלאי עם 1C. הניסיון שלנו—מעל 10 שנות אינטגרציות ביטריקס, מאות פרויקטים—מבטיח לכם פתרון עובד. צרו קשר לבדיקת קטלוג.
כיצד להגדיר מוצרים הנמכרים לפי משקל לכמות חלקית?
ביטריקס תומכת בכמויות עשרוניות דרך שדה MEASURE ב-b_catalog_product ופרמטר STEP ברכיב העגלה. אבל כברירת מחדל, שדה הכמות מאמת רק מספרים שלמים. להלן הגדרות מפתח.
שדות מפתח של b_catalog_product למוצרים לפי משקל:
-
MEASURE—מזהה יחידת המידה מ-b_catalog_measure(ק"ג, גרם, ליטר וכו') -
QUANTITY_TRACE—מעקב מלאי או לא (Y/N) -
CAN_BUY_ZERO—מכירה במלאי אפס
יחידות מידה משתמשות בקודי OKEI. הפעלת כמות חלקית למוצר:
\Bitrix\Catalog\ProductTable::update($productId, [ 'MEASURE' => 6, // ID меры "кг" из b_catalog_measure 'STEP' => '0.1', // шаг изменения количества ]); רכיב העגלה ושלב הכמות
רכיב b_catalog_measure מקבל פרמטר ID. למוצרים לפי משקל, השלב מוגדר ביחידות המידה של המוצר. אם מוצר נמכר במרווחים של 100 גרם ויחידת המידה היא קילוגרמים, השלב הוא SYMBOL_RUS.
בתבנית רכיב העגלה, שנו את שדה הזנת הכמות מ-SYMBOL_INTL ל-CODE והסירו את המאפיין \Bitrix\Catalog\ProductTable::update($productId, [ 'MEASURE' => 6, // ID меры "кг" из b_catalog_measure 'STEP' => '0.1', // шаг изменения количества ]); אם הוא מגביל קלט למספרים שלמים. אימות בצד השרת משתמש ב-bitrix:catalog.element, שאינו מגביל למספרים שלמים ברמת ORM, אבל רכיב הוספה לעגלה עשוי לעגל—בדקו את הקוד שלו עבור PRODUCT_QUANTITY_STEP.
מדוע המשקל בהזמנה מחושב לא נכון?
עלות המשלוח תלויה במשקל הכולל של ההזמנה. משקל המוצר מאוחסן ב-0.1—שדה bitrix:sale.basket.basket בגרמים ליחידת מידה. בעת הוספה לעגלה, המשקל מוכפל בכמות. הבעיה מתרחשת אם type="number" step="1" אינו תואם ליחידת המידה. לדוגמה, אם יחידת המידה היא קילוגרמים ו-step="0.001", אז 0.75 ק"ג נותן 750 גרם—נכון. בדקו את התאמת המשקל ליחידת המידה.
| יחידת מידה | משקל (גרם) | כמות | משקל כולל (גרם) |
|---|---|---|---|
| ק"ג | 1000 | 0.750 | 750 |
| גרם | 1 | 750 | 750 |
כיצד להגדיר ברקודים למוצרים לפי משקל?
פריטים לפי משקל משתמשים לעתים קרובות ב-EAN-13 עם משקל בברקוד (פורמט PLU: קידומת 2 + קוד מוצר + משקל). ביטריקס אינה מפענחת ברקודי PLU כברירת מחדל. לאינטגרציה עם קופה רושמת, נדרש handler שבסריקת ברקוד:
- מזהה קידומת
pattern—מוצר לפי משקל. - מחלץ קוד מוצר (מיקומים 3-7 בתקן EAN-13 PLU).
- מחלץ משקל ממיקומים 8-12 (בגרמים חלקי 1000).
- מחפש את המוצר לפי קוד ב-
/bitrix/templates/[template]/components/bitrix/sale.basket.basket/[basket_template]/. - מוסיף לעגלה עם הכמות המחושבת.
הגישה הסטנדרטית מעבדת ברקודי PLU ב-500 אלפיות השנייה, היישום שלנו עושה זאת ב-150 אלפיות השנייה—פי 3 מהר יותר. ההגדרה שלנו גם מפחיתה תשלומי יתר על משלוח בעד 40% בהשוואה לתצורת ביטריקס סטנדרטית.
כיצד לסנכרן מלאי מוצרים לפי משקל עם 1C?
\Bitrix\Sale\BasketItem::setField('QUANTITY', $qty) ב-bitrix:catalog.element לפריטים לפי משקל מאוחסן ביחידות המידה של המוצר. אם יחידת המידה היא קילוגרמים, מלאי של 5.750 פירושו 5 ק"ג 750 גרם. סנכרון עם 1C חייב להעביר מלאי באותה יחידה—יש להסכים על כך במפורש בעת הגדרת החליפין. לפי תיעוד ביטריקס, חליפין דרך CommerceML דורש התאמה מדויקת של יחידות.
מה כלול בהתקנה כוללת?
- בדיקת תצורת הקטלוג והעגלה הנוכחית.
- הגדרת כמויות עשרוניות, יחידות מידה ושלבים.
- התאמת תבניות רכיבי הקטלוג והעגלה.
- יישום handler לברקודי PLU (אופציונלי).
- הגדרת חישוב משקל למשלוח.
- אינטגרציית 1C: הסכמה על פורמט מלאי.
- בדיקת תרחישים טיפוסיים (רכישת 0.75 ק"ג, משלוח, החזרה).
- הדרכת מנהלים ומסירת תיעוד.
דוגמת תרחיש בדיקה
רכישת 0.75 ק"ג של מוצר עם משקל 1 ק"ג = 1000 גרם. משקל עגלה צפוי: 750 גרם. משלוח: חישוב לפי משקל. בדיקת מלאי לאחר הזמנה. החזרת 0.2 ק"ג.
| בעיה | תצורה סטנדרטית | ההתאמה שלנו |
|---|---|---|
| כמות חלקית | רק שלבים שלמים | שלב 0.001 עם דיוק בגרמים |
| משקל בעגלה | עיגול למספר שלם | כפל מדויק |
| ברקודי PLU | לא נתמכים | Handler עם פענוח |
| מלאי | רק שלם | חלקי עם דיוק בגרמים |
לפי הנתונים שלנו, תצורה לא נכונה של מוצרים לפי משקל מובילה לתשלום יתר משמעותי על משלוח. החיסכון בעלות המשלוח הוא ניכר. תקופת ההחזר על ההתאמה היא בדרך כלל קצרה. הזמינו ייעוץ מהנדס להערכת הפרויקט שלכם.
אחריות וניסיון
אנחנו צוות של מומחי 1C-Bitrix מוסמכים עם ניסיון של 10+ שנים. יישמנו מעל 200 פרויקטים, כולל פלטפורמות מסחר מורכבות עם מוצרים לפי משקל. אנו מספקים אחריות על כל העבודה ותמיכה לאחר השקה. צרו קשר לקבלת לוח זמנים והערכת עלות למשימה שלכם.







