CommerceML: налаштування обміну між 1С і Бітріксом
Ми часто стикаємося з ситуацією, коли обмін між 1С і Бітріксом працює нестабільно: товари не з'являються, ціни застаріли, замовлення не вивантажуються. Причина майже завжди одна — неправильне налаштування CommerceML, XML-стандарту, за яким системи спілкуються. Якщо не розуміти, як влаштовані файли імпорту, будь-яка зміна в 1С може зламати синхронізацію.
За роки налаштування десятків проєктів ми виробили підхід, який мінімізує ризики. У цій статті розповімо, як правильно налаштувати обмін, на що звернути увагу і як уникнути типових помилок. Якщо вам потрібне готове налаштування під ключ — зв'яжіться з нами, і ми оцінимо ваш проєкт.
CommerceML 2.08 — це не просто набір XML-файлів. Це протокол, у якому кожна частина має строге призначення. Помилка в структурі import0_1.xml може зробити нечитаними всі товари. Неправильний мапінг властивостей — і на сайті з'являються порожні характеристики. Розберемо кожен аспект детально.
Структура файлів CommerceML
Повний обмін складається з кількох файлів, що передаються послідовно:
-
import0_1.xml— структура каталогу: групи, властивості, типи характеристик, класифікатори -
import0_2.xml,import0_3.xml... — товари (розбиті по N штук при пакетному вивантаженні) -
offers0_1.xml— пропозиції: ціни за видами та залишки по складах -
orders.xml— замовлення з сайту в 1С (напрямок від сайту до 1С)
Важливо розуміти: import*.xml і offers*.xml — різні потоки. Каталог можна синхронізувати раз на добу, а залишки та ціни — кожні 15 хвилин, налаштувавши окремі регламентні завдання в 1С.
Налаштування параметрів обміну в 1С-Бітрікс
Налаштування → Налаштування продуктів → Інтернет-магазин:
- Кількість елементів у файлі: 1000–5000 для великих каталогів, щоб уникнути таймаутів PHP при розборі одного великого XML
- Використовувати zip-архівування: знижує обсяг передачі в 3–5 разів, обов'язково для повільних каналів або віддаленого хостингу
- Період обміну замовленнями: «з дати останнього обміну» — оптимальний варіант, не тягне повторно старі замовлення
- Використовувати торгові пропозиції (SKU): увімкнути, якщо товари мають варіанти за характеристиками
Мапінг властивостей: що відбувається насправді
Ключовий крок — відповідність властивостей номенклатури 1С властивостям елементів інфоблоку на сайті. При першому обміні Бітрікс створює властивості автоматично з кодами виду PROP_12345 або латинізованими іменами з 1С. Це веде до нечитабельної структури:
PROP_15234 = "Колір" PROP_15235 = "Розмір" PROP_15236 = "Матеріал" Правильний підхід: до першого обміну створити властивості вручну з читабельними кодами (COLOR, SIZE, MATERIAL), а в обробнику події OnIBlockElementBeforeAdd прописати мапінг з автогенерованих імен у потрібні коди.
Авторизація для обміну
CommerceML-обмін працює через HTTP Basic Auth. Користувач для обміну повинен:
- Належати до групи з правами на запис в інфоблок каталогу
- Мати доступ до компонента обміну (
/bitrix/admin/1c_exchange.php) - Не бути заблокованим (часта причина раптових збоїв після ротації паролів)
Створіть окремого користувача тільки для обміну — не використовуйте обліковий запис адміністратора.
Перевірка коректності обміну
Після налаштування — перевірити лог обміну в Бітрікс: Магазин → Журнал обміну з 1С
Помилки «Не знайдено властивість» або «Тип даних не збігається» вказують на проблеми мапінгу. Помилка HTTP 500 при завантаженні файлу — дивитися PHP error_log та /bitrix/modules/iblock/tools/. Повна відсутність записів у журналі — обмін не доходить до сайту, перевіряти мережеві налаштування та авторизацію.
Як уникнути типових помилок при обміні?
Одна з частих помилок — передача порожніх значень у властивостях, коли в 1С поле не заповнене. Без обробки це призводить до появи порожніх значень на сайті. Рішення — в обробнику OnBeforeIBlockElementAdd перевіряти, що значення не порожнє, і при необхідності пропускати запис. Також варто налаштувати агент, який чистить сміттєві елементи, створені з тестових даних.
Що входить у налаштування обміну під ключ?
При замовленні налаштування обміну через CommerceML ми:
- Аналізуємо конфігурацію 1С (УТ, УПП, ERP) та структуру каталогу на сайті
- Налаштовуємо регламентні завдання для роздільної синхронізації товарів та залишків
- Створюємо правильний мапінг властивостей з читабельними кодами
- Тестуємо обмін на тестових даних, виправляємо помилки
- Документуємо налаштування та передаємо дамп регламентних завдань
Додатково можемо налаштувати моніторинг обміну — сповіщення в Telegram при збоях. Пишіть — оцінимо ваш проєкт і запропонуємо терміни.
| Параметр | Значення |
|---|---|
| Типова конфігурація 1С УТ | 4–8 годин |
| Нестандартні властивості, мапінг характеристик | 1–2 дні |
| Гарантія на налаштування (виправлення помилок) | 30 днів |
| Система | Сумісність |
|---|---|
| 1С Управління торгівлею | Так |
| 1С ERP | Так |
| 1С Комплексна автоматизація | Так |
| 1С Бухгалтерія (обмежено) | Так (тільки каталог, без залишків) |
Ми працюємо з CommerceML 10+ років — за цей час не було жодного невирішуваного кейсу. Наш досвід дозволяє відрізнити проблеми мапінгу від помилок у конфігурації 1С за хвилини.
Якщо вам потрібне налаштування обміну між 1С і Бітріксом — зв'яжіться з нами через форму на сайті, і ми підберемо рішення під вашу конфігурацію. Вартість розраховується індивідуально залежно від обсягу даних та складності.







