К статье
Практический материал

Автоматизация · 11 мин

Как выгрузить товар из 1С в Битрикс: пошаговое руководство

Как выгрузить товары из 1С в Битрикс: настройка модуля обмена, CommerceML, выгрузка каталога, цен и остатков, типичные ошибки и их решение.

Выгрузка товаров из 1С в Битрикс — стандартная задача при запуске интернет-магазина на «1С-Битрикс: Управление сайтом». Обе системы поддерживают обмен по протоколу CommerceML, поэтому в большинстве случаев ручной перенос каталога не нужен: достаточно настроить модуль обмена и задать расписание синхронизации.

Перед началом работы определите, что именно нужно передавать: только номенклатуру с ценами и остатками или также картинки, характеристики, свойства и структуру разделов. От этого зависит выбор способа обмена и объём настройки. Также проверьте версии: для типовых конфигураций 1С (Управление торговлей, Управление нашей фирмой, Комплексная автоматизация, ERP) существует штатный модуль обмена с сайтом, который устанавливается отдельно или уже включён в поставку.

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

Способы выгрузки товаров из 1С в Битрикс

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

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

Второй способ — ручная выгрузка в файл CommerceML (XML) из 1С с последующим импортом через административный раздел Битрикса. Это вариант для разового переноса каталога или для случаев, когда прямое соединение между 1С и сайтом невозможно.

Третий вариант — выгрузка через промежуточные форматы (CSV, XLSX) и штатный импорт Битрикса. Он оправдан для небольших каталогов без сложной структуры свойств, но требует ручного сопоставления полей и плохо подходит для регулярной синхронизации остатков.

Сравнение вариантов выгрузки

Модуль обмена с сайтом

Полноценная двусторонняя синхронизация по расписанию. Требует установки и настройки модуля, подходит для постоянной работы магазина.

Ручная выгрузка в CommerceML

Разовый перенос каталога без прямого соединения. Остатки и цены быстро устаревают, синхронизацию заказов не даёт.

Импорт CSV/XLSX

Простой старт для небольшого каталога. Нет автоматического обновления, высок риск рассинхронизации данных.

Обмен через REST API

Гибкое решение для нетиповых конфигураций и нестандартной логики. Требует разработки и сопровождения.

Подготовка: что проверить до настройки обмена

До установки модуля убедитесь, что данные в 1С готовы к выгрузке. Номенклатура должна быть заполнена корректно: у товаров заданы наименования, единицы измерения, цены по нужному типу цен, при необходимости — картинки и свойства. Товары без цен и наименований выгрузятся с ошибками или создадут на сайте «пустые» карточки.

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

Со стороны сайта нужны: установленный модуль «Интернет-магазин» (sale) и «Торговый каталог», права администратора, а также доступность сайта по HTTP/HTTPS с компьютера или сервера, где работает 1С. Если 1С работает в локальной сети, а сайт — во внешнем хостинге, убедитесь, что исходящие соединения не блокируются.

Установка и настройка модуля обмена с сайтом

Для типовых конфигураций модуль обмена с сайтом либо входит в поставку, либо скачивается с официального портала 1С и устанавливается как расширение или обновление конфигурации. После установки в интерфейсе появляется раздел «Обмен с сайтом» (обычно в подсистеме администрирования или продаж).

Настройка сводится к созданию узла обмена. В настройках узла указываются: адрес сайта вида https://site.ru/bitrix/admin/1c_exchange.php, логин и пароль пользователя сайта с правами на обмен, режим обмена (выгрузка товаров, обмен заказами или оба), а также отборы — какие товары, склады и типы цен участвуют в выгрузке.

На стороне Битрикса проверьте настройки интеграции с 1С: в административном разделе в разделе «Магазин → Настройки → Интеграция с 1С» задаются параметры импорта — что делать с товарами, отсутствующими в файле выгрузки, как обрабатывать группы, разрешённые типы цен. Пользователь, под которым 1С подключается к сайту, должен входить в группу с правом на выполнение обмена.

Порядок настройки типового обмена
  1. 1
    Установите модуль обмена с сайтом в 1С и обновите конфигурацию
  2. 2
    Создайте на сайте пользователя с правами на обмен с 1С
  3. 3
    В 1С создайте узел обмена, укажите адрес страницы обмена, логин и пароль
  4. 4
    Настройте отбор товаров, типы цен и склады для выгрузки
  5. 5
    Задайте дерево групп для сайта, если оно отличается от учётной иерархии
  6. 6
    Выполните тестовое соединение и первую полную выгрузку
  7. 7
    Проверьте каталог на сайте и настройте расписание автоматического обмена

Выгрузка каталога, цен и остатков

Первая выгрузка всегда выполняется полной: 1С формирует файлы CommerceML с полным составом каталога, свойств, цен и остатков и передаёт их на сайт порциями. В зависимости от размера каталога процесс может занять от нескольких минут до нескольких часов — прерывать его не рекомендуется.

После первой успешной выгрузки включите режим выгрузки изменений: 1С будет передавать только новые и изменённые товары, что существенно снижает нагрузку. Расписание обмена настраивается либо штатным регламентным заданием 1С, либо через планировщик на стороне операционной системы с запуском обмена в пакетном режиме.

Остатки и цены обычно выгружаются чаще, чем полный каталог: для них в модуле предусмотрен отдельный режим «выгрузка предложений». Типичная схема — каталог с картинками раз в сутки, цены и остатки — каждые 15–60 минут в зависимости от оборачиваемости склада.

Если каталог большой (десятки тысяч позиций), увеличьте на сайте лимиты времени выполнения скриптов и размер принимаемых файлов, а в настройках обмена уменьшите размер порции — это снижает риск обрыва выгрузки по таймауту.
ПЗ
Практическое замечание

Ручная выгрузка через файл CommerceML

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

Полученные файлы импортируются на сайте вручную: в административном разделе Битрикса перейдите в «Контент → Инфоблоки → Импорт» или используйте страницу импорта CommerceML в настройках магазина, загрузите файлы и дождитесь обработки. Изображения при таком способе должны передаваться вместе с XML-файлами в одном архиве.

Этот способ подходит для первоначального наполнения магазина и для периодических обновлений каталога, но для оперативной синхронизации остатков он неудобен: каждое обновление требует ручных действий с обеих сторон.

Проверка результата и типичные ошибки

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

Наиболее частые проблемы: товары выгружаются, но не отображаются на сайте (обычно из-за снятого флага активности или отсутствия привязки к разделу сайта); дубли товаров при повторной выгрузке (возникают, если нарушена идентификация по внешнему коду — не меняйте вручную XML_ID товаров на сайте); ошибки авторизации при обмене (проверьте права пользователя и корректность адреса страницы обмена).

Отдельная группа проблем — обрывы выгрузки на больших каталогах. Признаки: обмен завершается ошибкой по таймауту, часть товаров не обновляется. Решается уменьшением размера порции в настройках обмена и увеличением лимитов PHP на сервере.

Типичные ошибки
01
Изменение XML_ID товаров на сайте вручную — при следующей выгрузке создаются дубли позиций
02
Выгрузка всех типов цен без отбора — на сайте появляются лишние цены и путаются настройки отображения
03
Первая выгрузка без резервной копии — ошибочные соответствия затирают существующий каталог
04
Игнорирование журнала ошибок обмена — часть товаров молча не выгружается из-за незаполненных обязательных полей
05
Слишком частая полная выгрузка вместо выгрузки изменений — перегрузка сайта и блокировки базы 1С
Контрольные точки

Как проверить результат обмена

Карточки товаров на сайте
Норма

Товары активны, в нужных разделах, с ценами и картинками

Тревожный признак

Товары есть в админке, но не видны покупателям или без цен

Остатки
Норма

Остаток на сайте совпадает с остатком в 1С по выбранным складам

Тревожный признак

На сайте ноль или устаревшие значения при наличии товара в 1С

Дубли номенклатуры
Норма

Каждой позиции 1С соответствует один товар на сайте

Тревожный признак

Один товар выгружен несколько раз с разными кодами

Журнал обмена в 1С
Норма

Обмен завершается без ошибок, все пакеты обработаны

Тревожный признак

Ошибки авторизации, таймауты, отказ в приёме файлов сайтом

Ограничения и когда нужна доработка

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

Также учитывайте, что типовой модуль ориентирован на определённые версии конфигураций: при обновлении 1С модуль обмена может потребовать обновления или адаптации. Перед обновлением конфигурации проверяйте совместимость установленной версии модуля.

Если объём доработок велик, альтернативой служат готовые отраслевые решения обмена или посредники-интеграторы, но их внедрение стоит оценивать по стоимости владения, а не только по цене старта.

Частые вопросы

Можно ли выгрузить товары из 1С в Битрикс без модуля обмена?

Да, через ручной экспорт в CommerceML или CSV с последующим импортом в административном разделе сайта. Это подходит для разового переноса, но не даёт автоматической синхронизации остатков, цен и заказов.

Почему товары выгрузились, но не отображаются на сайте?

Чаще всего товар неактивен, не привязан к разделу, доступному в публичной части, или у него нулевая цена по типу цен, используемому на сайте. Проверьте также права доступа к инфоблоку и настройки его отображения.

Как выгружать только часть номенклатуры?

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

Как часто нужно синхронизировать остатки?

Зависит от скорости продаж: при высокой оборачиваемости — каждые 15–30 минут, при умеренной достаточно 1–2 раз в час. Используйте режим выгрузки изменений, чтобы не нагружать сайт полными пакетами данных.

Что делать, если обмен обрывается по таймауту?

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

Итог

Что важно запомнить

Основной способ выгрузки товаров из 1С в Битрикс — типовой модуль обмена по CommerceML: настройте узел обмена, отборы и расписание, первую выгрузку делайте после резервного копирования, результат проверяйте по журналу обмена и выборочной сверке товаров, цен и остатков.