סנכרון מלאי אוטומטי: הגדרה ב-1C-Bitrix

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

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

שאלות נפוצות

העבודות האחרונות

  • פיתוח אתר חברה B2B ADVANCE
    פיתוח אתר חברה B2B ADVANCE
    1466
  • פיתוח אתר לחברת FIXPER
    פיתוח אתר לחברת FIXPER
    1019
  • פיתוח מבוסס Bitrix, Bitrix24, 1C לחברה פיתוח ווידג'ט להזמנת תורים אונליין למרכז רפואי
    פיתוח מבוסס Bitrix, Bitrix24, 1C לחברה פיתוח ווידג'ט להזמנת תורים אונליין למרכז רפואי
    764
  • פיתוח על בסיס 1C Enterprise עבור MIRSANBEL
    פיתוח על בסיס 1C Enterprise עבור MIRSANBEL
    882
  • פיתוח אתר על CRM Bitrix24 עבור DOLBIMBY
    פיתוח אתר על CRM Bitrix24 עבור DOLBIMBY
    811
  • פיתוח על בסיס Bitrix24 עבור חברת TECHNOTORGKOMPLEKS
    פיתוח על בסיס Bitrix24 עבור חברת TECHNOTORGKOMPLEKS
    1167

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

לפי נתוני הפרויקטים שלנו, סנכרון מלאי אוטומטי כל 15 דקות מפחית את הסיכון לפערים ב-95%. בחנות אלקטרוניקה אחת, ביטלנו הזמנות אבודות יומיות — מ-10 לאפס. עם ערך הזמנה ממוצע של 45–65 דולר, החיסכון החודשי היה משמעותי.

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

למה ביצועים חשובים בעדכון מלאי

עדכון המוני של עשרות אלפי פריטים דרך ה-API הסטנדרטי של Bitrix הוא איטי. כל רשומה מפעילה מטפלי אירועים, חישוב מחדש של מטמון ובדיקות זמינות. זמן העדכון לפריט יכול להגיע ל-3–5 שניות. ללא אופטימיזציה, הסקריפט עלול לרוץ שעות ולסכן עומס יתר על השרת. עבור קטלוג של 50,000 מוצרים, הסנכרון עלול להתעכב עד 3 ימים.

פתרון בעיית הביצועים

אנו משתמשים בשאילתות אצווה ומשביתים אירועים. לדוגמה, בעדכון של 50,000+ פריטים, שאילתת SQL ישירה ל-b_catalog_store_product בקבוצות של 500–1000 שורות מקצרת את הזמן פי 10. בנוסף, אנו משביתים מטפלים דרך \Bitrix\Catalog\ProductTable::disableEvents() ומחשבים מחדש את הזמינות פעם אחת לאחר כל הכתיבות. בפרויקט אחד, קטלוג של 80,000 מוצרים מתעדכן ב-3 דקות במקום 8 שעות.

מבנה נתונים ו-API

מודול catalog מאחסן נתוני מלאי במספר טבלאות: b_catalog_product (שדה QUANTITY), b_catalog_store_product (מלאי לפי מחסן), ו-b_catalog_store (מדריך מחסנים). אם האתר שלך משתמש במחסן יחיד, עדכן את QUANTITY; אם ניהול מלאי לפי מחסנים מופעל, עדכן את b_catalog_store_product ו-Bitrix יחשב מחדש את המלאי הכולל אוטומטית.

אפשרות פשוטה — מחסן יחיד:

\Bitrix\Catalog\ProductTable::update($productId, [ 'QUANTITY' => $newQuantity, ]); 

ניהול מלאי לפי מחסנים — מספר מחסנים:

$existing = \Bitrix\Catalog\StoreProductTable::getList([ 'filter' => ['PRODUCT_ID' => $productId, 'STORE_ID' => $storeId], ])->fetch(); if ($existing) { \Bitrix\Catalog\StoreProductTable::update($existing['ID'], ['AMOUNT' => $newQuantity]); } else { \Bitrix\Catalog\StoreProductTable::add([ 'PRODUCT_ID' => $productId, 'STORE_ID' => $storeId, 'AMOUNT' => $newQuantity, ]); } 

לאחר עדכון המלאי לפי מחסן, הפעל חישוב מחדש של הכמות הכוללת:

CCatalogProduct::QuantityTracer($productId); 

טיפול בפערי נתונים בין המקור לאתר

פערים הם בלתי נמנעים: קובץ ספק לא הגיע, סקריפט נכשל, מבנה נתונים השתנה. אנו מגדירים ניטור שבודק את זמן העדכון האחרון ומתריע על חריגות — לדוגמה, אם 80% מהמלאי של הקטלוג מתאפס פתאום. אנו מתעדים ספירות של פריטים שעודכנו, דולגו ושגויים. במקרה של כשל, מהנדס מקבל התראה דרך טלגרם או דוא"ל ומשחזר את התהליך תוך שעה.

אופטימיזציית ביצועים לעדכונים המוניים

עדכון של 50,000+ פריטים אחד אחד דרך API הוא איטי מדי — 3–5 שניות לפריט בגלל מטפלי אירועים וחישובי מטמון. אופטימיזציה:

  • עדכון אצווה — SQL ישיר לעדכון \Bitrix\Catalog\ProductTable::update($productId, [ 'QUANTITY' => $newQuantity, ]); בקבוצות של 500–1000 שורות.
  • השבתת אירועים — $existing = \Bitrix\Catalog\StoreProductTable::getList([ 'filter' => ['PRODUCT_ID' => $productId, 'STORE_ID' => $storeId], ])->fetch(); if ($existing) { \Bitrix\Catalog\StoreProductTable::update($existing['ID'], ['AMOUNT' => $newQuantity]); } else { \Bitrix\Catalog\StoreProductTable::add([ 'PRODUCT_ID' => $productId, 'STORE_ID' => $storeId, 'AMOUNT' => $newQuantity, ]); } במהלך עדכונים המוניים.
  • חישוב דחוי — עדכן את כל המלאי, ואז חשב מחדש זמינות פעם אחת ונקה את המטמון.

פורמטי נתונים ומיפוי

פורמט ניתוח הערות
CSV CCatalogProduct::QuantityTracer($productId); פשוט אבל ללא טיפוסים — "10" ו-"10 יחידות" דורשים נורמליזציה
Excel (XLSX) PhpSpreadsheet לעתים קרובות מכיל גיליונות מרובים, כותרות בשורות 2–3
XML (CommerceML) CommerceML תקן 1C, מבנה ידוע
REST API b_catalog_store_product / \Bitrix\Catalog\ProductTable::disableEvents() תשובת JSON, פגינציה, אימות
קובץ FTP fgetcsv() הקובץ מופיע בזמן מסוים, דורש ניסיון חוזר

המשימה המרכזית היא להתאים את מזהה המוצר ברשימת המחירים של הספק לפריט בקטלוג Bitrix. אפשרויות:

  • לפי SKU — מאפיין curl או Guzzle. הכי אמין אם ה-SKUs ייחודיים.
  • לפי ftp_get() — אם הקטלוג יובא במקור מאותו מקור.
  • לפי ברקוד — טבלת PROPERTY_ARTICLE. אמין, אבל לא לכל המוצרים יש ברקודים.

לצורך מיפוי, אנו יוצרים טבלת התאמה עם אינדקס:

CREATE TABLE parser_product_map ( supplier_sku VARCHAR(100) NOT NULL, product_id INT NOT NULL, store_id INT DEFAULT 1, PRIMARY KEY (supplier_sku, store_id), INDEX idx_product (product_id) ); 

שאילתות דרך טבלה זו מהירות פי 10–50 מאשר חיפוש לפי מאפייני בלוק מידע עבור כל מוצר.

תזמון וטיפול במלאי אפס

תדירות העדכון תלויה במחזור המוצר:

סוג מוצר תדירות עדכון הצדקה
מוצרים מהירי תנועה (אלקטרוניקה, מזון) כל 15–30 דקות מחזור מהיר, סיכון גבוה למכירת יתר
מוצרים בינוניים (ביגוד, כלי עבודה) כל 1–2 שעות איזון בין דיוק לעומס
מוצרים איטיים (ריהוט, ציוד) 2–4 פעמים ביום מחזור נמוך
# Обновление остатков каждые 30 минут */30 * * * * /usr/bin/php /home/bitrix/scripts/update_stock.php >> /var/log/stock_update.log 2>&1 

עבור פריטים עם מלאי אפס, אנו מיישמים אחת משלוש אסטרטגיות:

  • ביטול הפעלה (PROPERTY_SUPPLIER_SKU) — המוצר נעלם מהאתר. רע ל-SEO: הדף מוסר מהאינדקס, עמדות נאבדות.
  • הצגה עם תווית "אזל מהמלאי" — XML_ID, b_catalog_product_barcode. כפתור "קנייה" מוחלף ב-"עדכן אותי כשזמין". אופטימלי.
  • הזמנה מוקדמת — CREATE TABLE parser_product_map ( supplier_sku VARCHAR(100) NOT NULL, product_id INT NOT NULL, store_id INT DEFAULT 1, PRIMARY KEY (supplier_sku, store_id), INDEX idx_product (product_id) ); . הלקוח יכול לבצע הזמנה; המוצר מגיע עם המשלוח הבא. מתאים לפריטים עם אספקה צפויה.

האסטרטגיה מוגדרת גלובלית בהגדרות מודול # Обновление остатков каждые 30 минут */30 * * * * /usr/bin/php /home/bitrix/scripts/update_stock.php >> /var/log/stock_update.log 2>&1 וניתן לשנותה לכל מוצר בנפרד.

ניטור

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

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

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

  1. ביקורת על הקטלוג הנוכחי ומקורות הנתונים: מבנה, נפח, תדירות עדכון.
  2. עיצוב ארכיטקטורה: מיפוי, שאילתות אצווה, מטמון.
  3. פיתוח סקריפט התומך ב-CSV, Excel, XML, REST, FTP.
  4. אופטימיזציית ביצועים: שאילתות אצווה, השבתת אירועים, חישוב דחוי.
  5. הגדרת תזמון Cron ותיעוד.
  6. שילוב ניטור עם התראות דרך טלגרם או דוא"ל.
  7. תיעוד: סכמת נתונים ותהליך עדכון.
  8. הדרכת מנהלים: ביצוע ידני, קריאת לוגים, שחזור מכשל.

ניסיון ואחריות

לצוות שלנו יש מעל 5 שנות ניסיון בפיתוח 1C-Bitrix. השלמנו יותר מ-50 פרויקטי אינטגרציה, כולל החלפות 1C וחנויות מקוונות עם קטלוגים העולים על 100,000 פריטים. אנו מספקים אחריות ל-3 חודשים על פעולת סנכרון תקינה לאחר ההשקה. מומחי Bitrix מוסמכים מבטיחים עמידה בכל תקני הפלטפורמה. קבל ייעוץ מהנדס והערכת פרויקט ביום אחד.

רשימת בדיקה לאינטגרציה מוצלחת
  • ודא שה-SKUs של הספק הם ייחודיים ויציבים.
  • ודא הרשאות גישה לתיקיית קבצים (FTP) וללוגים של cron.
  • הגדר ניטור מהיום הראשון — אל תדחה.
  • בדוק טיפול במלאי אפס במהלך הפיתוח.
  • תעד את פורמט הקובץ והמיפוי.

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