Автоматизация · 11 мин
Как выгрузить каталог из 1С в 1С-Битрикс
Пошаговая инструкция по выгрузке каталога товаров из 1С в 1С-Битрикс: настройка обмена, типовые узлы обмена, CommerceML, проверка результата и типичные ошибки.
Выгрузка каталога товаров из 1С в 1С-Битрикс — стандартная задача при запуске интернет-магазина или синхронизации уже работающего сайта с учётной системой. Обе системы разработаны с учётом интеграции друг с другом: обмен идёт по протоколу CommerceML, а на стороне 1С обычно используется либо встроенный узел обмена с сайтом, либо модуль обмена от 1С-Битрикс.
Перед началом важно понять, какая у вас конфигурация 1С (Управление торговлей, Управление нашей фирмой, Комплексная автоматизация, ERP) и какой режим обмена вам нужен: полная выгрузка каталога, выгрузка только изменений или двусторонний обмен с загрузкой заказов с сайта. От этого зависит выбор инструмента и настройки.
Ниже разобраны оба рабочих способа, настройка на стороне сайта, проверка результата и типичные ошибки, из-за которых каталог выгружается не полностью или «ломает» структуру разделов на сайте.
Подготовка: что проверить перед настройкой обмена
Обмен требует согласованных данных с двух сторон. В 1С проверьте, что справочник номенклатуры заполнен корректно: у товаров указаны наименования, цены нужного типа, остатки, а структура групп соответствует желаемой структуре каталога на сайте. Именно иерархия групп номенклатуры по умолчанию превращается в разделы инфоблока в Битриксе.
На стороне сайта убедитесь, что установлены модули «Информационные блоки» и «Торговый каталог», есть права администратора, а PHP-настройки сервера допускают длительные запросы: большие каталоги выгружаются порциями, и при жёстких лимитах времени выполнения обмен будет обрываться. Также проверьте, что сайт доступен по HTTPS и для 1С нет блокировок по IP или Basic-аутентификации на уровне веб-сервера.
Перед первой полной выгрузкой на действующий сайт сделайте резервную копию базы и файлов. Полный обмен способен перезаписать разделы, свойства и привязки товаров — откат без копии займёт значительно больше времени, чем сама выгрузка.
Способ 1: типовой узел обмена с сайтом в 1С
В конфигурациях Управление торговлей, ERP и Комплексная автоматизация обмен с сайтом встроен. Откройте раздел «Администрирование» → «Настройка синхронизации данных» (в некоторых версиях — «CRM и продажи» → «Обмен с сайтом») и создайте новый узел обмена с сайтом.
В настройках узла укажите адрес вида https://ваш-сайт/bitrix/admin/1c_exchange.php, логин и пароль пользователя сайта с правами на выполнение обмена. Затем на вкладке «Выгрузка товаров» задайте отбор: какие группы номенклатуры, типы цен и склады участвуют в обмене. Отбор — ключевой момент: выгружать весь справочник, включая услуги и архивные позиции, обычно не нужно.
После сохранения настроек нажмите «Выполнить обмен данными». 1С сформирует файлы CommerceML (import.xml для структуры и товаров, offers.xml для цен и остатков) и передаст их на сайт порциями. Ход обмена виден в журнале, а ошибки — в протоколе узла обмена.
- 1Откройте «Администрирование» → «Настройка синхронизации данных» и создайте узел обмена с сайтом
- 2Укажите адрес https://сайт/bitrix/admin/1c_exchange.php, логин и пароль пользователя сайта
- 3Настройте отбор товаров: группы номенклатуры, тип цены, склад
- 4Проверьте соответствие единиц измерения и валюты
- 5Выполните тестовый обмен и проверьте результат на сайте
- 6Настройте расписание регламентного задания для регулярного обмена
Способ 2: модуль обмена от 1С-Битрикс
Для более гибких сценариев существует отдельный модуль обмена, который устанавливается в 1С поверх конфигурации. Он поддерживает выгрузку в режиме реального времени, более тонкую настройку соответствия полей, выгрузку пользовательских свойств и работу с несколькими сайтами. Этот вариант оправдан, если типового узла не хватает: например, нужно передавать дополнительные реквизиты в конкретные свойства инфоблока или выгружать разные ветки каталога на разные сайты.
Модуль скачивается с официального ресурса 1С-Битрикс и устанавливается через объединение конфигурации с файлом поставки или как расширение — в зависимости от версии. Установка меняет конфигурацию, поэтому выполняется на копии базы и требует участия специалиста, если конфигурация доработана. После установки появляется отдельный интерфейс настройки схем обмена, где задаются сопоставления полей товара и свойств инфоблока.
Сравнение вариантов обмена
Подходит для стандартного каталога без доработок; не требует изменения конфигурации, но гибкость ограничена настройками отбора
Подходит для нестандартных соответствий полей, real-time обмена и нескольких сайтов; требует установки и обновлений модуля
Подходит для разовой миграции или отладки: файлы import.xml и offers.xml загружаются на сайт вручную через интерфейс импорта
Подходит для сильно доработанных конфигураций, где типовой обмен не работает; требует разработки и сопровождения
Настройка приёма данных на стороне 1С-Битрикс
В административном разделе сайта откройте «Магазин» → «Настройки» → «Интеграция с 1С» (в редакциях без магазина — настройки инфоблоков). Здесь задаются параметры импорта: в какой инфоблок выгружать каталог, что делать с элементами, отсутствующими в файле выгрузки (деактивировать, удалить или ничего не делать), интервал и размер порции за один шаг.
Создайте отдельного пользователя для обмена с минимально необходимыми правами — доступ к выполнению обмена с 1С, без полного административного доступа. Именно этот логин указывается в узле обмена в 1С. Не используйте учётную запись главного администратора: при компрометации пароля обмена ущерб будет максимальным.
Обратите внимание на параметр действия с отсутствующими элементами. Для первой выгрузки в пустой инфоблок он не критичен, но при регулярной работе режим «удалить» при сбое отбора в 1С способен очистить каталог. Безопасный вариант для постоянной работы — «деактивировать».
Как проходит обмен и что выгружается
Типовой обмен передаёт на сайт: структуру групп (становятся разделами инфоблока), товары с наименованиями, описаниями и картинками, свойства номенклатуры, цены выбранного типа и остатки по выбранным складам. Торговые предложения (характеристики в 1С) выгружаются как SKU с привязкой к родительскому товару — для этого в Битриксе должен быть настроен инфоблок торговых предложений.
Полная выгрузка выполняется при первом обмене или принудительно. В дальнейшем включается режим выгрузки только изменений: 1С регистрирует изменённые объекты в плане обмена и передаёт только их. Это существенно снижает нагрузку — вместо полного каталога на сайт уходят небольшие пакеты. Регулярный обмен обычно ставится на регламентное задание с интервалом от нескольких минут до нескольких раз в день, в зависимости от того, как быстро должны обновляться цены и остатки.
Картинки товаров заметно увеличивают время обмена. Если в 1С хранятся большие исходные фотографии, имеет смысл ограничить размер выгружаемых изображений в настройках обмена или передавать картинки только для новых товаров — обмен цен и остатков при этом ускоряется в разы.
Проверка результата выгрузки
После первого обмена откройте инфоблок каталога в админке Битрикса и сверьте: количество разделов и товаров, наличие цен и остатков, корректность привязки торговых предложений. Затем проверьте публичную часть: товары должны отображаться в нужных разделах, цены — соответствовать выбранному типу, недоступные к покупке позиции — иметь корректный статус.
Выборочно сверьте несколько позиций между 1С и сайтом: наименование, цену, остаток, набор свойств. Если картинки не выгрузились, проверьте права на папку upload и лимиты PHP на размер загружаемых файлов. Если разделы «поехали», проверьте, не менялась ли структура групп в 1С между обменами.
Как проверить результат
Совпадает с отбором в 1С с учётом фильтров
Товаров сильно меньше или появились лишние позиции
Соответствуют выбранному типу цен в 1С
Цены нулевые, отсутствуют или из другого типа
Иерархия повторяет группы номенклатуры
Разделы продублированы или вложенность сломана
Совпадают с остатками по выбранному складу
Все товары «нет в наличии» при наличии остатков в 1С
Типичные ошибки и ограничения
Чаще всего обмен обрывается из-за таймаутов: большой каталог не успевает выгрузиться за один сеанс. Решение — уменьшить размер порции в настройках интеграции на стороне Битрикса и увеличить лимит времени выполнения скриптов на сервере. Вторая частая причина сбоев — некорректные символы в наименованиях и свойствах, из-за которых файл CommerceML не проходит валидацию.
Дубли товаров возникают, когда обмен запускался на инфоблок, где уже были созданы элементы вручную, либо когда менялись внешние коды. Лечится очисткой инфоблока и повторной полной выгрузкой на тестовой копии. «Исчезающие» товары — почти всегда следствие режима «деактивировать/удалить отсутствующие» в сочетании со сбитым отбором в 1С.
FAQ
Можно ли выгрузить каталог из 1С в Битрикс без модуля «Интернет-магазин»?
Да, если на сайте есть модули «Информационные блоки» и «Торговый каталог». Обмен по CommerceML работает и в младших редакциях, но часть функций (например, полноценная работа с заказами и SKU) зависит от редакции. Уточните состав модулей вашей лицензии перед настройкой.
Как выгрузить каталог в файл, а не напрямую на сайт?
В узле обмена 1С вместо адреса сайта выберите режим выгрузки в каталог на диске — 1С сформирует файлы import.xml и offers.xml. Затем в админке Битрикса используйте импорт инфоблока из CommerceML-файла. Этот способ удобен для разовой миграции и отладки.
Почему после обмена товары есть, а цен нет?
Чаще всего в отборе узла обмена не указан тип цены, либо цены этого типа не заполнены для части номенклатуры. Проверьте настройку «Типы цен» в узле обмена и наличие цен в карточках товаров. Также убедитесь, что на сайте тип цены сопоставлен с выгружаемым.
Как настроить автоматическую выгрузку по расписанию?
В 1С настройка выполняется через расписание узла обмена: в параметрах узла включите автоматический обмен и задайте периодичность. Учтите, что регламентные задания выполняются только при запущенном сеансе фонового исполнения — в файловой базе это часто требует отдельно запущенного клиентского приложения.
Что делать, если характеристики товаров не создают торговые предложения?
Проверьте, что в Битриксе у инфоблока каталога включён режим торгового каталога и создан связанный инфоблок торговых предложений. В 1С у номенклатуры должен быть установлен признак ведения учёта по характеристикам. После настройки выполните полную выгрузку — изменения по SKU подхватываются только полным обменом.
Опасно ли запускать обмен днём при работающем магазине?
Обмен в режиме «только изменения» обычно незаметен для посетителей. Полная выгрузка большого каталога создаёт нагрузку на базу и может замедлить сайт, поэтому её лучше выполнять в часы минимальной посещаемости, предварительно проверив на копии.
Что важно запомнить
Каталог выгружается из 1С в 1С-Битрикс через типовой обмен CommerceML: узел обмена с отбором товаров в 1С, настройки интеграции и отдельный пользователь на сайте. Перед первой выгрузкой делайте резервную копию, проверяйте результат на тестовой копии, а для регулярной работы используйте режим выгрузки только изменений и безопасное действие с отсутствующими элементами — деактивацию вместо удаления.