Ситуация, когда в 1С:УНФ (особенно в облачной версии Fresh) товары настроены идеально — с цветами, размерами и остатками, а на сайте Bitrix они отображаются как «плоские» позиции без возможности выбора параметров, является классической проблемой интеграции. Рассмотрим подробно, почему возникает этот конфликт между учетной системой и веб-витриной, и разберем по шагам, как локализовать ошибку и заставить систему работать правильно.
Прежде всего, нам необходимо понять, что 1С и Bitrix по-разному смотрят на один и тот же объект. В 1С:Управление нашей фирмой характеристика — это разрез учета внутри одной карточки номенклатуры. В Bitrix же для реализации выбора (например, кнопками или цветными кружками) используется сущность Торговые предложения (SKU).
Разберем, как это работает: основная карточка товара хранится в одном инфоблоке, а все его вариации (черный квадрат, красный квадрат) — в другом, специальном «инфоблоке предложений». Если связь между ними нарушена или данные попадают «не туда», сайт просто не покажет блок выбора характеристик. Выясним основные причины, почему это происходит.
Первым делом проанализируем файлы, которые 1С формирует для сайта. Для этого удобно использовать специализированные инструменты, такие как MS XML Notepad. Рассмотрим, на что именно нужно обратить внимание:
Предложение со своим уникальным идентификатором, штрихкодом и ценой.Если в файле offers.xml вы видите узлы Предложение, внутри которых указаны значения ваших характеристик (например, «Цвет: Красный»), значит, со стороны 1С данные уходят корректно. Проблема перемещается на сторону сайта.
Выясним причину возможного несоответствия форматов. 1С:УНФ в облаке зачастую использует актуальные версии CommerceML (2.07 или 2.10), в то время как «допиленный» программистами сайт может ожидать старую версию 2.05.
Разберем, чем это грозит: в новых версиях информация о картинках предложений или специфических свойствах может располагаться в других ветках XML-дерева. Если парсер на сайте настроен жестко под старый стандарт, он просто проигнорирует новые блоки данных. Проверить версию формата в 1С можно в настройках узла обмена с сайтом. Попробуйте временно переключить версию на более низкую (например, 2.05), если сайт ведет себя некорректно.
Если данные приходят, но не отображаются, проанализируем настройки самого Bitrix. Часто разработчики сайта ограничивают доступ к админке, ссылаясь на «технику безопасности», однако именно там скрыты 90% причин проблемы. Нам необходимо убедиться в следующем:
bitrix:catalog (или аналогичного) есть параметр OFFERS_PROPERTY_CODE. Если в этом списке не выбраны свойства (например, «Цвет»), которые должны участвовать в выборе, пользователь их не увидит.Чтобы добиться отображения как на примере с мотоциклом (красивые иконки выбора), проанализируем механизм Highload-инфоблоков. Стандартный обмен 1С умеет передавать значения характеристик в справочники Bitrix.
Рассмотрим алгоритм настройки:
Если программист сайта утверждает, что «проблема в 1С», применим метод изоляции. Развернем «коробочную» версию Bitrix (можно использовать демо-период) без сторонних доработок. Настроим выгрузку из вашей 1С:УНФ на этот чистый сайт. Если на стандартном шаблоне характеристики появились и заработали — это прямое доказательство того, что ошибки кроются в кастомном коде текущего сайта.
Посмотрим на пример того, как должны выглядеть данные в offers.xml, чтобы Bitrix их корректно распознал. Обратите внимание на вложенность узлов:
<Предложение>
<Ид>7YdRuecj#lGaFpbWL</Ид>
<Наименование>Квадрат (Красный)</Наименование>
<ЗначенияСвойств>
<ЗначениеСвойства>
<Ид>ЦВЕТ_ИД</Ид>
<Значение>Красный</Значение>
</ЗначениеСвойства>
</ЗначенияСвойств>
<Цены>
<Цена>
<ЦенаЗаЕдиницу>100</ЦенаЗаЕдиницу>
</Цена>
</Цены>
<Количество>10</Количество>
</Предложение>
В данном примере Ид предложения состоит из двух частей: ID самого товара и ID характеристики, разделенных решеткой. Если ваш файл имеет такую структуру, значит, 1С отрабатывает штатно. Использование CommerceML подразумевает, что сайт должен уметь парсить такие связки автоматически.
Важно понимать, что полноценная отладка обмена без доступа к разделу Рабочий стол -> Магазин -> Настройки -> Интеграция с 1С -> Журнал практически невозможна. В этом журнале Bitrix фиксирует все ошибки, возникающие в момент парсинга файлов. Если «офферы» не создаются, журнал покажет конкретную причину, например: «Ошибка создания торгового предложения: не указан тип цены» или «Инфоблок предложений не найден».
Проанализировав ситуацию, можно сделать вывод: если в XML-файлах данные о характеристиках присутствуют в блоке Предложения, то задача 1С-программиста выполнена. Дальнейшая настройка отображения (вывод кнопок выбора, привязка фото к цветам) — это зона ответственности веб-разработчика. Для решения проблемы рассмотрите возможность настройки стандартного компонента Bitrix или отката кастомных правок обмена к штатному функционалу модуля sale.