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

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

Как сделать выгрузку из 1С в Битрикс

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

Выгрузка из 1С в Битрикс — это передача каталога товаров, цен, остатков и заказов между учётной системой и сайтом. В подавляющем большинстве случаев для этого не нужно программирование: в типовых конфигурациях 1С (Управление торговлей, УНФ, Комплексная автоматизация, ERP) есть встроенный механизм обмена с сайтом по протоколу CommerceML, а в «1С-Битрикс: Управление сайтом» — штатный приёмник этих данных. Задача администратора — правильно связать обе стороны и настроить расписание.

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

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

Что понадобится перед началом настройки

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

Также проверьте технические условия на хостинге: лимит времени выполнения PHP-скриптов, объём памяти и ограничение на размер загружаемых файлов. Большие каталоги выгружаются порциями, но при жёстких лимитах обмен может обрываться. Заранее сделайте резервную копию сайта и базы 1С — первая выгрузка способна перезаписать структуру каталога и свойства товаров.

Как включить приём обмена на стороне Битрикса

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

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

Адрес точки обмена, который нужно будет указать в 1С, обычно выглядит так: https://ваш-сайт.ru/bitrix/admin/1c_exchange.php. Проверьте, что этот URL открывается и не блокируется файрволом, настройками .htaccess или запретом доступа по IP.

Как создать узел обмена в 1С

В 1С перейдите в раздел настройки интеграции с сайтом: в Управлении торговлей это «Администрирование → Синхронизация данных → Обмен с сайтом», в УНФ — «Компания → Интеграция с сайтом». Создайте новый узел обмена и заполните параметры подключения: адрес сайта (указанный выше URL точки обмена), имя пользователя и пароль технической учётной записи с правами на обмен.

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

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

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

Режимы обмена: полная выгрузка и выгрузка изменений

Типовой обмен поддерживает два режима. Полная выгрузка передаёт весь отобранный каталог — она нужна при первом запуске и после серьёзных изменений структуры. Выгрузка только изменений передаёт товары, которые менялись с момента последнего успешного обмена, — этот режим используется для регулярной синхронизации и работает заметно быстрее.

Для регулярной работы настройте расписание: в 1С обмен можно запускать регламентным заданием (например, каждые 15–30 минут для остатков и цен), а полную выгрузку каталога делать реже. Учтите, что механизм регистрации изменений фиксирует только изменения, сделанные после настройки узла обмена, — поэтому после создания узла первый обмен всегда выполняйте полным.

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

Варианты обмена 1С и Битрикса

Типовой обмен CommerceML

Встроен в конфигурации 1С и Битрикс. Подходит для каталогов, цен, остатков и заказов. Ограничение — гибкость: нестандартные поля потребуют доработки.

Модуль обмена от 1С-Битрикс

Расширенный модуль для УТ/ERP с дополнительными возможностями: выгрузка в высоконагруженные каталоги, гибкие отборы. Требует установки и обновления модуля в 1С.

Обмен через CSV/XML-файлы

Ручная или регламентная выгрузка файлов и их импорт на сайт. Подходит как временное решение или для простых каталогов; нет автоматической двусторонней синхронизации заказов.

REST API Битрикс

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

Как проверить, что выгрузка прошла корректно

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

Для диагностики используйте журналы обеих сторон: в 1С — сообщения обмена в форме узла, в Битриксе — логи обмена и временные файлы в каталоге загрузки. Если обмен прервался, в логе видно, на каком шаге и с какой ошибкой это произошло.

Контрольные точки

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

Товары в каталоге сайта
Норма

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

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

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

Картинки товаров
Норма

Изображения отображаются в карточках

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

Картинки отсутствуют — проверьте лимиты загрузки файлов

Заказы с сайта в 1С
Норма

Заказ создаётся с позициями и контрагентом

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

Заказы не появляются — проверьте права и настройки обмена заказами

Повторный обмен
Норма

Передаются только изменения, обмен быстрый

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

Каждый раз идёт полная выгрузка — сбита регистрация изменений

Типичные ошибки и как их исправить

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

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

Типичные ошибки
01
Запуск полной выгрузки без копии сайта — потеря вручную наполненного каталога
02
Неверное соответствие типов цен — на сайте нулевые или устаревшие цены
03
Обмен по HTTP вместо HTTPS или с невалидным сертификатом — обрыв соединения
04
Слишком большие порции при слабом хостинге — обмен падает по таймауту
05
Ручное создание товаров на сайте до обмена — дубли позиций после синхронизации

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

Можно ли выгружать из 1С в облачный Битрикс24?

Да, но механизм другой: облачный Битрикс24 использует собственный модуль синхронизации с 1С (через «1С-Битрикс: Интеграция» или коннектор), а не классический 1c_exchange.php. Настройка выполняется из раздела интеграций Битрикс24, состав передаваемых данных отличается — ориентируйтесь на документацию конкретного коннектора.

Как выгрузить только часть товаров, а не весь каталог?

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

Почему цены выгрузились, а остатки — нет?

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

Как часто нужно запускать обмен?

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

Что делать, если обмен обрывается на большом каталоге?

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

Итог

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

Штатная выгрузка из 1С в Битрикс настраивается связкой «приём обмена на сайте + узел обмена в 1С» по протоколу CommerceML. Ключевые точки контроля: права технического пользователя, соответствие цен и складов, тестовая выгрузка на копии сайта и регулярная проверка логов. Нестандартные задачи решаются модулем обмена от 1С-Битрикс или интеграцией через REST API.