הגדרת תהליך הזמנה ב-1C-Bitrix: ניפוי שגיאות והתאמה אישית

כשלים בתהליך התשלום מרחיקים לקוחות ועולים לכם בהכנסות. אנו מגדירים ומשפרים את דף ההזמנה של 1C-Bitrix, מתקנים שגיאות ומתאימים את הטופס לעסק שלכם. הצוות שלנו מספק פתרון מלא—מאבחון ועד השקה, עם תמיכה מתמשכת.
השירותים שאנו מציעים
מציג 1 מתוך 1כל 1626 השירותים
הגדרת תהליך הזמנה ב-1C-Bitrix: ניפוי שגיאות והתאמה אישית
פשוט
~1 יום

הכישורים שלנו:

שאלות נפוצות

הגדרת תשלום הזמנה ב-1C-Bitrix: ניפוי באגים והתאמה אישית

לקוח מתלונן: טופס התשלום עובד לסירוגין. הקונסולה זורקת TypeError: BX is undefined, ועלות המשלוח לא מתעדכנת כשהעיר משתנה. הסטטיסטיקות מראות שמתוך 1000 מבקרים, 400 נוטשים את העגלה בדיוק בגלל שגיאות בשלב האחרון. זה קורה כאשר רכיב bitrix:sale.order.ajax רץ עם תבנית שבורה או פרמטרים שגויים. במשך למעלה מ-10 שנים, אספנו תרחישים טיפוסיים ומלכודות שקשה לזהות, המתרחשות ב-80% מהפרויקטים. דף התשלום הוא נקודה קריטית בכל חנות מקוונת — כל שגיאה כאן משמעותה לקוחות אבודים ותקציב מבוזבז.

בעיות שאנחנו פותרים

מצב טיפוסי: עלות המשלוח לא מתעדכנת כשהעיר נבחרת. הסיבה היא שאירוע onSaleOrderAjaxLocationChange לא מוגדר. הרכיב לא יודע שתעריפים תלויים במיקום. הפתרון: להירשם לאירוע ולעדכן שירותי משלוח דרך BX.Sale.OrderAjaxComponent.refreshOrderData(). כאב נפוץ נוסף הוא ספינר תשלום קפוא, שנגרם מהתנגשויות גרסאות jQuery בתבנית. אנחנו בודקים שאין סקריפטים כפולים בתבנית.

מקרה: אינטגרציית CDEK פתרה אובדן של 30% מההזמנות. בפרויקט אחד, הלקוח איבד 30% מההזמנות כי גם כשנבחר איסוף עצמי, שדה הכתובת נשאר חובה. הגדרנו תצוגה מותנית של שדות באמצעות אירוע ה-JS onSaleOrderAjaxDeliveryChange. לאחר היישום, ההמרה עלתה ב-25%. השתמשנו בפרמטרים: DELIVERY_NO_AJAX = 'N' ו-USE_PREPAYMENT = 'Y'. למידע נוסף על מבנה הרכיב, ראו את תיעוד 1C-Bitrix.

מבנה הרכיב של טופס התשלום

רכיב bitrix:sale.order.ajax מורכב מכמה חלקים:

  • שלבי תשלום — נשלטים על ידי פרמטר DELIVERY_MODE (SPLIT_DELIVERY לשלבים, ONE_PAGE לדף אחד)
  • סוגי משלמים — מוגדרים ב-Интернет-магазин → Покупатели → Типы плательщиков
  • שירותי משלוח — נוספו ב-Интернет-магазин → Службы доставки
  • מערכות תשלום — נוספו ב-Интернет-магазин → Платёжные системы

תבנית הרכיב ממוקמת ב-/bitrix/components/bitrix/sale.order.ajax/templates/. כשעובדים עם אתר תחת תבנית, נעשה שימוש בעותק ב-/local/components/bitrix/sale.order.ajax/templates/.

הגדרות ממשק ניהול טיפוסיות

שדות טופס הזמנה. ב-Интернет-магазин → Настройки → Свойства заказа, מגדירים שדות: שם, טלפון, אימייל, כתובת. עבור כל שדה, מגדירים את הסוג, הדרישה והקישור לסוג המשלם.

קישור משלוח למחסנים. אם לחנות שלכם יש מספר מחסנים (Каталог → Склады), הגדירו איזה מחסן שולח את המוצר. זה משפיע על חישוב עלות וזמן המשלוח.

מילוי אוטומטי של עיר. הרכיב שולף את העיר מהפרופיל של המשתמש המחובר (שדה UF_CITY מ-b_user). עבור משתמשים אנונימיים, הוא משתמש בגיאולוקציה ממודול sale.location או משירות חיצוני (DaData, Yandex.Maps).

השוואת מצבי תשלום

פרמטר ONE_PAGE SPLIT_DELIVERY
מספר שלבים 1 (כל השדות על מסך אחד) 4 (אנשי קשר, משלוח, תשלום, אישור)
מתאים ל חנויות פשוטות עם 1-2 שירותי משלוח חנויות עם 5000+ מוצרים ותרחישי לוגיסטיקה שונים
המרה נמוכה יותר עם בחירות מורכבות גבוהה ב-15-20%, לפי הנתונים שלנו

sale.location עולה על USE_AJAX_LOCATION = 'Y' עבור קטלוגים מורכבים, ומפחיתה את נטישת העגלה ב-15-20%. ההמרה הממוצעת בחנויות מקוונות היא בדרך כלל 2-3%, כך שכל נקודת אחוז של צמיחה היא קריטית.

איך לשלב תשלום עם גיאולוקציה?

הפעילו את מודול BX.addCustomEvent('onSaleOrderAjaxLocationChange', function(location) { // уточняем город по IP через сторонний API }); והגדירו BX.addCustomEvent('onSaleOrderAjaxDeliveryChange', function(deliveryId) { // показать/скрыть поля в зависимости от выбранной доставки }); . לזיהוי עיר מדויק יותר, השתמשו בשירות JavaScript DaData. דוגמה למטפל:

BX.addCustomEvent('onSaleOrderAjaxLocationChange', function(location) { // уточняем город по IP через сторонний API }); 

גיאולוקציה חשובה במיוחד לחנויות עם משלוח אזורי — היא מציגה אוטומטית שירותי משלוח זמינים ותעריפיהם.

למה חשובה תצוגה מותנית של שדות?

לקוח בוחר איסוף עצמי, אך הטופס עדיין דורש כתובת משלוח. זה מתסכל ומפחית המרה. הפתרון הנכון הוא להציג שדות כתובת רק כשנבחר משלוח שליח. זה מיושם דרך אירוע ה-JS:

BX.addCustomEvent('onSaleOrderAjaxDeliveryChange', function(deliveryId) {
    // показать/скрыть поля в зависимости от выбранной доставки
});

גישה זו משפרת את חוויית המשתמש ומפחיתה את מספר ההזמנות הנטושות ב-25-30%. טופס מוגדר כראוי יכול לחסוך 20-30% מההפסדים הפוטנציאליים עקב שגיאות.

איך להגדיר תצוגה מותנית של שדות: שלב אחר שלב

  1. זיהוי מזהי שירותי המשלוח שעבורם יש להציג/להסתיר שדות.
  2. הירשמו לאירוע onSaleOrderAjaxDeliveryChange ב-JavaScript.
  3. במטפל, השוו את המזהה שהתקבל ושלוט בנראות הבלוקים (למשל, דרך BX.show() / BX.hide()).
  4. בדקו את כל התרחישים: איסוף עצמי, שליח, נקודת איסוף.

הגדרת קישור מאפייני הזמנה למשלוח

משימה נפוצה היא להציג את כתובת המשלוח רק כשנבחר שליח, וכשנבחר איסוף עצמי, להציג רשימת נקודות איסוף. זה נעשה דרך פרמטרי תבנית הרכיב:

// В шаблоне компонента sale.order.ajax
$arParams['DELIVERY_NO_AJAX'] = 'N'; // обновление доставок без перезагрузки
$arParams['USE_PREPAYMENT'] = 'Y'; // предоплата
דוגמה: טבלת בעיות ופתרונות נפוצים
בעיה סיבה פתרון
שגיאת BX is undefined התנגשות סקריפטים הסרת הכללות jQuery כפולות
משלוח לא מתעדכן חוסר הרשמה לאירוע הירשמו ל-onSaleOrderAjaxLocationChange
ספינר תשלום תקוע אי-תאימות גרסאות בדיקה וסנכרון גרסאות סקריפטים

מה כלול בעבודה

  • ניתוח הטופס הנוכחי: שגיאות קונסולה, שדות לא עובדים, בעיות משלוח/תשלום
  • עיצוב לוגיקה: אילו שדות להציג מתי, קישור לשירותי משלוח
  • הגדרת רכיב // В шаблоне компонента sale.order.ajax $arParams['DELIVERY_NO_AJAX'] = 'N'; // обновление доставок без перезагрузки $arParams['USE_PREPAYMENT'] = 'Y'; // предоплата לפרמטרים שלכם (DELIVERY_MODE, USE_PREPAYMENT, AJAX_LOCATION)
  • אינטגרציה עם משלוח ותשלום: חיבור שירותים, הגדרת תעריפים, בדיקות
  • בדיקות בכל השלבים: דפדפנים, מכשירים ניידים, תרחישים שונים
  • תיעוד הגדרות והדרכת מנהלים (איך לעבד הזמנות)

לוח זמנים להגדרה

הגדרת תשלום בסיסית (שדות טופס, שירותי משלוח, מערכות תשלום) אורכת 4–8 שעות. אם נדרשת נראות מותנית של שדות, גיאולוקציה או אינטגרציה עם API של משלוח, זה לוקח 1–3 ימי עסקים. העלות מחושבת באופן אישי, אבל טופס מוגדר כראוי יכול לחסוך 20-30% מההפסדים הפוטנציאליים עקב שגיאות. ההשקעה שלכם משתלמת דרך המרה מוגברת ו-LTV של לקוחות.

הזמינו הגדרה סוהר — קבלו טופס תשלום שלא מאבד לקוחות. הניסיון שלנו של למעלה מ-10 שנים ו-50+ פרויקטים מוצלחים הוא ערובה לתוצאות. צרו קשר לייעוץ.

מקור: ויקיפדיה: CommerceML — פרוטוקול החלפת נתונים בין 1C לחנויות מקוונות.