Автоматизация · 11 мин
Как выгрузить разделы из 1С в Битрикс
Как выгрузить разделы каталога из 1С в Битрикс: настройка обмена, дерево групп, CommerceML, типичные ошибки и проверка результата интеграции.
Выгрузка разделов (групп номенклатуры) из 1С в Битрикс — базовый этап интеграции каталога. Структура разделов передаётся вместе с товарами по протоколу CommerceML и формирует навигацию каталога на сайте. Если обмен настроен правильно, иерархия групп из 1С автоматически превращается в разделы инфоблока Битрикса, а товары попадают в нужные ветки.
Чаще всего обмен выполняется типовым модулем «Обмен с сайтом» в конфигурациях «Управление торговлей», «Комплексная автоматизация» или «ERP», а на стороне сайта используется стандартный приёмник «1С-Битрикс: Управление сайтом». Разделы передаются в файле import.xml в виде дерева групп, а привязка товаров к разделам — в offers.xml и в самом import.xml.
Основные сложности возникают не на этапе первой выгрузки, а при дальнейшей работе: расхождение структур после ручного редактирования на сайте, дубли разделов из-за изменения идентификаторов, потеря привязки товаров при переносе групп. Ниже разобраны подготовка, настройка, запуск и контроль результата.
Подготовка: что проверить перед настройкой обмена
Перед первой выгрузкой убедитесь, что версии конфигурации 1С и модуля обмена совместимы с вашей редакцией Битрикса. В коробочной версии модуль обмена обычно уже включён в поставку, для облачного Битрикс24 сценарий отличается — там используется отдельный механизм синхронизации товаров, и выгрузка произвольной иерархии разделов может быть ограничена.
Проверьте, что на сайте создан инфоблок типа «Каталог», в который будет идти выгрузка. Если инфоблока нет — не проблема: при первом обмене Битрикс создаст его автоматически, но тогда заранее продумайте, какие свойства и настройки SEO понадобятся, чтобы не перенастраивать потом на заполненном каталоге.
На стороне 1С приведите в порядок справочник номенклатуры: разберите группы, уберите служебные и дублирующие папки, определите, какая ветка иерархии должна стать каталогом на сайте. Именно структура групп номенклатуры по умолчанию станет структурой разделов на сайте.
Настройка узла обмена с сайтом в 1С
Откройте в 1С раздел администрирования интеграции (в «Управлении торговлей» это «Администрирование → CRM и продажи → Настройки интеграции с сайтом» либо «Синхронизация данных → Обмен с сайтом» — точный путь зависит от конфигурации и версии). Создайте новый узел обмена и заполните параметры подключения.
Укажите адрес сайта в формате https://site.ru/bitrix/admin/1c_exchange.php, логин и пароль пользователя сайта с правами на выполнение обмена (обычно администратор или отдельная учётная запись в группе с правом «Обмен данными с 1С»). Проверьте соединение кнопкой «Проверить» — 1С должна получить ответ от сайта.
На вкладке выгрузки товаров включите режим «Выгружать на сайт» и выберите типовой сценарий обмена. Если обмен идёт в облачный Битрикс24, выбирайте соответствующий вариант настройки — адрес и механизм авторизации там другие.
Настройка дерева групп: какие разделы попадут на сайт
Ключевой элемент настройки — таблица «Дерево групп» (или «Классификатор») в узле обмена. Здесь задаётся соответствие между группами номенклатуры 1С и разделами каталога на сайте. По умолчанию 1С предлагает выгрузить всю иерархию номенклатуры как есть.
Если структура справочника не совпадает с желаемой структурой сайта, дерево можно переформировать вручную: создать собственные ветки и перетащить в них группы номенклатуры. Это удобно, когда в 1С учётная иерархия построена по складам или поставщикам, а на сайте нужен каталог по типам товаров.
Отбор номенклатуры настраивается отдельно: по группам, по наличию на складах, по сегменту. Важно понимать связь: товар попадёт на сайт, только если он проходит отбор и его группа включена в дерево групп. Товар из исключённой группы не выгрузится, а сама группа без товаров создаст на сайте пустой раздел.
- 1Создайте узел обмена с сайтом в 1С и проверьте соединение
- 2На вкладке выгрузки товаров сформируйте дерево групп: перетащите нужные группы номенклатуры
- 3Настройте отбор номенклатуры, чтобы исключить служебные позиции
- 4Сохраните настройку и запустите обмен вручную кнопкой «Выполнить обмен»
- 5Дождитесь завершения сеанса и откройте протокол обмена
- 6Проверьте на сайте структуру разделов инфоблока и привязку товаров
Запуск обмена и что происходит на стороне сайта
При запуске обмена 1С формирует файлы CommerceML: import.xml содержит классификатор (дерево групп) и товары, offers.xml — предложения, цены и остатки. Файлы передаются на сайт порциями, если включён режим zip или пошаговая выгрузка, что защищает от тайм-аутов на больших каталогах.
Битрикс принимает файлы, разбирает классификатор и создаёт или обновляет разделы инфоблока. Сопоставление идёт по внешнему коду (XML_ID) — это GUID группы из 1С. Если раздел с таким идентификатором уже есть, он обновляется (название, родитель, сортировка); если нет — создаётся новый.
Первый обмен большого каталога может занять продолжительное время и выполняться в несколько шагов. Не прерывайте процесс принудительно: прерванный обмен обычно можно продолжить повторным запуском, так как механизм пошаговый и фиксирует прогресс.
https://site.ru/bitrix/admin/1c_exchange.php?type=catalog&mode=checkauthТак выглядит точка входа обмена, к которой обращается 1С. Проверить доступность обработчика можно, открыв базовый URL 1c_exchange.php в браузере под авторизованным пользователем с правами обмена — ответ вида «success» на этапе авторизации подтверждает, что приёмник работает.
Проверка результата и контрольные точки
После завершения обмена откройте на сайте инфоблок каталога в административном разделе и сверьте структуру разделов с деревом групп в 1С. Количество веток верхнего уровня и вложенность должны совпадать с настроенным деревом, а не обязательно со всей иерархией справочника номенклатуры.
Проверьте несколько товаров выборочно: откройте карточку товара на сайте и убедитесь, что он привязан к тем же разделам, что и в 1С. Обратите внимание на товары, которые в 1С лежат сразу в нескольких группах через дополнительную привязку — механизм мультикатегорийности зависит от настроек обмена.
На публичной части проверьте навигацию: разделы должны открываться, содержать товары и корректные ЧПУ-адреса. Если символьные коды разделов пустые или сгенерированы автоматически с ошибками, настройте транслитерацию в параметрах инфоблока до массовой выгрузки.
Как проверить результат
Совпадает с деревом групп в узле обмена, вложенность сохранена
Появились дубли разделов или лишние ветки верхнего уровня
Товары лежат в тех же группах, что в 1С
Товары в корне каталога или в разделе «Прочее»
Заполнен GUID из 1С, стабилен между обменами
Пустой или меняется при каждом обмене
Нет ошибок, все пакеты приняты сайтом
Ошибки авторизации, тайм-ауты, отказ в приёме файлов
Типичные ошибки и как их избежать
Самая частая проблема — дубли разделов. Она возникает, когда администратор вручную создал разделы на сайте до обмена, а затем 1С выгрузила свои группы с другими XML_ID. Решение: либо удалить ручные разделы до первого обмена, либо прописать им внешние коды из 1С.
Вторая типичная ситуация — исчезновение разделов после обмена. Это происходит, когда в настройках обмена на стороне сайта включено действие «Удалить» или «Деактивировать» для элементов и разделов, отсутствующих в файле импорта, а в 1С сузили отбор или дерево групп. Перед изменением отбора проверьте, что будет с исключёнными позициями.
Третья группа ошибок связана с правами и окружением: пользователь обмена без прав на инфоблок, ограничения хостинга на время выполнения скрипта, недостаток места под временные файлы. Эти проблемы видны в протоколе обмена как обрывы на этапе передачи или распаковки данных.
Нестандартные сценарии: несколько каталогов и отличная структура
Если на сайте нужно несколько каталогов (например, розничный и оптовый) с разной структурой, создайте в 1С несколько узлов обмена, каждый со своим деревом групп и отбором. На стороне сайта каждый обмен будет работать со своим инфоблоком — соответствие задаётся по настройкам обработчика и идентификатору каталога в файле обмена.
Когда требуется, чтобы структура разделов на сайте жила своей жизнью (маркетинговые ветки, сезонные подборки), а из 1С приходили только товары, используйте режим обмена без обновления классификатора: товары привязываются к существующим разделам по соответствию, заданному на стороне сайта или через свойства. Это более сложная схема, требующая доработки или дополнительных настроек модуля.
Для очень больших каталогов включите выгрузку только изменений: после первого полного обмена 1С будет передавать лишь изменённые группы и товары, что резко сокращает время сеанса. Полную выгрузку оставьте для регламентного запуска в нерабочие часы.
Как выбрать действие
FAQ
Можно ли выгрузить только разделы без товаров?
Да. Настройте дерево групп в узле обмена и временно задайте отбор номенклатуры, не пропускающий ни одного товара, либо выполните обмен вручную с ограниченным составом. На сайте создастся структура разделов, после чего можно запустить полноценную выгрузку товаров.
Что произойдёт, если переименовать группу в 1С?
При следующем обмене раздел на сайте будет переименован, так как сопоставление идёт по GUID, а не по названию. При этом может измениться символьный код и URL раздела — учитывайте это для SEO и настройте редиректы при необходимости.
Почему после обмена на сайте появились разделы, которых нет в дереве групп?
Обычно это разделы, созданные вручную на сайте ранее, либо результат предыдущих обменов с другими настройками. Проверьте XML_ID таких разделов: если он пустой или не соответствует GUID из 1С — раздел создан не обменом и управляется вручную.
Как перенести товар в другой раздел?
Перенесите товар в другую группу в справочнике номенклатуры 1С (или измените привязку в дереве групп узла обмена) и выполните обмен. На сайте товар автоматически окажется в новом разделе. Переносить товар вручную на сайте не следует — при следующем обмене привязка вернётся к данным 1С.
Обмен обрывается на большом каталоге — что делать?
Включите zip-режим и уменьшите размер порции выгрузки в настройках узла обмена. Проверьте ограничения хостинга на время выполнения скрипта и размер загружаемых файлов. Если обмен стабильно не завершается, запускайте его по расписанию в часы минимальной нагрузки и используйте режим выгрузки только изменений.
Работает ли выгрузка разделов в облачный Битрикс24?
Да, но через отдельный механизм синхронизации товаров CRM, а не классический обмен с сайтом. Возможности по управлению иерархией разделов там ограничены по сравнению с коробочной редакцией, поэтому сложные структуры каталога лучше реализовывать на коробочной версии.
Что важно запомнить
Разделы выгружаются из 1С в Битрикс через узел обмена с сайтом: структура задаётся деревом групп, сопоставление идёт по GUID групп. Первый обмен выполняйте на тестовой копии, не редактируйте разделы вручную на сайте, контролируйте режим удаления отсутствующих элементов и всегда проверяйте протокол обмена.