Почему новая группа номенклатуры из 1С не выгружается на сайт 1С-Битрикс и как это исправить?

Программист 1С v8.3 (Управляемые формы) 1С:Управление торговлей Торговля и дистрибуция
← На главную

При настройке интеграции 1С и 1С-Битрикс пользователи часто сталкиваются с ситуацией, когда товары успешно передаются на сайт, но новые группы (разделы) из дерева номенклатуры 1С не создаются в каталоге интернет-магазина. При этом полная выгрузка данных не приносит результата, а ручное создание аналогичных групп на сайте не решает проблему сопоставления. Проанализируем основные причины возникновения этой неполадки и разберем пошаговые методы их устранения.

Причина 1. Отсутствие XML_ID у корневого раздела в базе данных 1С-Битрикс

Разберем специфическую проблему, с которой сталкиваются при выгрузке пользовательского дерева групп. Механизм обмена сопоставляет группы номенклатуры 1С с разделами сайта по их уникальным внешним идентификаторам (XML_ID).

На стороне сайта в базе данных MySQL информация о разделах каталога хранится в таблице b_iblock_section, а параметры самих инфоблоков — в таблице b_iblock. Если у корневой секции инфоблока каталога на сайте не заполнен XML_ID, модуль импорта не может привязать новые дочерние группы из выгрузки CommerceML к существующей иерархии сайта.

Рассмотрим порядок решения данной проблемы через выполнение SQL-запроса:

  1. Выясним идентификатор главного инфоблока каталога. Для этого обратимся к таблице b_iblock или посмотрим ID инфоблока в административной панели сайта (в разделе «Контент» — «Инфоблоки»).
  2. Проверим наличие XML_ID у корневого раздела каталога в таблице b_iblock_section.
  3. Установим корректный XML_ID для корневой секции, соответствующий идентификатору группы из 1С, с помощью SQL-запроса UPDATE:

UPDATE b_iblock_section 
SET XML_ID = 'dcf19597-ad67-11e5-80c6-0050568700e3' 
WHERE IBLOCK_ID = 5 AND ID = 328;

После прописывания XML_ID повторно запустим полную выгрузку из 1С — иерархия разделов на сайте обновится корректно.

Причина 2. Выгрузка пустой группы без товаров

Стандартный модуль обмена 1С-Битрикс работает по логике, согласно которой структура категорий привязывается к фактически выгружаемым позициям номенклатуры. Если новая группа в 1С пуста или товары внутри нее не проходят установленные отборы (по остаткам, складам, ценам или признаку активности), модуль обмена по умолчанию не включает такую группу в файл import.xml.

Рассмотрим, как исправить эту ситуацию:

  1. Добавим в созданную группу в 1С хотя бы один активный товар с положительным остатком и заполненной ценой.
  2. Проверим настройки профиля обмена в 1С и убедимся, что установленные отборы не исключают элементы из созданной группы.
  3. Повторно запустим процесс обмена данными.

Причина 3. Обязательные поля для разделов в инфоблоке сайта

Если в настройках инфоблока каталога на стороне 1С-Битрикс установлены требования к обязательности заполнения полей раздела (например, символьный код CODE, изображение или пользовательские свойства), система отклонит создание новой группы из 1С из-за ошибки валидации при импорте.

Разберем действия для устранения ограничения:

  1. Перейдем в административную панель сайта: Администрирование > Контент > Инфоблоки > Типы инфоблоков > Каталог.
  2. Откроем настройки нужного инфоблока и перейдем на вкладку «Поля разделов».
  3. Снимем флажки обязательности заполнения для полей (в первую очередь для символьного кода CODE).
  4. Сохраним изменения и выполним полную выгрузку из 1С.

Причина 4. Защита структуры каталога в настройках интеграции

На стороне 1С-Битрикс в параметрах модуля интеграции с 1С может быть включен запрет на изменение структуры каталога при импорте. В этом случае сайт принимает товары, но игнорирует любые изменения дерева категорий.

Проанализируем настройки интеграции:

  1. Перейдем в раздел Администрирование > Магазин > Настройки > Интеграция с 1С.
  2. На вкладке импорта каталога проверим параметры загрузки структуры.
  3. Убедимся, что разрешено создание и обновление разделов каталога при импорте, и опция сохранения структуры сайта не блокирует новые группы из 1С.

Причина 5. Сбой регистрации изменений и кэша в модуле обмена 1С

При использовании произвольного пользовательского дерева групп в модуле обмена 1С генерация структуры происходит в момент формирования файла CommerceML. Если узел дерева был изменен, но объекты номенклатуры не попали в регистрацию изменений, модуль может расценить структуру как неизмененную.

В этом случае рекомендуем сбросить кэш выгрузки в модуле обмена 1С, пересохранить профиль настройки интеграции и запустить полную выгрузку данных.

← На главную