ייבוא CSV סטנדרטי ב-1C-Bitrix נכשל על שלושה דברים: קידוד שגוי, תווים מפרידים לא תואמים, ומיפוי מאפיינים חסר. מנהל מעלה קובץ, מקבל "הייבוא הושלם, 0 פריטים עובדו" — וכותב לתמיכה. אנו מגדירים ייבוא וייצוא CSV כך שההחלפה תעבוד בצורה צפויה. התוצאה היא תהליך אמין: מאבחון ועד אוטומציה. עבור חנויות עם עד 5,000 מוצרים, הייבוא אורך 1–3 דקות; עבור 50,000 מוצרים, עד 30 דקות עם הגדרת cron נכונה. באמצעות מצב שלב-אחר-שלב, אתה מעבד נתונים ללא פסקי זמן, ואוטומציית cron חוסכת עד 15 שעות חודשיות בהעלאות ידניות — במחיר של $20 לשעה, זה חיסכון של $300 בחודש.
מכניקת ייבוא CSV בקטלוג
למודול catalog יש מטפל CSV מובנה — מחלקה \Bitrix\Catalog\CsvImport, המיישמת את ממשק NAME לטיפול במערכי נתונים גדולים. הייבוא זמין דרך ממשק הניהול: חנות → הגדרות → ייבוא CSV. אבל חשוב להבין מה קורה מתחת למכסה המנוע.
Bitrix קורא את הקובץ שורה אחר שורה, ומפצל לפי התו המפריד (ברירת מחדל: נקודה-פסיק). השורה הראשונה יכולה להיות כותרת אם האפשרות "השורה הראשונה מכילה שמות שדות" מופעלת. לאחר מכן כל שורה ממופה לשדות אינפובלוק: XML_ID, DETAIL_TEXT, PROPERTY_ARTICLE, מאפיינים כמו CATALOG_PRICE_1, מחירים XML_ID.
הגדרות קריטיות
- קידוד קובץ — Bitrix מצפה ל-UTF-8. אם הקובץ הוא Windows-1251 (אופייני לייצוא 1C), הפעל קידוד מחדש או המר את הקובץ מראש. כ-80% מבעיות ייבוא CSV קשורות לקידוד.
- תו מפריד שדות — נקודה-פסיק, פסיק, או טאב. אם הנתונים מכילים נקודות-פסיק (תיאורי מוצרים), השתמש בטאב.
-
BRAND— מזהה ייחודי של פריט. בלעדיו, הייבוא יוצר כפילויות בכל ריצה במקום לעדכן רשומות קיימות. כ-90% מבעיות הכפילויות נובעות מהיעדר מיפוי XML_ID.
מיפוי שדות ומאפיינים
השגיאה הנפוצה ביותר היא אי-התאמה בין כותרות CSV לקודי מאפיינים באינפובלוק. Bitrix מחפש התאמה מדויקת: אם המאפיין נקרא brand וכותרת ה-CSV היא b_catalog_export, המיפוי לא יעבוד.
עבור מאפיינים מסוג רשימה, ה-CSV צריך להכיל את הערך, לא את ה-XML_ID של הגרסה. Bitrix מנסה למצוא התאמה לפי ערך ולקשר את הפריט. אם לא נמצא ערך, המאפיין נשאר ריק ללא שגיאה בלוג.
עבור מאפיינים מסוג קישור לפריט, העבר את ה-ID של הפריט המקושר או את ה-XML_ID שלו (אם האפשרות "חיפוש לפי XML_ID" מופעלת).
איך להגדיר ייצוא CSV?
הייצוא מוגדר ב-חנות → ייצוא נתונים. פרופיל הייצוא נשמר בטבלת \Bitrix\Catalog\CatalogExportAgent::exportCsv וניתן להפעיל אותו דרך cron באמצעות הסוכן max_execution_time.
בעת ייצוא קטלוגים גדולים (מעל 50,000 מוצרים), המנגנון הסטנדרטי עובד בשלבים — 500 פריטים בכל איטרציה. גודל הצעד מוגדר בהגדרות הפרופיל. אם הייצוא נעצר באמצע, הגדל את iconv ב-PHP או הקטן את גודל הצעד.
פורמט הייצוא קבוע: UTF-8, תו מפריד מהגדרות הפרופיל. עבור אינטגרציה עם מערכות חיצוניות המצפות ל-Windows-1251, הוסף עיבוד נוסף באמצעות XML_ID בסקריפט cron.
כפילויות מוצרים: גורמים שורשיים
כפילויות הן תוצאה של היעדר מזהה ייחודי. תמיד מלא את עמודת PROPERTY_<CODE> והפעל חיפוש לפיה. אם למקור אין XML_IDs מוכנים, צור אותם באמצעות נוסחה: מק"ט + יצרן. זו הדרך האמינה היחידה להבטיח שייבוא חוזר מעדכן רשומות קיימות.
מיפוי מאפיינים: טעויות נפוצות
הסיבה היא אי-התאמה בשמות עמודות. Bitrix מחפש התאמה מדויקת: Бренд. אם ב-CSV יש BRAND וקוד המאפיין הוא /usr/bin/php -f /home/bitrix/www/bitrix/modules/catalog/load/csv_run.php , המיפוי לא יתבצע. פתרון: או שנה שמות עמודות ב-CSV, או השתמש בסקריפט ביניים לשינוי כותרות.
אוטומציה דרך Cron
ייבוא ידני דרך פאנל הניהול מקובל להעלאות חד-פעמיות. לעדכונים שוטפים (סנכרון מלאי/מחירים יומי), השתמש בהפעלת cron. ייבוא דרך פאנל הניהול איטי פי 10 מאשר דרך cron עבור קטלוגים מעל 50,000 מוצרים. בנוסף, ייבוא SQL ישיר יכול להיות מהיר עד פי 5 מייבוא CSV מבוסס API עבור קטלוגים העולים על 50,000 מוצרים.
/usr/bin/php -f /home/bitrix/www/bitrix/modules/catalog/load/csv_run.php פרמטרי פרופיל הייבוא מועברים דרך מזהה הפרופיל השמור. הפרופיל נוצר בפאנל הניהול, נבדק ידנית, ולאחר מכן ה-ID שלו ממוקם ב-cron.
בפרויקט אחד עם קטלוג של 20,000 מוצרים, הלקוח ייבא מחירון כל יום. לאחר הגדרת פרופיל עם חיפוש לפי מק"ט ומצב שלב-אחר-שלב, זמן הייבוא ירד מ-3 שעות ל-10 דקות.
| גודל קטלוג | זמן ייבוא | המלצה |
|---|---|---|
| עד 5,000 מוצרים | 1–3 דקות | ייבוא סטנדרטי דרך פאנל הניהול |
| 5,000–50,000 | 5–30 דקות | Cron + מצב שלב-אחר-שלב |
| מעל 50,000 | 30+ דקות | Cron + ייבוא SQL ישיר תוך עקיפת API |
| סוג החלפה | שיטה | מורכבות הגדרה |
|---|---|---|
| ידני חד-פעמי | פאנל ניהול | נמוכה |
| שוטף קטן | Cron | בינונית |
| שוטף גדול | SQL + cron | גבוהה |
מלכודות אופייניות
- כפילויות מוצרים — תמיד מלא את
XML_IDוהפעל חיפוש לפיה. בלעדיה, כל ריצת ייבוא יוצרת פריטים חדשים. - תמונות שאבדו — ייבוא CSV אינו תומך בהעלאת קבצים. עבור תמונות, השתמש בנתיב לקובץ על השרת בעמודת
DETAIL_PICTURE— Bitrix יאסוף את הקובץ לפי נתיב מוחלט. - שדות SEO מתאפסים — אם ב-CSV חסרות עמודות
META_TITLE,META_DESCRIPTION, הייבוא עלול לאפס אותן בעדכון. הפעל את האפשרות "אל תעדכן שדות ריקים".
מה כלול בעבודה?
- ביקורת על החלפת CSV נוכחית (קידוד, מבנה, פרופילים).
- הגדרת מיפוי שדות ומאפיינים עבור האינפובלוק.
- יצירת פרופיל ייבוא/ייצוא תוך התחשבות בנפחי נתונים.
- אופטימיזציית ביצועים (מצב שלב-אחר-שלב, cron).
- תיעוד הגדרות והדרכת צוות.
- תמיכה לאחר השקה (תיקוני באגים, כוונון עדין).
לצוות שלנו יש ניסיון של 10+ שנים בפיתוח Bitrix וביצענו מעל 200 פרויקטי אינטגרציה של החלפת CSV. ניסיון זה מבטיח פעולת החלפה נכונה. אם יש לך שאלות על הגדרת ייבוא או ייצוא CSV, צור איתנו קשר — נעריך את הפרויקט שלך ונציע פתרון. קבל ייעוץ כבר עכשיו.
למידע נוסף על פורמט CSV, ראה ויקיפדיה.







