הגדרת התראה על מלאי עבור 1C-Bitrix: טבלת הרשמה מותאמת אישית

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

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

שאלות נפוצות

התראה על מלאי מותאמת אישית ל-1C-Bitrix: מדריך מעשי

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

מדוע מודול ההרשמה הסטנדרטי אינו מספק

המודול subscribe מיועד לניוזלטרים, והתאמתו להרשמות למוצרים היא פשרה. כל מוצר (או SKU) נרשם כ"קטגוריה", והרשמה מטופלת כהרשמה לקטגוריה זו. כשהמלאי חוזר, אתם שולחים אימייל ידנית או באמצעות סוכן. חסרונות: אין קישור ישיר למוצר ספציפי, ניהול קשה, סיכון לאימיילים כפולים. עבור חנויות קטנות עם תריסר פריטים, זה עשוי לעבוד, אבל עבור קטלוגים עם אלפי פריטים, טבלת הרשמה מותאמת אישית עדיפה. בפרויקט אחד, ראינו את המודול кастомная таблица подписок שולח שלושה אימיילים זהים לאותו מנוי — בגלל חוסר ייחודיות. לאחר מעבר לטבלה מותאמת אישית, הבעיה נעלמה.

כיצד להגדיר התראות מלאי

אפשרות 1: דרך מודול ההרשמה

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

אפשרות 2: טבלת הרשמה מותאמת אישית

זה הפתרון הטוב יותר — צרו טבלה נפרדת subscribe עם שדות product_availability_notify, PRODUCT_ID, EMAIL, USER_ID, DATE_ADD, DATE_SENT. ייחודיות על זוגות מוצר-אימייל מונעת כפילויות. טופס ההרשמה הוא טופס HTML+AJAX פשוט שמופיע כאשר IS_SENT. כשהמלאי חוזר, מטפל האירוע QUANTITY = 0 מופעל. ראו את התיעוד הרשמי של OnProductUpdate.

תכונה מודול הרשמה טבלה מותאמת אישית
מורכבות היישום נמוכה בינונית
גמישות אחסון נמוכה גבוהה
ייחודיות הרשמה לא מובטחת מובטחת
יכולת הרחבה מוגבלת מלאה

טריגר לשליחת התראות

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

AddEventHandler('catalog', 'OnProductUpdate', function($productId, $fields) {
    if (isset($fields['QUANTITY']) && (float)$fields['QUANTITY'] > 0) {
        $subscribers = NotifyTable::getList([
            'filter' => ['=PRODUCT_ID' => $productId, '=IS_SENT' => false],
        ])->fetchAll();
        foreach ($subscribers as $subscriber) {
            \Bitrix\Main\Mail\Event::send([
                'EVENT_NAME' => 'PRODUCT_AVAILABLE_NOTIFY',
                'LID' => SITE_ID,
                'C_FIELDS' => [
                    'EMAIL' => $subscriber['EMAIL'],
                    'PRODUCT_NAME' => $fields['NAME'],
                    'PRODUCT_URL' => $fields['DETAIL_PAGE_URL'],
                ],
            ]);
        }
        NotifyTable::updateMulti(['IS_SENT' => true], ['PRODUCT_ID' => $productId]);
    }
});

תבנית אימייל

צרו סוג אירוע דואר תחת QUANTITY. סוג האירוע AddEventHandler('catalog', 'OnProductUpdate', function($productId, $fields) { if (isset($fields['QUANTITY']) && (float)$fields['QUANTITY'] > 0) { $subscribers = NotifyTable::getList([ 'filter' => ['=PRODUCT_ID' => $productId, '=IS_SENT' => false], ])->fetchAll(); foreach ($subscribers as $subscriber) { \Bitrix\Main\Mail\Event::send([ 'EVENT_NAME' => 'PRODUCT_AVAILABLE_NOTIFY', 'LID' => SITE_ID, 'C_FIELDS' => [ 'EMAIL' => $subscriber['EMAIL'], 'PRODUCT_NAME' => $fields['NAME'], 'PRODUCT_URL' => $fields['DETAIL_PAGE_URL'], ], ]); } NotifyTable::updateMulti(['IS_SENT' => true], ['PRODUCT_ID' => $productId]); } }); עם שדות Настройки → Почтовые события → Типы событий, PRODUCT_AVAILABLE_NOTIFY, EMAIL. ההגדרה אורכת 1-2 שעות.

סוכן לבדיקות תקופתיות

אם האירוע PRODUCT_NAME לא מופעל (לדוגמה, המלאי משתנה מחוץ לשיטות הסטנדרטיות), הגדירו סוכן Bitrix שפועל פעם בשעה. הוא בודק מלאי עבור מוצרים עם מנויים פעילים ושולח אימיילים. הסוכן הוא גיבוי אמין.

טעויות נפוצות במהלך ההתקנה

טעות #1: שכחת לנקות את הדגל PRODUCT_URL כשהמלאי חוזר לאחר שהיה אפס שוב. אם מוצר אזל מהמלאי ואז חוזר, המנוי צריך לקבל התראה שנייה. בטבלה המותאמת אישית שלנו, זה מטופל על ידי איפוס הדגל כשהמלאי מגיע לאפס. טעות #2: בלבול בקישור ל-SKU — אנו נרשמים ל-SKU ספציפי, לא למוצר האב. טעות #3: מיפוי שגוי של שדות דואר — האימייל מגיע עם נתונים ריקים. אנו תופסים את כל אלה במהלך הבדיקות.

שלבי התקנה והערכות זמן

שלב תיאור זמן (שעות)
1. יצירת טבלה מיגרציה לטבלת הרשמה 1-2
2. טופס הרשמה HTML + AJAX בעמוד המוצר 2-3
3. מטפל אירוע OnProductUpdate עם בדיקת מלאי 2-3
4. אירוע דואר יצירת סוג אירוע ותבנית 1-2
5. בדיקות אימות עם 3-5 מוצרים 1-2
6. תיעוד מדריך למשתמש 1

מה כלול

  • טופס הרשמה (HTML + AJAX) בעמוד המוצר
  • טבלת הרשמה מותאמת אישית עם מיגרציה
  • מטפל אירוע OnProductUpdate (או סוכן)
  • אירוע דואר ותבנית אימייל
  • תיעוד למשתמש
  • הדרכה למנהלים (30 דקות)
  • אחריות ל-6 חודשים לפעולה תקינה

לוחות זמנים ועלות

התקנה בסיסית (טופס + מטפל + אימייל) אורכת 4–8 שעות. אם יש צורך בעמוד ניהול הרשמות בחשבון המשתמש, הוסיפו 2-3 שעות. העלות מחושבת באופן אישי לפי מורכבות, אבל החיסכון מהימנעות מקניית מודול יכול להיות משמעותי. אתם מקבלים פתרון יציב וניתן להרחבה.

הניסיון שלנו: מעל 5 שנות פיתוח Bitrix, יותר מ-50 פרויקטים של התאמת חנויות מקוונות. אנו יכולים להגדיר התראות מלאי במפתח פתוח עם אחריות לפעולה יציבה. צרו קשר להערכת הפרויקט שלכם — נבחן את המשימה.

כיצד הסוכן עובד

הסוכן פועל פעם בשעה. הוא שואל מוצרים שיש להם מנויים עם IS_SENT ובודק את המלאי שלהם דרך OnProductUpdate. אם מלאי > 0, הוא שולח אימיילים באמצעות אותה לוגיקה כמו המטפל.