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С и Битриксом — свяжитесь с нами через форму на сайте, и мы подберём решение под вашу конфигурацию. Стоимость рассчитывается индивидуально в зависимости от объёма данных и сложности.







