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

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

Как передаются заказы из Битрикс в 1С

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

Интернет-магазин на «1С-Битрикс: Управление сайтом» и учётная система на «1С: Управление торговлей» или «1С: Комплексная автоматизация» работают в связке через штатный механизм обмена. Заказ, оформленный покупателем на сайте, не попадает в 1С мгновенно «сам по себе»: его передаёт специальный модуль обмена, который формирует файл в формате CommerceML и отправляет его в 1С по расписанию или в реальном времени. Понимание этой цепочки помогает правильно настроить интеграцию и быстро находить причину, когда заказы «теряются».

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

Как устроен обмен заказами между Битрикс и 1С

В основе интеграции лежит открытый формат CommerceML — XML-стандарт, разработанный специально для обмена коммерческими данными между сайтами и учётными системами. Битрикс выгружает заказ в виде XML-документа, где указаны состав заказа, покупатель, контакты, способ доставки, оплата и служебные идентификаторы. 1С принимает этот документ, создаёт на его основе документ «Заказ покупателя» и связывает его с контрагентом и номенклатурой.

Технически обмен инициируется со стороны 1С: она обращается по HTTPS к специальному скрипту сайта (типовой путь вида /bitrix/admin/1c_exchange.php), проходит авторизацию и запрашивает новые заказы. Битрикс отдаёт только те заказы, которые ещё не выгружались или изменились с прошлого сеанса — это снижает нагрузку и исключает дубли при корректной настройке.

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

Способы передачи заказов: сравнение вариантов

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

Способы передачи заказов

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

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

Обмен в реальном времени

Заказ уходит в 1С сразу после оформления. Требует включённого режима реального времени и стабильного канала; при недоступности 1С заказ ждёт следующего сеанса.

Самописная интеграция через REST API

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

Готовые коннекторы и middleware

Внешние сервисы-шины связывают Битрикс и 1С без доработок. Подходят при сложном ландшафте систем, но добавляют ещё одну точку отказа и расходы на подписку.

Для типового магазина без нестандартных бизнес-процессов оптимален штатный модуль обмена: он покрывает заказы, контрагентов, оплаты, отгрузки и статусы. Кастомную разработку стоит закладывать только когда типовой маппинг полей принципиально не закрывает задачу — например, когда заказ должен сразу превращаться в специфический документ с нестандартными реквизитами.

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

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

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

Версия модуля обменаСовместимость с конфигурацией

Сверьте версию модуля обмена с релизом вашей 1С — несовместимость даёт ошибки формата при загрузке.

HTTPS на сайтеОбязательное условие

Проверьте, что сайт открывается по https:// и сертификат действителен.

Права пользователя обменаОтдельная учётная запись

Создайте на сайте отдельного пользователя для обмена с правами только на выгрузку заказов.

Статусы заказовМаппинг двух систем

Выпишите статусы заказов в Битрикс и решите, каким состояниям в 1С они соответствуют.

Настройка обмена на стороне сайта

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

Основные настройки, которые нужно заполнить:

  • Выгружать только оплаченные заказы — включайте, если в 1С должны попадать только подтверждённые продажи. Для большинства магазинов опцию оставляют выключенной, чтобы менеджеры видели все заказы.
  • Выгружать заказы только с разрешённой доставкой — аналогичный фильтр по отгрузке.
  • Выгружать заказы начиная с заказа № — позволяет не тащить в 1С старые тестовые заказы.
  • Сайт, заказы которого выгружать — актуально при многосайтовости.
  • Заменять валюту при выгрузке — если в 1С валюта документов отличается от валюты сайта.

Отдельно создайте пользователя, от имени которого 1С будет обращаться к сайту. Не используйте учётную запись администратора: пользователю обмена достаточно прав на экспорт заказов. Это ограничит ущерб в случае компрометации пароля, который хранится в настройках 1С.

Настройка на стороне 1С

В 1С откройте настройку обмена с сайтом: в «Управлении торговлей» это обычно раздел «Администрирование → Обмен с сайтами» либо «CRM и маркетинг → Обмен с сайтом» в зависимости от релиза. Создайте новый узел обмена и укажите параметры подключения.

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

Ключевой блок настройки — соответствие данных. Определите, как 1С будет искать контрагентов: по ИНН и КПП для юридических лиц, по телефону или email для физических. Неверный выбор критерия поиска — главная причина дублей контрагентов. Для номенклатуры убедитесь, что товары на сайте и в 1С связаны одинаковыми идентификаторами (обычно связь устанавливается при первой выгрузке каталога из 1С на сайт).

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

Проверка результата после запуска

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

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

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

Документ в 1С
Норма

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

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

Заказ не появился или создан с пустым составом — смотрите журнал обмена

Контрагент
Норма

Покупатель привязан к существующему контрагенту или создан один новый

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

На каждый заказ создаётся новый дубль контрагента

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

Тот же заказ не загружается повторно без изменений

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

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

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

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

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

Статус не меняется — проверьте маппинг статусов в узле обмена

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

Типичные ошибки и ограничения обмена

Большинство проблем интеграции сводится к нескольким повторяющимся сценариям. Их знание экономит часы диагностики.

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

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

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

Что делать, если заказы не приходят в 1С

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

Маршрут решения

Как выбрать действие

Ошибка авторизации при проверке соединенияПроверьте логин/пароль пользователя обмена и его права на сайте
Соединение успешно, но заказов нет в файле обменаПроверьте фильтры выгрузки в Битрикс: оплата, доставка, номер начального заказа
Заказ загружается, но без товаровПроверьте связь номенклатуры по идентификаторам; при ручном заведении товаров выполните сопоставление
Заказы дублируются при каждом сеансеПроверьте, что 1С отправляет подтверждение загрузки, а сайт проставляет признак выгрузки
Обмен по расписанию не срабатываетПроверьте регламентное задание в 1С и отсутствие блокировок сеансов

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

Итог

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

Заказы из Битрикс в 1С передаются штатным модулем обмена в формате CommerceML по расписанию или в реальном времени. Успех интеграции определяется тремя вещами: корректным маппингом контрагентов и номенклатуры, согласованными статусами и тестовым обменом на копии базы перед боевым запуском.

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

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

Технических ограничений на частоту нет: при небольшом числе заказов интервал в 5–15 минут не создаёт заметной нагрузки. Если нужна мгновенная передача, используйте режим реального времени, но убедитесь, что 1С доступна для входящих подключений с сайта.

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

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

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

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

Можно ли передавать заказы из Битрикс24, а не из «Управления сайтом»?

Да, для Битрикс24 существует отдельная интеграция с 1С через коннектор, синхронизирующий счета, сделки и товары. Механизм отличается от обмена CommerceML и настраивается в разделе интеграций Битрикс24.

Почему контрагент создаётся дублем, хотя он уже есть в 1С?

Критерий поиска контрагента в настройках обмена не срабатывает: например, поиск настроен по ИНН, а у физического лица ИНН не заполнен. Настройте несколько критериев поиска (телефон, email) и приведите данные покупателей к единому формату.

Безопасно ли хранить пароль от сайта в настройках 1С?

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