Налаштування вивантаження характеристик товарів з 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 — якщо знайшов, оновлює; якщо ні, створює нову. Проблема виникає, якщо GUID характеристики у 1С змінився (наприклад, видалили та створили заново) — у Бітриксі з'являться дублікати. Рішення: періодично перевіряти дублікати у інфоблоці SKU за артикулом.
Використання характеристик без SKU
Якщо у магазині не потрібні торгові пропозиції (немає варіантів товару), але характеристики все ж таки потрібно передати як властивості — вимикаємо у 1С вивантаження характеристик як пропозицій та передаємо їх як <ВластивостіТовару> у import.xml. Тоді вони попадають у властивості основного інфоблоку, не створюючи SKU.
Перевірка результату обміну
Після налаштування та першого обміну перевіряємо:
- У інфоблоці SKU з'явилися торгові пропозиції, прив'язані до товарів
- У кожної пропозиції заповнені властивості-характеристики
- У карточці товару на сайті відображається вибір характеристик (через компонент
catalog.elementз перемикачем SKU) - Розумний фільтр бачить значення характеристик та коректно фільтрує
Якщо SKU створені, але перемикач на сайті не працює — перевіряємо шаблон компонента: потрібна result_modifier.php з логікою формування матриці SKU.







