התאמה גמישה של סטטוסי הזמנות ב-1C-Bitrix

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

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

שאלות נפוצות

התאמה אישית גמישה של סטטוסי הזמנות ב-1C-Bitrix

בהתקנה סטנדרטית של 1C-Bitrix, מקבלים סט בסיסי של סטטוסי הזמנות: N (התקבל), F (הושלם), P (שולם) וכן הלאה. תהליכים עסקיים אמיתיים הם בדרך כלל מורכבים יותר: צריך סטטוסים כמו 'ממתין לאישור', 'ממתין לתשלום מקדמה', 'בדיקת מנהל', 'הזמנה אושרה'. שינוי ידני של סטטוסים בלוח הניהול מסכן בטעויות ומבזבז זמן. בפרויקט אחד עם 12,000 הזמנות בחודש, 30% מזמן המנהלים הושקע בשינוי סטטוסים ידני. אוטומציה הפחיתה עלות זו ב-80%. אנו מגדירים סטטוסים בהתאמה לשלבי הייצור, הלוגיסטיקה והתקשורת שלכם. להלן היישום הטכני והפתרונות האופייניים.

תיעוד Bitrix

מדוע הגדרת סטטוסים נכונה היא קריטית

כל סטטוס הזמנה אינו רק תווית. הוא משפיע על שמירת מוצרים, שליחת הודעות ללקוח, אינטגרציה עם 1C, והלוגיקה של עבודת המנהלים. שגיאת סטטוס עלולה להוביל למכירות כפולות או לעיכובים במשלוח. שרשרת סטטוסים מותאמת לתהליך עסקי הופכת שגרות לאוטומטיות ומפחיתה טעויות. לפי הנתונים שלנו, הגדרה נכונה מפחיתה את זמן עיבוד ההזמנות בעד 40%. הגדרת סטטוסים נכונה חוסכת משאבים על ידי הפחתת עבודה ידנית.

מבנה הסטטוסים (חלק טכני)

הסטטוסים מאוחסנים בטבלת b_sale_status. מאפיינים מרכזיים:

  • ID — קוד (לטיני + ספרות), בשימוש בקוד ובאינטגרציות
  • סוג — O (הזמנה) או D (משלוח/שילוח)
  • צבע — להדגשה חזותית ברשימת ההזמנות
  • 'סטטוס ביטול' — משחרר אוטומטית שמירות מוצרים
  • 'הזמנה הושלמה' — מסמן את ההזמנה כגמורה, חוסם פעולות מסוימות

סטטוסי משלוח (D) הם ישות נפרדת למודל רב-משלוחים. הם מאפשרים ניהול משלוחים חלקיים, קריטי עבור B2B עם מספר מחסנים.

השוואה בין סטי סטטוסים אופייניים

תרחיש סטטוסים
B2C (קמעונאות) חדש → אושר → באיסוף → נמסר למשלוח → נמסר / בוטל
B2B עם אישור חדש → ממתין לאישור → ממתין לתשלום מקדמה → אושר → בייצור → מוכן למשלוח → שולח → נסגר
עם החזרות שרשרת ראשית + התחלת החזרה → התקבלו מוצרים → החזרה הושלמה

מדריך שלב-אחר-שלב להגדרת סטטוסים

  1. צור סטטוס חדש דרך OrderStatus::add().
  2. הגדר שם מקומי דרך StatusLangTable::add().
  3. הגדר את מטריצת המעברים ב-handler של OnSaleOrderBeforeSaved.
  4. בדוק בסביבת בדיקה.
  5. העלה לאתר הייצור.

איך להוסיף סטטוס חדש דרך API?

use Bitrix\Sale\OrderStatus;

$result = OrderStatus::add([
    'ID' => 'WAIT_PREPAY',
    'TYPE' => 'O',
    'NOTIFY_BUYER' => 'Y',
    'COLOR' => '#f0a500',
    'SORT' => 25,
]);

\Bitrix\Sale\Internals\StatusLangTable::add([
    'STATUS_ID' => 'WAIT_PREPAY',
    'LID' => 'ru',
    'NAME' => 'Ожидает предоплату',
    'DESCRIPTION' => 'Заказ подтверждён, ожидаем поступление оплаты',
]);

השדה use Bitrix\Sale\OrderStatus; $result = OrderStatus::add([ 'ID' => 'WAIT_PREPAY', 'TYPE' => 'O', 'NOTIFY_BUYER' => 'Y', 'COLOR' => '#f0a500', 'SORT' => 25, ]); \Bitrix\Sale\Internals\StatusLangTable::add([ 'STATUS_ID' => 'WAIT_PREPAY', 'LID' => 'ru', 'NAME' => 'Ожидает предоплату', 'DESCRIPTION' => 'Заказ подтверждён, ожидаем поступление оплаты', ]); שולח דוא"ל ללקוח כאשר הסטטוס משתנה. אם הסטטוס הוא סופי (למשל, 'בוטל'), הגדר את הדגל NOTIFY_BUYER לשחרור שמירה אוטומטי.

מטריצת מעברים מותרים

הגבל מעברי סטטוסים דרך ה-handler של האירוע:

AddEventHandler('sale', 'OnSaleOrderBeforeSaved', function(\Bitrix\Main\Event $event) {
    $order = $event->getParameter('ENTITY');
    if ($order->isNew()) return;
    $oldStatus = $order->getField('STATUS_ID');
    // Получение нового статуса через changedFields
    $changedFields = $order->getFields()->getChangedValues();
    $newStatus = $changedFields['STATUS_ID'] ?? $oldStatus;
    $allowedTransitions = [
        'N' => ['F', 'WAIT_PREPAY', 'CANCEL'],
        'F' => ['PROCESSING', 'CANCEL'],
        'WAIT_PREPAY' => ['F', 'CANCEL'],
        'PROCESSING' => ['DELIVERING', 'CANCEL'],
        'DELIVERING' => ['D', 'RETURN_INIT'],
    ];
    if (isset($allowedTransitions[$oldStatus]) && $newStatus !== $oldStatus && !in_array($newStatus, $allowedTransitions[$oldStatus])) {
        return new \Bitrix\Main\EventResult(
            \Bitrix\Main\EventResult::ERROR,
            new \Bitrix\Sale\ResultError("Переход из {$oldStatus} в {$newStatus} запрещён"),
            'sale'
        );
    }
});

מטריצת המעברים היא אלמנט מרכזי שמונע שינויי סטטוס לא הגיוניים. אנו מגדירים אותה לתהליך העסקי שלכם כדי למנוע טעויות.

דוגמאות יישום

B2C סטנדרטי: חדש → אושר → באיסוף → נמסר למשלוח → נמסר / בוטל

B2B עם אישור: חדש → ממתין לאישור → ממתין לתשלום מקדמה → אושר → בייצור → מוכן למשלוח → שולח → נסגר

עם החזרות: שרשרת ראשית + התחלת החזרה → התקבלו מוצרים → החזרה הושלמה

שינוי סטטוס משלוח

$shipmentCollection = $order->getShipmentCollection();
foreach ($shipmentCollection as $shipment) {
    if (!$shipment->isSystem()) {
        $shipment->setField('STATUS_ID', 'DELIVERING');
    }
}
$order->save();

שינוי סטטוס אוטומטי

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

כיצד אינטגרציה עם 1C משפיעה על סטטוסים?

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

השוואת פונקציונליות סטטוסים

סטטוס הודעה ביטול שמירה
N (התקבל) כן (אופציונלי) לא לא
F (הושלם) כן לא שחרור
CANCEL לא כן שחרור
WAIT_PREPAY כן לא לא

אם הסטטוס לא משתנה, בדוק אם ההזמנה חסומה על ידי סטטוס 'הושלם' או 'בוטל'. ודא שמטריצת המעברים מאפשרת את השינוי. כמו כן, בדוק את הרשאות המשתמש של האדם שמנסה לשנות את הסטטוס.

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

  • ביקורת על סטטוסים קיימים ותהליכים עסקיים
  • עיצוב תוכנית הסטטוסים (מטריצת מעברים, הודעות)
  • יישום: הוספת סטטוסים, הגדרת מעברים, אינטגרציה עם 1C ומפעילי נתונים פיסקליים
  • בדיקות בסביבת בדיקה
  • העלאה לשרת הייצור
  • תיעוד על סטטוסים והדרכת מנהלים
  • חודש תמיכה לאחר ההשקה

צור קשר

אנחנו צוות עם שנים של ניסיון בפיתוח 1C-Bitrix. יישמנו פרויקטים רבים להגדרת תהליכי הזמנות. אנו עובדים עם PHP 8.1+, MySQL/MariaDB, אינטגרציות דרך REST API. אנו מבטיחים איכות ותיעוד. תוכניות הסטטוסים שלנו מפחיתות משמעותית את שיעורי שגיאות השמירה. צור קשר לביקורת על הסטטוסים שלך וקבל ייעוץ על אופטימיזציה של תהליכים עסקיים.

לוחות זמנים

הגדרת 5–8 סטטוסים עם שמות וצבעים — בין שעתיים ל-4 שעות. הגדרה עם מטריצת מעברים, אינטגרציה עם 1C והודעות מותאמות אישית — בין יום ל-2 ימי עסקים. לוחות זמנים ספציפיים נדונים לאחר ניתוח המשימה שלך. עבור פרויקטים מורכבים עם מספר מחסנים והחזרות, לוח הזמנים עשוי לגדול ל-3–4 ימים, אבל אנחנו תמיד עומדים בלוחות הזמנים המוסכמים.