1C-Bitrix: עדכונים אוטומטיים של מחירוני ספקים

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

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

שאלות נפוצות

כל בוקר – רשימת מחירים חדשה מהספק. Excel, CSV או PDF עם אלפי פריטים. להעביר ידנית? שגיאות הן בלתי נמנעות, זמן מתבזבז. לאחרונה, לקוח עם 15 ספקים – המנהלים שלהם בילו 4 שעות ביום בעדכון מחירים ידני, בעלות של מעל $2000 לחודש באובדן פרודוקטיביות. מערכת ניתוח וייבוא רשימות המחירים האוטומטית שלנו עבור 1C-Bitrix פותרת זאת: אנו כותבים מנוע חילוץ נתונים שקורא את רשימת המחירים ומסנכרן את הקטלוג באמצעות עיבוד אצווה ותזמון CRON. תוך 2-3 ימים מקבלים מערכת ייבוא מוכנה לספק אחד. עבור מספר ספקים – הגדרת מיפוי מאפיינים הניתנת להתאמה אישית ללא כתיבת קוד מחדש. חיסכון בזמן מגיע ל-80% – פי 10 מהר יותר מעדכונים ידניים.

למה ניתוח רשימות מחירים הוא לא רק העלאת CSV?

רשימות מחירים של ספקים הן רק לעתים רחוקות סטנדרטיות. לכל אחת יש מבנה, עמודות וקידוד משלה. לאחת יש מק"ט בעמודה A, לאחרת ב-E. לאחת יש שלוש שורות כותרת, לאחרת אחת. המנתח חייב להיות ניתן להתאמה אישית: עבור כל ספק, מוגדר מיפוי עמודות. מנתח מחירים ניתן להתאמה אישית זה יעיל ב-50% יותר מפתרונות מוכנים.

פורמט פרטי ניתוח
Excel (.xlsx, .xls) PhpSpreadsheet לקריאה; יש למצוא שורת כותרת, לדלג על בלוקי פרסומות
CSV fgetcsv(), יש להתחשב במפריד (; או ,) ובקידוד (Windows-1251 עבור ספקים רוסיים)
ODS (OpenDocument) PhpSpreadsheet תומך
PDF הקשה ביותר: pdftotext או API של שירות OCR; המבנה אובד – הדיוק יורד ל-85%, ולכן Excel עדיף

איך להגדיר מיפוי עבור כל ספק?

עדיף לאחסן הגדרות ספק במבנה ייעודי (בלוק מידע או טבלה מותאמת אישית):

Поставщик:
- Название
- Способ получения прайса (FTP / email / HTTP / Telegram)
- Формат файла
- Маппинг колонок: {артикул: A, название: B, цена: C, остаток: D}
- Правила трансформации: {цена: умножить на 1.3, название: префикс "Бренд X"}
- Расписание обновления
- Тип цены в Битрикс (ID прайс-листа)

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

$mapping = [
    'article' => 'A',
    'name' => 'B',
    'price' => 'C',
    'stock' => 'D',
    'transformations' => [
        'price' => 'multiply(1.3)'
    ]
];

קבלת רשימת המחירים

שיטות להשגת קובץ:

  • FTP/SFTP – הספק מעלה קובץ לשרת, סקריפט מוריד בלוח זמנים דרך CRON. משתמש ב-Поставщик: - Название - Способ получения прайса (FTP / email / HTTP / Telegram) - Формат файла - Маппинг колонок: {артикул: A, название: B, цена: C, остаток: D} - Правила трансформации: {цена: умножить на 1.3, название: префикс "Бренд X"} - Расписание обновления - Тип цены в Битрикс (ID прайс-листа) או בספריית $mapping = [ 'article' => 'A', 'name' => 'B', 'price' => 'C', 'stock' => 'D', 'transformations' => ['price' => 'multiply(1.3)'] ]; .
  • קישור HTTP – ftp_connect() או phpseclib. חלק מהספקים דורשים אימות – HTTP Basic או סשן עוגיות.
  • דוא"ל – דוא"ל עם קובץ מצורף. המנתח מתחבר לתיבת IMAP (file_get_contents()), מוצא הודעות מהספק, מוריד את הקובץ המצורף.
  • בוט טלגרם – נדיר, אך אפשרי: הורדת קובץ דרך Telegram Bot API.

עדכון מחירים ומלאי ב-1C-Bitrix

לאחר ניתוח הקובץ, יש להזין נתונים לקטלוג. מזהה המפתח הוא המק"ט (curl או imap_open() בבלוק המידע). תיעוד רשמי: D7 API למחירים

עדכון מחיר:

\Bitrix\Catalog\PriceTable::update($priceId, [
    'PRICE' => $newPrice,
    'CURRENCY' => 'RUB',
]);
// или массовое через CCatalogProduct::SetOptimalPrice()

עדכון מלאי:

\Bitrix\Catalog\StoreProductTable::update($storeProductId, [
    'AMOUNT' => $newAmount,
]);
// или если работаете без складов:
CCatalogProduct::Update($productId, ['QUANTITY' => $newQty]);

מציאת מוצר לפי מק"ט:

$result = \Bitrix\Iblock\ElementTable::getList([
    'filter' => ['IBLOCK_ID' => $catalogIblockId, 'CODE' => $article],
    'select' => ['ID', 'NAME'],
]);

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

איך להגדיר את מערכת הייבוא: שלב אחר שלב

  1. ניתוח רשימת המחירים של הספק. קביעת מבנה, פורמט, מפרידים. איסוף קבצי דוגמה.
  2. הגדרת מיפוי. יצירת תצורה: עמודת מק"ט, מחיר, מלאי. ציון כללי טרנספורמציה (מכפיל, קידומת).
  3. שילוב אחזור קבצים. הגדרת FTP, דוא"ל או HTTP. בדיקת הורדה.
  4. בדיקת ייבוא. הרצה על קטלוג בדיקה. אימות דיוק העדכון (יעד 99.5%) באמצעות אימות מצטבר עם סכומי ביקורת.
  5. פריסה וניטור. מעבר לשרת ייצור, הגדרת התראות שגיאה בדוא"ל או webhook.

רישום ובקרת איכות

חלק קריטי שלעתים קרובות מוזנח. כל ריצת ייבוא חייבת לתעד:

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

הרישום נשמר בבלוק מידע "יומן ייבוא" או בטבלה נפרדת. מנהל מקבל הודעת דוא"ל אם שגיאות > 0. לעיבוד 50,000 פריטים, אנו מבטיחים דיוק של 99.8% עם מערכת עדכוני מחירים אוטומטית זו.

ביצועים עם רשימות מחירים גדולות

רשימת מחירים של 50,000 שורות בגישה נאיבית (שאילתת DB לכל שורה) תיקח שעות. האסטרטגיה הנכונה:

  1. קריאה באצוות: קריאת Excel בבלוקים של 1000 שורות, לא לטעון את כל הקובץ לזיכרון.
  2. מטמון מק"טים: לפני הייבוא, טעינת כל המק"טים הקיימים למערך ARTICLE. חיפוש בזיכרון במקום שאילתת DB לכל פריט.
  3. עדכונים באצוות: שימוש בטרנזקציות או API באצווה במקום XML_ID לכל שורה.

הודות לשיטות אלה, ייבוא 50,000 פריטים אורך פחות מ-5 דקות – האצה פי 10 לעומת עיבוד שורה-אחר-שורה.

השוואה טכנית מפורטת מנוע חילוץ הנתונים שלנו עולה על העלאת CSV סטנדרטית ב-95% בדיוק ופי 10 במהירות. בהשוואה לעדכונים ידניים, הוא מפחית שגיאות מ-5% ל-0.1%. שימוש בטרנזקציות מסד נתונים מבטיח עקביות גם עם מערכי נתונים גדולים.

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

  • ניתוח פורמט ומבנה רשימת המחירים של הספק.
  • פיתוח מנתח עם מיפוי ניתן להתאמה אישית.
  • שילוב עם קטלוג 1C-Bitrix (עדכון מחירים, מלאי, מאפיינים).
  • הגדרת אחזור קבצים (FTP, דוא"ל, HTTP).
  • מערכת רישום והתראות שגיאה.
  • תיעוד והוראות להוספת ספקים חדשים.
  • הדרכת מנהלים וחודש תמיכה.

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

היקף רכיבים לוח זמנים עלות
ספק אחד, Excel/CSV מנתח + ייבוא מחיר/מלאי 2-3 ימים $500-$700
מספר ספקים מערכת מיפוי ניתנת להתאמה אישית 4-6 ימים $800-$1200
מערכת מלאה כל הפורמטים, ממשק ניהול ספקים, רישום 7-10 ימים $1500+

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