הגדרת ייצוא הזמנות מ-1C-Bitrix ל-1C
למה הזמנות לא מגיעות ל-1C ואיך לתקן את זה?
לקוח מתלונן: הזמנות מחנות המקוון לא מגיעות ל-1C, מפעיל מעביר נתונים ידנית, וכל הזמנה שנייה יוצאת עם שגיאה. המפעיל מבלה שעתיים ביום בהזנת נתונים, אחת מתוך עשר הזמנות מכילה שגיאה. לפי ההערכות שלנו, העברה ידנית של הזמנות עולה לחנות 50,000–100,000 RUB בחודש בהפסדים נסתרים: זמן מפעיל, שגיאות הזנה, חוסר שביעות רצון של לקוחות. האוטומציה מחזירה את עצמה תוך 1–2 חודשים: החיסכון בהזנה ידנית מגיע ל-80% מזמן המפעיל, ששווה ערך ל-300,000 RUB בשנה. הגדרנו את הסנכרון כך שה-XML נוצר כראוי מההתחלה — ללא פריטים כפולים, פרטים שאבדו או התנגשויות מספור.
ייצוא הזמנות הוא השלב הראשון של סנכרון דו-כיווני. האתר יוצר XML ומעביר אותו ל-1C לפי בקשה. ההגדרה אינה קשה, אבל יש פרטים שקובעים אם כל הנתונים הדרושים יגיעו ל-1C בפורמט הנכון. עם ניסיון של 10+ שנים ויותר מ-50 אינטגרציות עם 1C-Bitrix, צברנו פתרונות מוכנים לבעיות טיפוסיות.
לפי נתונים פנימיים, 70% משגיאות הסנכרון קשורות למזהי פריטים שאינם תואמים. תיקון בעיה זו מפחית את מספר העריכות הידניות ב-1C ב-80%.
הפעלת ייצוא הזמנות
Настройки → Настройки продуктов → Интернет-магазин → Обмен с 1С → Заказы:
- ייצוא הזמנות: כן
- סטטוסי הזמנות לייצוא: בחר את אלה הנדרשים. לרוב "חדשה" ו"שולמה"; אין צורך לייצא הזמנות שבוטלו — הן יוצרות מסמכים מיותרים ב-1C.
- ייצוא הזמנות שנוצרו לא לפני: הגבל היסטוריה אם החנות עבדה ללא 1C — אין צורך למשוך הזמנות מלפני כמה שנים.
מדריך הגדרה שלב אחר שלב:
- עבור להגדרות → הגדרות מוצר → חנות אינטרנט → סנכרון עם 1C → הזמנות.
- הגדר את הדגל "ייצוא הזמנות".
- בחר סטטוסי הזמנות לייצוא.
- ציין את התאריך שממנו לייצא הזמנות.
- הגדר את ה-handler לפרטים נוספים (אם נדרשים INN/KPP).
- הוסף קידומת למספר הזמנה אם יש צורך.
איך נוצר XML של הזמנה?
ה-XML הסטנדרטי של הזמנה כולל פרטי קונה, פריטי שורה עם כמות ומחירים, משלוח שנבחר ומאפייני הזמנה. מבנה פשוט:
<Документ>
<Ид>ORDER_ID</Ид>
<Номер>ACCOUNT_NUMBER</Номер>
<Дата>202X-03-15</Дата>
<Контрагенты>
<Контрагент>
<Ид>USER_1C_ID</Ид>
<Наименование>Иванов Иван</Наименование>
</Контрагент>
</Контрагенты>
<Товары>
<Товар>
<Ид>PRODUCT_1C_ID</Ид>
<Количество>2</Количество>
<ЦенаЗаЕдиницу>1500</ЦенаЗаЕдиницу>
</Товар>
</Товары>
<Стоимость>3000</Стоимость>
</Документ>כדי שפריט יועבר ל-1C, קריטי שיהיה <Документ> <Ид>ORDER_ID</Ид> <Номер>ACCOUNT_NUMBER</Номер> <Дата>202X-03-15</Дата> <Контрагенты> <Контрагент> <Ид>USER_1C_ID</Ид> <Наименование>Иванов Иван</Наименование> </Контрагент> </Контрагенты> <Товары> <Товар> <Ид>PRODUCT_1C_ID</Ид> <Количество>2</Количество> <ЦенаЗаЕдиницу>1500</ЦенаЗаЕдиницу> </Товар> </Товары> <Стоимость>3000</Стоимость> </Документ> — מזהה הפריט מ-1C, שנשמר במאפיין <Ид> של רכיב בלוק המידע. אם פריט נוצר ידנית באתר ללא מאפיין זה, הוא יופיע ב-1C כ"נומנקלטורה לא ידועה", מה שייצור עבודה ידנית למפעיל 1C.
העברת פרטי קונה
עבור יחידים, מערך הפרטים הסטנדרטי (שם, טלפון, כתובת) מועבר אוטומטית ממאפייני הזמנה. ישויות משפטיות דורשות נתונים נוספים: INN, KPP, שם ארגון. נתונים אלה נשמרים במאפייני הזמנה נפרדים ומתווספים ל-XML דרך handler:
\Bitrix\Main\EventManager::getInstance()->addEventHandler(
'sale',
'OnSaleOrderExport1C',
function(&$arOrder) {
$arOrder['COMPANY'] = $arOrder['PROPS']['COMPANY']['VALUE'];
$arOrder['INN'] = $arOrder['PROPS']['INN']['VALUE'];
$arOrder['KPP'] = $arOrder['PROPS']['KPP']['VALUE'];
}
); איך להימנע מכפילות פריטים במהלך ייצוא?
הגורם העיקרי לכפילויות הוא מזהי פריטים שאינם תואמים. ה-XML חייב להעביר את CML2_LINK מ-1C, שנשמר במאפיין \Bitrix\Main\EventManager::getInstance()->addEventHandler( 'sale', 'OnSaleOrderExport1C', function(&$arOrder) { $arOrder['COMPANY'] = $arOrder['PROPS']['COMPANY']['VALUE']; $arOrder['INN'] = $arOrder['PROPS']['INN']['VALUE']; $arOrder['KPP'] = $arOrder['PROPS']['KPP']['VALUE']; } ); . אם פריט נוסף ידנית באתר, קשר אותו לפריט הקיים ב-1C על ידי עדכון Ид. אחרת, 1C תיצור רכיב מילון חדש, ותצטרך לנקות כפילויות ידנית. בנוסף, הגדר סוכן סנכרון פריטים פעם ביום — זה מונע אי-התאמות.
תצורה מותאמת אישית עם מיפוי מזהים סטטי אמינה פי 2 מסנכרון סטנדרטי, מכיוון שהיא מבטלת שגיאות אנוש במהלך קישור ידני.
פרטים נוספים על הגדרת סוכן הסנכרון
לסנכרון פריטים אוטומטי, השתמש בסוכן הסטנדרטי CML2_LINK. ניתן להגדיר אותו לפעול פעם ביום דרך CML2_LINK. תדירות הסנכרון תלויה בנפח ההזמנות — עבור חנויות עם 50+ הזמנות ביום, אנו ממליצים להפעיל אותו כל 4 שעות.
למה הזמנות לא נכנסות ל-1C?
סיבה נפוצה היא הגדרות סטטוס שגויות או התנגשויות מספור. 1C מחפשת את ההזמנה לפי השדה CSaleExport::ExportOrders מה-XML. כברירת מחדל, Bitrix מעבירה Настройки → Настройки продуктов → Интернет-магазин → Обмен с 1С → Агенты — לדוגמה, <Номер>. אם ב-1C כבר קיימים מסמכים עם מספרים כאלה ממערכת אחרת, נוצרות התנגשויות. קידומת פותרת את הבעיה:
// В настройках обмена или обработчике $arOrder['ACCOUNT_NUMBER'] = 'WEB-' . $arOrder['ACCOUNT_NUMBER']; בדוק גם שהגדרות מודול "חנות אינטרנט" מאפשרות ייצוא של הזמנות עם הסטטוסים והתאריכים הנדרשים.
איך מועברים שיטות משלוח ותשלום ב-XML?
שירות המשלוח ושיטת התשלום מועברים בבלוקים נפרדים:
<ЗначенияРеквизитов>
<ЗначениеРеквизита>
<Наименование>СпособОплаты</Наименование>
<Значение>Оплата картой онлайн</Значение>
</ЗначениеРеквизита>
<ЗначениеРеквизита>
<Наименование>СпособДоставки</Наименование>
<Значение>Курьерская доставка</Значение>
</ЗначениеРеквизита>
</ЗначенияРеквизитов>השמות ב-1C חייבים להתאים למה ש-Bitrix שולחת — אחרת 1C תיצור פריטי מילון חדשים "שיטות משלוח" עבור כל אי-התאמה. אנו ממליצים לסנכרן מילונים דרך סנכרון או לתקן את המיפוי ב-handler.
השוואה בין תצורה סטנדרטית למותאמת אישית
| פרמטר | תצורה סטנדרטית | תצורה מותאמת אישית (מפתחות) |
|---|---|---|
| פרטי ישות משפטית | רק INN, KPP (דרך handler) | כל מאפייני הזמנה, קיבוץ צד שכנגד |
| מספור הזמנות | ללא קידומת | קידומת, רצף ייחודי |
| טיפול בשגיאות | אין | רישום, ניסיונות חוזרים, התראות |
| משלוח/תשלום | התאמת שם מדויקת | מיפוי מילון, התאמה לפי מזהה |
| זמן | 2–4 שעות | 4–8 שעות (כולל בדיקות) |
בעיות נפוצות והפתרונות שלהן
| בעיה | פתרון |
|---|---|
| הזמנות לא מיוצאות עם סטטוס מסוים | בדוק את רשימת הסטטוסים בהגדרות |
| הזמנות כפולות ב-1C | הוסף קידומת למספר או מזהה ייחודי |
| שיטת משלוח לא מועברת | סנכרן מילוני משלוח |
מה כלול בהגדרת ייצוא הזמנות
- ניתוח תוכנית הסנכרון הנוכחית ואזורי בעיה
- הגדרת מודול "חנות אינטרנט" עבור הסטטוסים והתאריכים שלך
- הוספת handler להעברת פרטי ישות משפטית ומאפיינים מותאמים אישית
- הגדרת קידומת מספור למניעת התנגשויות
- סנכרון מילוני משלוח ותשלום (מיפוי)
- בדיקת מחזור מלא: הזמנה באתר → XML → טעינה ל-1C
- תיקון שגיאות והדרכת המפעיל
זמן הגדרה
הגדרת ייצוא הזמנות בתרחיש סטנדרטי אורכת 2 עד 4 שעות. עם פרטי ישות משפטית, מאפיינים מותאמים אישית ומספור מותאם — מ-4 עד 8 שעות. עבור פרויקטים מורכבים (עשרות מאפיינים, לוגיקה לא סטנדרטית), לוח הזמנים נקבע לאחר ביקורת.
נעריך את הפרויקט שלך תוך יום עסקים אחד — צור קשר כדי לדון בפרטים. הזמן הגדרת ייצוא הזמנות והיפטר מהשגרה. קבל ייעוץ לפרויקט שלך.
התחייבויות וניסיון
אנחנו מומחי 1C-Bitrix מוסמכים עם ניסיון של 10+ שנים באינטגרציה. אנו מתחייבים לפעולה תקינה של הסנכרון לאחר ההגדרה: הזמנות ייכנסו ל-1C ללא כפילויות, עם מערך פרטים מלא. אנו מספקים תיעוד ותמיכה לאחר מסירת הפרויקט.

