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

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

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

Настройка обмена заказами между 1С-Битрикс и 1С:Управление торговлей: модуль обмена, CommerceML, типовые ошибки и проверка результата выгрузки.

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

Есть два принципиально разных пути: типовой модуль обмена, который устанавливается в 1С и работает по протоколу CommerceML, и ручная/разработческая выгрузка через файлы XML или REST API. Для большинства магазинов достаточно типового модуля — он бесплатен, поддерживается 1С и закрывает стандартные сценарии. Кастомная разработка оправдана только при нестандартной логике: несколько складов с разными правилами резервирования, нестандартные статусы, обмен с самописной конфигурацией.

Ниже разобран полный цикл: подготовка, установка модуля, настройка обмена, проверка результата и типовые ошибки. Инструкция ориентирована на связку «Битрикс + 1С:Управление торговлей 11», но принципы одинаковы для других конфигураций.

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

До установки модуля убедитесь, что обе системы готовы к обмену. На стороне сайта нужен «1С-Битрикс: Управление сайтом» редакции, где доступен интернет-магазин (модуль «Интернет-магазин (sale)»), и актуальная версия ядра — старые версии могут быть несовместимы с новыми модулями обмена. На стороне 1С нужна конфигурация на управляемых формах: УТ 11, КА 2, ERP 2 или УНФ.

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

Определите, какие данные должны передаваться: только новые заказы или также изменения, нужно ли выгружать оплаты и отгрузки, как обрабатывать контрагентов (создавать новых или привязывать к существующим по ИНН/телефону). От этих решений зависит настройка профиля обмена.

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

Модуль обмена с сайтом скачивается с официального портала 1С (раздел обновлений конфигураций) или устанавливается из встроенного механизма, если конфигурация уже содержит узел обмена с сайтом. В УТ 11 путь такой: «Администрирование → Синхронизация данных → Обмен с сайтами». Включите функциональную опцию «Обмен с сайтом» — появится возможность создать узел обмена.

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

После установки создайте новый узел обмена и заполните базовые параметры: адрес сайта в формате https://ваш-сайт.ru/bitrix/admin/1c_exchange.php, имя пользователя и пароль для обмена. Кнопка «Проверить соединение» сразу покажет, доступен ли сайт и верны ли учётные данные.

Порядок действий при настройке узла обмена
  1. 1
    Включите обмен с сайтом в разделе «Администрирование → Синхронизация данных»
  2. 2
    Создайте узел обмена и укажите адрес https://сайт/bitrix/admin/1c_exchange.php
  3. 3
    Введите логин и пароль пользователя Битрикса с правом на обмен
  4. 4
    Нажмите «Проверить соединение» и устраните ошибки доступа
  5. 5
    Настройте отбор заказов, соответствие статусов и расписание
  6. 6
    Выполните тестовый обмен и проверьте созданный заказ в 1С

Настройка параметров выгрузки заказов

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

Третий блок — соответствие статусов. Статусы заказа в Битриксе (N — принят, P — оплачен, F — выполнен и т.д.) нужно сопоставить статусам заказа покупателя в 1С. Это важно и для обратной выгрузки: когда менеджер переводит заказ в 1С в состояние «К отгрузке», на сайте заказ должен сменить статус, чтобы покупатель видел актуальную информацию.

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

Контрагенты и номенклатура: как избежать дублей

При загрузке заказа 1С ищет контрагента по правилам поиска, заданным в модуле: по ИНН, наименованию, телефону или e-mail. Если покупатель — физическое лицо, а поиск настроен только по ИНН, каждый заказ создаст нового контрагента. Для розничных магазинов часто используют единого «Розничного покупателя», к которому привязываются все заказы физлиц, а реквизиты хранятся в дополнительных сведениях заказа.

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

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

Типичные ошибки
01
Сначала включают обмен заказами, а каталог не выгружали — товары в заказах не сопоставляются и создаются дубли номенклатуры
02
Используют учётную запись администратора для обмена — риск компрометации всего сайта при утечке пароля
03
Не настраивают поиск контрагентов — база 1С засоряется сотнями дублей покупателей
04
Забывают про часовые пояса сервера сайта и 1С — заказы загружаются со сдвигом по дате
05
Включают автосоздание документов оплаты до проверки загрузки заказов — получают ошибочные финансовые документы

Регламентный обмен и ручная выгрузка

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

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

Альтернатива модулю — выгрузка через REST API Битрикса: методы sale.order.list и sale.order.get отдают заказы в JSON, который затем обрабатывается внешней обработкой 1С или промежуточным сервисом. Этот путь требует разработки, но даёт полный контроль над логикой: фильтрация по любым полям, обогащение данных, интеграция с самописными конфигурациями.

Сравнение способов выгрузки

Типовой модуль обмена

Подходит для типовых УТ 11, КА 2, ERP. Быстрый старт, поддержка статусов и оплат. Ограничение: нестандартная логика требует доработки модуля

REST API Битрикса + своя обработка

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

Обмен файлами CommerceML вручную

Экспорт заказов из админки Битрикса в XML и загрузка обработкой в 1С. Подходит как временное решение при малом числе заказов

Готовые коннекторы и сервисы интеграции

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

Проверка результата и диагностика проблем

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

Если заказы не загружаются, смотрите журнал обмена: в 1С это протокол обмена в форме узла, на сайте — логи в разделе «Настройки → Инструменты → Журнал событий» и файл обмена в каталоге /upload/1c_exchange/. Типовые причины сбоев: неверный адрес эндпоинта, истёкшая сессия авторизации, ограничение времени выполнения скрипта на хостинге (большие пакеты заказов обрываются по таймауту), блокировка по IP на стороне сервера.

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

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

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

Заказ в 1С
Норма

Документ создан, товары и суммы совпадают с сайтом, контрагент найден или создан корректно

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

Дубли контрагентов, пустые строки товаров, расхождение сумм

Статус на сайте
Норма

Статус заказа изменился согласно сопоставлению после обмена

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

Статус не меняется или сбрасывается на начальный

Протокол обмена
Норма

«Обмен завершён успешно», загружено ожидаемое число заказов

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

Ошибки авторизации, таймауты, ответ «failure» от сайта

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

Тот же заказ обновляется, новых дублей нет

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

При каждом обмене создаются новые документы

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

Итог

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

Обмен заказами Битрикс ↔ 1С настраивается типовым модулем через эндпоинт /bitrix/admin/1c_exchange.php. Порядок внедрения: сначала выгрузка каталога из 1С на сайт, затем настройка узла обмена, сопоставление статусов и правил поиска контрагентов, тест на копии базы и только потом регламентный обмен на рабочей базе.

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

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

Да. В административном разделе Битрикса заказы можно экспортировать в XML формата CommerceML через список заказов, а в 1С загрузить файл типовой или внешней обработкой. Это подходит для разового переноса, но не для регулярной работы: статусы и оплаты вручную синхронизировать не получится.

Почему при обмене создаются дубли контрагентов?

Правила поиска контрагента в настройках модуля не совпадают с реальными данными. Например, поиск настроен по ИНН, а покупатели — физические лица без ИНН. Настройте поиск по телефону и e-mail либо привязывайте всех розничных покупателей к одному контрагенту.

Заказы загружаются, но без товаров. В чём причина?

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

Как часто стоит запускать регламентный обмен заказами?

Для большинства магазинов достаточно интервала 5–15 минут. Более частый обмен не ускоряет обработку заказов менеджерами, но увеличивает нагрузку на сайт и базу 1С. Если нужна почти мгновенная передача, рассмотрите обмен по событию через REST API.

Обрывается обмен по таймауту на большом количестве заказов. Что делать?

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

Передаются ли из Битрикса в 1С данные об оплате и доставке?

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