Настройка выгрузки характеристик товаров из 1С в 1С-Битрикс
В контексте обмена 1С-Битрикс «характеристики» и «свойства» часто путают. В 1С:Управление торговлей и 1С:ERP есть отдельная сущность — Характеристики номенклатуры (вид характеристики + значение). Это варианты одного товара с разными параметрами: цвет, размер, материал. В Битрикс им соответствуют торговые предложения (SKU) в инфоблоке CATALOG_TYPE = 2.
Как характеристики 1С становятся торговыми предложениями
В offers.xml каждая характеристика передаётся как отдельное торговое предложение:
<Предложение>
<Ид>GUID-характеристики</Ид>
<ИдТовара>GUID-товара</ИдТовара>
<Наименование>Футболка, синяя, XL</Наименование>
<ХарактеристикиТовара>
<ХарактеристикаТовара>
<Наименование>Цвет</Наименование>
<Значение>Синий</Значение>
</ХарактеристикаТовара>
<ХарактеристикаТовара>
<Наименование>Размер</Наименование>
<Значение>XL</Значение>
</ХарактеристикаТовара>
</ХарактеристикиТовара>
<Цены>...</Цены>
<Количество>15</Количество>
</Предложение>
Битрикс создаёт торговое предложение в инфоблоке SKU, привязанное к родительскому товару через поле CML2_LINK.
Настройка инфоблока торговых предложений
В Битрикс: Каталог → Типы каталогов — у родительского инфоблока должен быть тип Каталог с торговыми предложениями. Инфоблок торговых предложений создаётся отдельно и привязывается к каталогу.
В инфоблоке SKU создаём свойства под каждую характеристику из 1С:
-
XML_IDсвойства = название характеристики из 1С (или GUID, если 1С передаёт их с идентификаторами) - Тип свойства — «Список» для перечислимых значений (цвет, размер)
Фильтрация по характеристикам на сайте
Когда характеристики правильно загружены в свойства инфоблока SKU, они автоматически доступны в умном фильтре Битрикс. Компонент catalog.smart.filter умеет фильтровать по свойствам торговых предложений — нужно только указать, что фильтрация по CATALOG_TYPE = 2.
GUID характеристик: проблема идентификации
В 1С:УТ характеристики имеют собственный GUID, отличный от GUID товара. При обмене <Ид> предложения формируется как {GUID-товара}#{GUID-характеристики}. Битрикс хранит его в b_iblock_element.XML_ID торгового предложения.
При инкрементальных обменах Битрикс ищет существующее торговое предложение по XML_ID — если нашёл, обновляет; если нет, создаёт новое. Проблема возникает, если в 1С GUID характеристики изменился (например, удалили и создали заново) — в Битрикс появятся дубли. Решение: периодически проверять дубли в инфоблоке SKU по артикулу.
Использование характеристик без SKU
Если в магазине не нужны торговые предложения (нет вариантов товара), но характеристики всё же нужно передать как свойства — отключаем в 1С выгрузку характеристик как предложений и передаём их как <СвойстваТовара> в import.xml. Тогда они попадают в свойства основного инфоблока, не создавая SKU.
Проверка результата обмена
После настройки и первого обмена проверяем:
- В инфоблоке SKU появились торговые предложения, привязанные к товарам
- У каждого предложения заполнены свойства-характеристики
- В карточке товара на сайте отображается выбор характеристик (через компонент
catalog.elementс переключателем SKU) - Умный фильтр видит значения характеристик и корректно фильтрует
Если SKU созданы, но переключатель на сайте не работает — проверяем шаблон компонента: нужен result_modifier.php с логикой формирования матрицы SKU.







