Настройка выгрузки номенклатуры из 1С:УТ в 1С-Битрикс
Выгрузка номенклатуры — первый и самый критичный этап интеграции. Именно здесь формируется структура товарного каталога на сайте: иерархия разделов, набор свойств, связи между SKU и родительскими товарами. Ошибки на этом этапе тяжело исправить без полного пересоздания каталога.
Что именно выгружается при обмене номенклатурой
Механизм CommerceML в 1С:УТ 11 передаёт в XML несколько блоков:
Классификатор (КоммерческаяИнформация → Классификатор) — это структура каталога:
- Группы номенклатуры с иерархией (папки)
- Свойства (характеристики, которые будут у товаров)
- Значения свойств (справочник допустимых значений)
Каталог (КоммерческаяИнформация → Каталог) — сами товары:
- Каждый
<Товар>= одна позиция номенклатуры - Внутри: наименование, артикул, единица измерения, изображения,
ДополнительныеРеквизиты,ХарактеристикиТовара
При первом запуске выгружается весь классификатор и весь каталог. При инкрементальном обмене — только изменённые позиции, но классификатор (группы и свойства) всегда выгружается целиком.
Настройка фильтров выгрузки в УТ
В узле обмена (раздел НСИ и администрирование → Интеграция с сайтом) настраиваются фильтры:
По организации. Если в УТ несколько организаций — указываем конкретную.
По группам номенклатуры. Можно выбрать конкретные папки справочника. Удобно для случаев, когда в УТ хранится вся номенклатура (включая сырьё, внутренние наборы), но на сайт нужна только товарная группа «Для продажи».
По виду номенклатуры. В УТ 11 есть виды номенклатуры — это аналог категорий с предопределёнными свойствами. Фильтр по виду позволяет выгружать, например, только «Готовую продукцию».
По дополнительному реквизиту. Удобный способ — добавить в справочник «Номенклатура» булевый реквизит «Публиковать на сайте». Фильтр по этому реквизиту даёт точный контроль над тем, что попадает на сайт.
Маппинг свойств: где теряются данные
Свойства номенклатуры в УТ делятся на два типа:
-
Стандартные реквизиты (Наименование, Артикул, Единица измерения, Вес, Объём) — передаются в фиксированных тегах XML, Битрикс читает их автоматически.
-
Дополнительные реквизиты (всё остальное) — передаются в
ДополнительныеРеквизиты. Битрикс создаёт из них свойства инфоблока автоматически при первом импорте.
Проблема: при первом импорте Битрикс создаёт свойства с автоматическими кодами (обычно CML2_ATTR_1, CML2_ATTR_2 и т.д.). Это нечитаемые коды, и потом с ними неудобно работать при разработке шаблонов. Перед первым реальным импортом задайте свойствам корректные коды вручную или через обработчик события OnIBlockPropertyAdd.
Изображения в выгрузке
Способ 1: Base64 в XML — изображения кодируются прямо в XML-файл. Простой способ, но сильно раздувает размер файла. При 10 тыс. товаров по 3 фото = XML 2–5 ГБ.
Способ 2: Ссылки на файлы — в XML передаются пути к изображениям, Битрикс скачивает их отдельными HTTP-запросами. Медленнее, но XML остаётся компактным.
Способ 3: FTP-папка — изображения выгружаются в отдельную папку (через FTP или общий сетевой каталог), в XML — относительные пути. Самый быстрый вариант при локальной сети.
Для production рекомендую способ 3 (FTP) или способ 2 (ссылки) с кешированием уже загруженных изображений на стороне Битрикс (не перезагружать изображение, если MD5 не изменился).
Характеристики номенклатуры → торговые предложения
Если в УТ у номенклатуры есть характеристики (цвет, размер, объём), они выгружаются в ХарактеристикиТовара. Битрикс создаёт на их основе торговые предложения (SKU) в инфоблоке предложений.
Структура: один товар (головной элемент) + N торговых предложений. Каждое предложение наследует свойства товара и добавляет специфические (цвет, размер). Цена и остаток — на уровне предложения.
Товар: Футболка Polo
├── Предложение: Белая, S
├── Предложение: Белая, M
├── Предложение: Синяя, S
└── Предложение: Синяя, M
Связь товара и предложений в XML — через совпадение XML_ID товара и поля ТоварId в предложении.
Сколько времени занимает первый импорт
| Объём каталога | Без характеристик | С характеристиками |
|---|---|---|
| До 5 тыс. товаров | 2–5 мин | 5–15 мин |
| 5–50 тыс. товаров | 10–30 мин | 30–90 мин |
| 50+ тыс. товаров | 45–120 мин | 2–6 часов |
Для больших каталогов первый импорт лучше запускать вручную в cron с max_execution_time = 0, а не через браузер.







