Автоматизация · 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 или службы доставки, и нужна единая точка маршрутизации данных.
Сравнение вариантов
Быстрый запуск без программирования; ограничение — обмен по расписанию и типовая логика
Реальное время и любая логика; требует разработки и поддержки кода
Подходит при связке нескольких систем; добавляет абонентскую плату и зависимость от сервиса
Подготовка: что проверить до настройки
Большинство проблем с обменом закладывается ещё до первой выгрузки. Проверьте обе системы по списку ниже.
Со стороны 1С: конфигурация поддерживает обмен с сайтами (актуальная «Управление торговлей 11», КА 2, ERP 2 или УНФ); номенклатура заполнена корректно — у товаров есть наименования, цены нужного типа, указаны единицы измерения; нет массовых дублей номенклатуры и контрагентов. Дубли в 1С гарантированно превратятся в дубли на сайте.
Со стороны сайта: установлены актуальные обновления модуля «Интернет-магазин» и «Торговый каталог»; создан инфоблок каталога и инфоблок торговых предложений, если используются характеристики (размеры, цвета); настроен хотя бы один тип цен и склад. Также убедитесь, что сервер выдерживает обмен: выгрузка большого каталога — ресурсоёмкая операция, и на слабом хостинге она может обрываться по таймауту.
Настройка приёма обмена на стороне Битрикса
В административном разделе сайта перейдите в «Магазин → Настройки → Интеграция с 1С» (в некоторых версиях — «Настройки → Настройки продукта → Настройки модулей → Интернет-магазин», вкладка обмена). Здесь задаются параметры приёма данных.
Укажите группы пользователей, которым разрешён обмен (обычно создают отдельного служебного пользователя с правами на обмен), настройте действия с товарами, отсутствующими в выгрузке: деактивировать, удалить или оставить без изменений. Для остатков и цен задайте соответствие типам цен и складам сайта.
Обратите внимание на параметр «Использовать контрольные суммы элементов для оптимизации обновления каталога» — он ускоряет повторные выгрузки, так как изменяются только фактически изменённые товары. Также проверьте лимит времени на шаг обмена: на медленном хостинге большие файлы обрабатываются порциями.
Настройка узла обмена в 1С
В 1С откройте раздел настройки синхронизации данных (в УТ 11: «Администрирование → Синхронизация данных → Обмен с сайтом») и создайте новый узел обмена. Укажите адрес точки входа на сайте — обычно это https://ваш-сайт/bitrix/admin/1c_exchange.php — и данные служебного пользователя, созданного на предыдущем шаге.
Настройте отбор выгружаемых данных: какие группы номенклатуры, типы цен и склады участвуют в обмене. Если каталог большой, включите режим «Выгружать только изменения» — полная выгрузка будет происходить только при первом запуске или при принудительном сбросе.
На вкладке обмена заказами задайте соответствие статусов: какой статус заказа на сайте означает «принят в работу», какие статусы передаются обратно. Настройте расписание автоматического обмена — например, заказы каждые 10 минут, остатки каждый час, полный каталог раз в сутки ночью.
- 1Обновите 1С и Битрикс, почистите дубли номенклатуры и контрагентов
- 2Создайте на сайте служебного пользователя и разрешите ему обмен
- 3Создайте в 1С узел обмена, укажите адрес точки входа и логин
- 4Настройте отбор товаров, типы цен, склады и соответствие статусов
- 5Выполните первую выгрузку на тестовой копии и проверьте результат
- 6Включите обмен по расписанию и перенесите настройки на рабочую среду
Проверка результата и контроль качества обмена
После первой выгрузки проверьте не только факт появления товаров, но и корректность данных. Сверьте выборочно 10–15 позиций: цена, остаток, набор свойств, картинки, принадлежность к разделам. Особое внимание — товарам с характеристиками: торговые предложения должны быть привязаны к родительскому товару, а не создаваться отдельными карточками.
Затем оформите тестовый заказ на сайте и убедитесь, что он появился в 1С с верным составом, контрагентом и суммой. Измените статус заказа в 1С и проверьте, что статус обновился на сайте. Только после успешного полного цикла обмен можно считать настроенным.
Как проверить результат
Совпадают с типом цен из 1С у выборочных товаров
Цены нулевые, старые или у части товаров отсутствуют
Количество совпадает с остатком по складу в 1С
Товары «в наличии» при нулевом остатке или наоборот
Заказ с сайта создаёт документ в 1С с верным составом
Заказы не приходят, дублируются или теряют позиции
Предложения привязаны к товару, выбор размера/цвета работает
Каждая характеристика стала отдельным товаром
Типичные ошибки и их последствия
Чаще всего обмен ломается не из-за самого механизма, а из-за данных и окружения. Характерный пример — обрыв выгрузки большого каталога: файл не успевает обработаться за отведённое время, и каталог оказывается выгружен частично. Решение — увеличить лимиты PHP, включить пошаговую обработку и выгружать изменения вместо полного каталога.
Вторая группа проблем — рассинхронизация из-за ручных правок. Если контент-менеджер редактирует цены или описания прямо на сайте, следующая выгрузка из 1С перезапишет их. Договоритесь о едином источнике истины: цены и остатки — только в 1С, маркетинговые описания можно вести на сайте, если они не входят в состав выгрузки.
Ограничения типового обмена и когда нужна доработка
Типовой механизм не работает в реальном времени: между изменением остатка в 1С и его появлением на сайте всегда есть пауза, равная интервалу расписания. Для магазинов с быстрой оборачиваемостью и параллельными продажами в рознице это критично — возможны заказы на уже проданный товар. В таких случаях остатки по горячим позициям синхронизируют через REST API по событию.
Доработка также понадобится при нестандартной логике: персональные цены по договорам для B2B, выгрузка только части свойств, многоскладская логика с резервированием, обмен с самописной или сильно переписанной конфигурацией 1С. Здесь типовой узел обмена используют как основу и расширяют обработчиками, либо строят обмен полностью на API.
Как выбрать действие
Часто задаваемые вопросы
Можно ли связать Битрикс с 1С:Управление торговлей 10.3?
Да, для УТ 10.3 существует механизм обмена с сайтом, совместимый с CommerceML. Однако конфигурация снята с активной поддержки, поэтому для новых проектов разумнее планировать переход на УТ 11 или КА 2, где модуль обмена развивается и поддерживает актуальные возможности Битрикса.
Как часто нужно выгружать остатки на сайт?
Зависит от оборачиваемости. Для большинства магазинов достаточно интервала 15–60 минут. Если товар продаётся параллельно в рознице и остатки маленькие, сокращайте интервал или внедряйте проверку остатка через API в момент оформления заказа.
Почему после обмена на сайте появились дубли товаров?
Основные причины: дубли номенклатуры в самой 1С, смена реквизита, по которому идёт сопоставление, или выгрузка одного товара в разные узлы обмена. Проверьте базу 1С на дубли и не меняйте состав узла обмена после первой выгрузки.
Что делать, если обмен обрывается на большом каталоге?
Включите выгрузку только изменений, увеличьте лимиты времени исполнения на хостинге, убедитесь, что включён пошаговый режим обработки файлов. Если каталог очень большой, разбейте выгрузку на несколько узлов по разделам.
Перезапишет ли выгрузка из 1С описания товаров на сайте?
Да, если описания входят в состав выгрузки. Чтобы сохранить SEO-тексты, подготовленные на сайте, либо исключите описания из обмена, либо храните их в 1С и редактируйте только там. Правило одно: каждое поле должно иметь единственный источник изменений.
Что важно запомнить
Типовой обмен 1С и Битрикса по CommerceML закрывает основные задачи магазина: каталог, цены, остатки и заказы. Настраивайте его на тестовых копиях, чистите данные в 1С заранее, назначьте единый источник правды для каждого поля и проверяйте полный цикл — от выгрузки товара до смены статуса заказа. Реальное время и нестандартная логика требуют доработки через REST API.