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

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

Как связать Битрикс и 1С: настройка обмена данными

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

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

Обмен строится по протоколу CommerceML — стандартизированному формату XML-файлов, который понимают обе системы. Товары, цены и остатки выгружаются из 1С на сайт, заказы и контрагенты движутся в обратную сторону. В типовых конфигурациях 1С (Управление торговлей, Комплексная автоматизация, ERP) модуль обмена уже встроен или устанавливается отдельным дополнением.

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

Какие данные передаются между 1С и Битриксом

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

Из 1С на сайт: номенклатура с характеристиками, структура разделов каталога, цены по типам цен, остатки по складам, свойства товаров, изображения. С сайта в 1С: заказы с составом и статусами оплаты, данные покупателей (контрагенты), отмены заказов.

Дополнительно могут передаваться статусы заказов из 1С обратно на сайт (чтобы покупатель видел «Собран», «Отгружен»), документы отгрузки и оплаты, а также контрагенты из 1С для B2B-портала с персональными ценами. Чем шире состав обмена, тем важнее продумать периодичность: полная выгрузка каталога обычно делается раз в сутки, а остатки и заказы — каждые 5–30 минут.

Выбор способа интеграции

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

Типовой модуль обмена с сайтом — встроен в «Управление торговлей 11», «Комплексную автоматизацию» и ERP, для «Управления торговлей 10.3» и «Управления небольшой фирмой» есть совместимые механизмы. Не требует программирования, покрывает 90% задач интернет-магазина. Ограничение: работает по расписанию, а не в реальном времени, и плохо поддаётся нестандартной логике.

REST API Битрикса — обмен напрямую через веб-хуки или приложение. Подходит для обмена в реальном времени (например, мгновенная проверка остатка при добавлении в корзину) и нестандартных сущностей. Требует разработки на стороне 1С или middleware.

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

Сравнение вариантов

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

Быстрый запуск без программирования; ограничение — обмен по расписанию и типовая логика

REST API Битрикса

Реальное время и любая логика; требует разработки и поддержки кода

Облачный коннектор

Подходит при связке нескольких систем; добавляет абонентскую плату и зависимость от сервиса

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

Большинство проблем с обменом закладывается ещё до первой выгрузки. Проверьте обе системы по списку ниже.

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

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

Настройка приёма обмена на стороне Битрикса

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

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

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

Настройка узла обмена в 1С

В 1С откройте раздел настройки синхронизации данных (в УТ 11: «Администрирование → Синхронизация данных → Обмен с сайтом») и создайте новый узел обмена. Укажите адрес точки входа на сайте — обычно это https://ваш-сайт/bitrix/admin/1c_exchange.php — и данные служебного пользователя, созданного на предыдущем шаге.

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

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

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

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

После первой выгрузки проверьте не только факт появления товаров, но и корректность данных. Сверьте выборочно 10–15 позиций: цена, остаток, набор свойств, картинки, принадлежность к разделам. Особое внимание — товарам с характеристиками: торговые предложения должны быть привязаны к родительскому товару, а не создаваться отдельными карточками.

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

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

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

Цены на сайте
Норма

Совпадают с типом цен из 1С у выборочных товаров

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

Цены нулевые, старые или у части товаров отсутствуют

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

Количество совпадает с остатком по складу в 1С

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

Товары «в наличии» при нулевом остатке или наоборот

Заказы
Норма

Заказ с сайта создаёт документ в 1С с верным составом

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

Заказы не приходят, дублируются или теряют позиции

Характеристики
Норма

Предложения привязаны к товару, выбор размера/цвета работает

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

Каждая характеристика стала отдельным товаром

Типичные ошибки и их последствия

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

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

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

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

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

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

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

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

Стандартный интернет-магазин на УТ 11, КА или ERPИспользуйте типовой узел обмена — доработки не нужны
Нужны остатки в реальном времени при оформлении заказаДобавьте обмен через REST API по событию для остатков
B2B-портал с персональными ценами по договорамПланируйте доработку выгрузки контрагентов и соглашений
Кроме сайта есть маркетплейсы и CRMРассмотрите связку через промежуточный интеграционный сервис

Часто задаваемые вопросы

Можно ли связать Битрикс с 1С:Управление торговлей 10.3?

Да, для УТ 10.3 существует механизм обмена с сайтом, совместимый с CommerceML. Однако конфигурация снята с активной поддержки, поэтому для новых проектов разумнее планировать переход на УТ 11 или КА 2, где модуль обмена развивается и поддерживает актуальные возможности Битрикса.

Как часто нужно выгружать остатки на сайт?

Зависит от оборачиваемости. Для большинства магазинов достаточно интервала 15–60 минут. Если товар продаётся параллельно в рознице и остатки маленькие, сокращайте интервал или внедряйте проверку остатка через API в момент оформления заказа.

Почему после обмена на сайте появились дубли товаров?

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

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

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

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

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

Итог

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

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