При интеграции 1С:Управление торговлей 10.3 с интернет-магазинами (например, на базе OpenCart или Bitrix) часто возникает проблема, когда основные товары выгружаются корректно, а их характеристики (размеры обуви, цвета одежды и т.д.) отсутствуют в файлах import.xml или offers.xml. Рассмотрим подробно, почему это происходит и как настроить систему для корректной передачи данных.
В первую очередь нам необходимо убедиться, что используемый модуль обмена (часто это стандартный модуль от Битрикс версии 6.x) настроен на работу с характеристиками. Разберем основные параметры, которые должны быть активированы.
Проанализируем вкладку настроек выгрузки товаров. В типовых решениях и модуле Битрикс существует флаг "Выгружать характеристики". Если этот флаг не установлен, система будет игнорировать подчиненный справочник характеристик и выгружать только "карточку-родитель". В некоторых редакциях конфигурации "Управление продажами" (на базе УТ 10.3) эта галка может находиться в дополнительных настройках дерева групп или в параметрах отбора.
Если в вашем интерфейсе отсутствует явная галка, это может означать использование устаревшей версии модуля или специфическую модификацию конфигурации. В таком случае проверим версию протокола CommerceML. Рассмотрим два варианта:
offers.xml. Это наиболее стабильный вариант для большинства модулей интеграции OpenCart.Самая распространенная техническая причина, по которой характеристики "пропадают" из выгрузки — это алгоритм фильтрации модуля. Модуль обмена Битрикс зачастую не включает характеристику в offers.xml, если по ней нет актуальных данных для продажи. Выясним это, проверив следующие моменты:
Остатки на складах: Если в настройках обмена включена опция "Выгружать только товары, имеющиеся на складах", то характеристики с нулевым остатком будут проигнорированы. Проверим отчет "Остатки товаров на складах" с детализацией до характеристики.
Цены номенклатуры: Это критически важный момент. В 1С УТ 10.3 цена может быть установлена на "Номенклатуру" в целом, а может быть детализирована до "Характеристики номенклатуры". Если в регистре сведений ЦеныНоменклатуры цена задана только для общего объекта, модуль обмена может посчитать, что конкретная характеристика (например, "размер 42") не имеет цены, и исключит её из выгрузки offers.xml.
Проанализируем ситуацию через консоль запросов, выполнив запрос к регистру цен:
ВЫБРАТЬ
ЦеныНоменклатурыСрезПоследних.Номенклатура,
ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры,
ЦеныНоменклатурыСрезПоследних.Цена
ИЗ
РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, ТипЦен = &ТипЦен) КАК ЦеныНоменклатурыСрезПоследних
ГДЕ
ЦеныНоменклатурыСрезПоследних.Номенклатура = &ВыбраннаяНоменклатура
Если в результате запроса поле ХарактеристикаНоменклатуры пустое, значит цена установлена на товар в целом, и вам необходимо переопределить цены для каждой характеристики отдельно, либо изменить логику модуля обмена.
Иногда проблема кроется в самой структуре данных 1С. Выясним, включен ли учет по характеристикам для конкретных видов номенклатуры. Посмотрим на настройки справочника Номенклатура:
Виды номенклатуры. Убедимся, что для данного вида разрешено использование характеристик.В модифицированных конфигурациях (как в вашем случае "Управление продажами" 1.2) разработчики могли изменить стандартные запросы модуля. Рассмотрим, как программно проверить, видит ли система характеристики. В модуле обмена за формирование списка характеристик обычно отвечает функция, собирающая данные из регистра СведенияНоменклатуры или ТоварыНаСкладах.
Если визуальный осмотр настроек не помог, перейдем к использованию отладчика. Нам нужно найти место в коде модуля обмена, где формируется XML-структура торговых предложений. Поищем в модуле обработки обмена текст СтандартныеПредложения или ХарактеристикиТовара.
Рассмотрим пошагово процесс отладки:
offers.xml.Часто в коде модуля Битрикс встречается условие, подобное этому:
Если НЕ ХарактеристикиИспользуются Тогда
Продолжить;
КонецЕсли;
Проверьте значение переменной ХарактеристикиИспользуются. Она инициализируется на основе метаданных и настроек конкретного объекта номенклатуры.
Важно помнить, что даже если 1С выгружает характеристики корректно в XML, OpenCart "из коробки" не всегда понимает, как их отобразить. Разберем, как это работает на стороне сайта:
Файл offers.xml содержит Торговые предложения. В терминологии OpenCart это чаще всего "Опции" или "Связанные опции". Чтобы размеры обуви из 1С превратились в выбираемые кнопки на сайте, на стороне OpenCart должен быть установлен модуль (например, Exchange.1C или аналоги), который умеет парсить блок ХарактеристикиТовара из CommerceML и создавать на их основе Options.
Если характеристики попадают в import.xml как свойства (Attributes), они будут отображены просто текстом в таблице характеристик, и выбрать размер при покупке будет невозможно. Проанализируйте ваш XML-файл вручную в текстовом редакторе. Если вы видите там блоки <Характеристика> с названиями ваших размеров, значит 1С работает верно, и проблему нужно искать в настройках импорта на стороне OpenCart.
Подводя итог, для успешной выгрузки характеристик из УТ 10.3 выполним следующие действия:
CommerceML 2.05.ВестиУчетПоХарактеристикам).Соблюдение этих шагов позволит вам добиться появления данных в XML и обеспечить корректную работу интернет-магазина с размерными сетками и другими вариативными параметрами товаров.