При интеграции 1С:Управление торговлей 10.3 с платформой «1С-Битрикс» специалисты часто сталкиваются с ситуацией, когда товары выгружаются на сайт не как «простые товары», а как «торговые предложения» (SKU). Это происходит даже в тех случаях, когда учет по характеристикам в самой 1С полностью отключен. Такая структура каталога усложняет навигацию и может некорректно отображаться в шаблонах сайта, предназначенных для простых товаров.
В рамках данной статьи мы подробно разберем причины возникновения этой проблемы и рассмотрим пошаговые методы её устранения как на стороне учетной системы 1С, так и в административной панели «Битрикса».
Для начала проанализируем механизм работы стандартного обмена. Система «Битрикс» определяет тип приходящего объекта по структуре XML-файла. Если 1С формирует отдельный файл offers.xml (коммерческие предложения), «Битрикс» автоматически интерпретирует данные как SKU. Основные факторы, провоцирующие это поведение:
Рассмотрим подробнее способы решения этой задачи.
Первым делом проанализируем версию используемого модуля обмена. Встроенный в типовую УТ 10.3 механизм обмена обладает ограниченным функционалом. Рекомендуется установить внешний модуль от компании «Битрикс» (версии 4.х или 5.х).
После установки модуля выполним следующие действия:
Эта опция заставляет модуль программно проверять наличие характеристик у каждой позиции. Если характеристики не используются, данные будут упакованы в основной файл import.xml, что позволит «Битриксу» создать простой товар.
Если обновление модуля нецелесообразно или не помогает, проанализируем настройки версии XML. В настройках обмена в 1С можно изменить версию CommerceML:
Попробуем переключить версию на 2.05 и выполнить полную выгрузку. Однако следует помнить, что это может повлиять на передачу других специфических данных (например, свойств или налоговых ставок), поэтому после переключения необходимо тщательно проверить корректность заполнения карточек на сайте.
Если 1С настроена корректно, но проблема сохраняется, разберем ситуацию в административной панели сайта. Нам необходимо убедиться, что инфоблок каталога не ожидает обязательного наличия торговых предложений.
Разберем технический нюанс: иногда 1С формирует идентификатор товара в формате ID_товара#ID_предложения. Символ «решетка» является для «Битрикса» прямым указанием на то, что объект является SKU. Даже если ID_предложения пуст или равен нулю, наличие разделителя может вызвать проблему.
Если вы имеете доступ к коду выгрузки, проанализируем процедуру формирования узла Ид. Код должен выглядеть примерно так:
// Пример логики в модуле обмена
Если НЕ ТоварИмеетХарактеристики Тогда
УзелИдентификатор = ИдентификаторТовара; // Без добавления #
Иначе
УзелИдентификатор = ИдентификаторТовара + "#" + ИдентификаторХарактеристики;
КонецЕсли;
Убедимся, что в случае отсутствия характеристик в XML попадает чистый GUID товара.
Важный момент, который часто упускают: «Битрикс» крайне неохотно меняет тип уже созданного товара. Если товар уже был загружен как торговое предложение, простое изменение настроек в 1С может не сработать для существующих карточек. Система просто не найдет, куда обновить данные, или продолжит считать товар «комплексным».
Проанализируем правильный алгоритм действий при изменении логики выгрузки:
Выясним еще одну скрытую причину. В УТ 10.3 при включении настройки «Выгружать остатки по складам», модуль формирования XML может генерировать структуру предложений для каждого склада. На стороне «Битрикса» это часто интерпретируется как разные SKU. Если вам не критично отображение остатков по конкретным магазинам на сайте, а достаточно общего количества, попробуем отключить детализацию по складам в настройках обмена 1С.
Подводя итог, можно сказать, что решение проблемы всегда кроется в синхронизации версии протокола обмена и настроек модуля 1С. Мы рекомендуем использовать актуальный модуль обмена от «Битрикс», так как в нем большинство описанных выше проблем решается установкой одной галочки «Выгружать товары как простые».