Переход с устаревшей конфигурации 1С:Управление торговлей 10.3 на современную 11.4 часто сопровождается трудностями в интеграции с интернет-магазинами. Одной из наиболее острых проблем является выгрузка комплектов. Если в старой версии за счет кастомизации обмен работал корректно, то в новой версии 11.4 пользователи часто обнаруживают, что наборы превращаются на сайте в обычные товары без состава. Рассмотрим подробно, почему это происходит и как настроить корректную передачу данных.
***
Прежде чем приступать к техническим настройкам, проанализируем разницу в логике двух систем. Это критически важно, так как именно здесь кроется корень большинства ошибок обмена.
В 1С:Управление торговлей 11.4 основным объектом является Набор номенклатуры. Это виртуальная сущность, которая не хранится на складе как отдельная коробка, а собирается в момент оформления заказа или отгрузки. Для набора в 1С настраиваются Варианты комплектации, где указывается список комплектующих.
В 1С-Битрикс ситуация сложнее, там существует два типа составных товаров:
Проблема в том, что стандартный модуль обмена часто не знает, в какую именно сущность Битрикса нужно преобразовать Набор номенклатуры из 1С, и выгружает его как обычный Товар (Item).
***
Проанализируем настройки в самой 1С. Для того чтобы система понимала, что перед ней не обычный товар, необходимо правильно настроить Вид номенклатуры. Рассмотрим последовательность действий:
***
***
Выясним причину, по которой штатная синхронизация «из коробки» может давать сбой. Встроенный в УТ 11.4 функционал обмена с сайтами ориентирован на универсальный формат CommerceML, который не всегда корректно интерпретирует наборы.
Рекомендуем установить отдельный модуль обмена от компании Битрикс (версии 7.x и выше). После установки модуля в интерфейсе 1С появится расширенное окно настроек обмена. Рассмотрим ключевые настройки:
В настройках выгрузки номенклатуры найдите раздел, отвечающий за наборы и комплекты. Там необходимо установить флаг "Выгружать наборы номенклатуры". В последних версиях модуля можно выбрать, как именно интерпретировать набор 1С на стороне сайта: как "Набор" или как "Комплект".
Если программист на стороне сайта утверждает, что «данные не приходят», нам нужно проверить содержимое файла обмена. Рассмотрим структуру узла, который отвечает за комплектующие. В корректном файле import.xml для товара-набора должен присутствовать блок Комплектующие.
Пример структуры (концептуально):
<Товар>
<Ид>ИД_НАБОРА</Ид>
<Наименование>Набор кухонный</Наименование>
<Комплектующие>
<Комплектующее>
<Ид>ИД_ТОВАРА_1</Ид>
<Наименование>Стол</Наименование>
<Количество>1</Количество>
</Комплектующее>
<Комплектующее>
<Ид>ИД_ТОВАРА_2</Ид>
<Наименование>Стул</Наименование>
<Количество>4</Количество>
</Комплектующее>
</Комплектующие>
</Товар>
Если в вашем файле этого блока нет, значит, модуль обмена 1С «схлопывает» набор до обычного товара. В этом случае потребуется либо доработка модуля обмена через Расширения конфигурации, либо использование сторонних модулей.
Как было отмечено в обсуждении на форуме, существует проверенное решение — модуль BXmaker. Комплекты из 1с. Рассмотрим, какие задачи он решает:
Посмотрим на ситуацию со стороны программиста Битрикс: если стандартный компонент catalog.element не видит состав набора, ему приходится писать кастомный код для парсинга XML. Использование готового модуля избавляет от этой необходимости, так как он расширяет стандартную процедуру импорта catalog_import_setup.php.
Проанализируем еще один важный момент. Наборы в УТ 11.4 не имеют собственного остатка на складе. В Битриксе же для отображения кнопки "Купить" товар должен иметь положительный остаток (если не включена разрешенная продажа при отсутствии товара).
Существует два пути решения проблемы остатков:
Мин(ОстатокКомплектующего / КоличествоВНаборе)) и записывать его в файл обмена.Подводя итог, можно сказать: чтобы комплекты из 1С:УТ 11.4 успешно выгружались на Битрикс, необходимо обеспечить соответствие Вида номенклатуры, использовать актуальный модуль обмена от разработчиков Битрикс и убедиться, что в XML-пакете передается узел Комплектующие. Если штатные средства не справляются с вашими специфическими требованиями (например, сложная логика цен), стоит рассмотреть специализированные модули из Маркетплейса Битрикс.