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

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

Как работает интеграция Битрикс и 1С

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

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

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

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

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

Данные передаются в виде XML-файлов формата CommerceML. Каталог товаров описывается в файле import.xml, цены и остатки — в offers.xml, заказы — в отдельных документах. Кроме файлового режима существует обмен в реальном времени (модуль «Обмен с сайтом в реальном времени»), при котором заказ передаётся в 1С сразу после оформления, а изменение остатка — сразу после проведения документа в 1С.

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

Что именно синхронизируется

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

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

УТ 10.3/11, КА, ERP, УНФ содержат его штатно; для самописных конфигураций нужна доработка

Структура каталогаРазделы ведутся в 1С

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

Пользователь обменаОтдельный аккаунт на сайте

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

Типы цен и складыСопоставление задано

Каждому типу цены на сайте должен соответствовать вид цен в 1С

Подготовка 1С и сайта к обмену

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

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

Пошаговая настройка обмена товарами

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

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

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

Синхронизация заказов и контрагентов

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

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

Режимы обмена: по расписанию и в реальном времени

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

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

Выбор режима обмена

По расписанию

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

Реальное время

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

Гибрид

Заказы мгновенно, каталог по расписанию; оптимален для большинства магазинов среднего размера

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

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

Типичные ошибки
01
Дубли товаров и разделов — следствие ручного заполнения каталога до первой выгрузки или изменения идентификаторов; лечится очисткой и повторной полной выгрузкой на чистый инфоблок
02
Ошибка авторизации при обмене — неверный логин/пароль или у пользователя нет права обмена; проверьте группу пользователя и не включён ли запрет по IP
03
Пустые цены на сайте — типу цены в 1С не сопоставлен тип цены на сайте или у товара не заполнена цена нужного вида
04
Дубли контрагентов в 1С — не настроены поля поиска контрагента; задайте поиск по ИНН/телефону/email
05
Обмен обрывается по таймауту на больших каталогах — увеличьте лимиты времени выполнения на сервере и включите пошаговую выгрузку частями
06
Картинки не загружаются — недостаточно прав на папку загрузки или файлы превышают лимит размера POST-запроса
Контрольные точки

Как проверить, что обмен работает

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

Появился на сайте с ценой, остатком и картинкой в правильном разделе

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

Дубли разделов, пустая цена, отсутствующее изображение

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

Создался в 1С с корректным контрагентом и составом

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

Заказ не пришёл или контрагент задублировался

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

Отгрузка в 1С изменила статус заказа на сайте

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

Статус на сайте не меняется

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

После продажи в 1С остаток на сайте уменьшился

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

Остаток «заморожен» или уходит в минус

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

Ограничения штатного механизма и альтернативы

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

Когда штатных возможностей не хватает, применяют альтернативы: доработку модуля обмена на стороне 1С, обмен через REST API Битрикса с собственной логикой, либо middleware-решения (шины данных, коннекторы), которые трансформируют данные между системами. Выбор зависит от объёма нестандартной логики: точечные отличия дешевле доработать в модуле, а комплексную интеграцию с несколькими системами разумнее строить на API.

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

Как выбрать подход

Типовая конфигурация 1С и стандартный каталогИспользуйте штатный модуль обмена — он покрывает потребность без программирования
Нужны нестандартные поля, документы или логика скидокДорабатывайте модуль обмена на стороне 1С с привлечением разработчика
Несколько сайтов, внешние системы, сложная маршрутизация данныхРассмотрите обмен через REST API или интеграционную шину
Самописная конфигурация 1СШтатный модуль не подойдёт — потребуется разработка обмена с нуля

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

Подходит ли интеграция для 1С:Бухгалтерии?

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

Насколько актуальны остатки на сайте при обмене по расписанию?

Остатки актуальны на момент последней выгрузки. При интервале 15 минут возможна ситуация, когда товар уже продан в офлайне, но на сайте ещё доступен. Для критичных позиций используют режим реального времени, резервирование или защитный порог остатка, при котором товар скрывается заранее.

Можно ли вести каталог на сайте, а не в 1С?

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

Безопасно ли хранить пароль пользователя обмена в 1С?

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

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

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

Нужен ли отдельный сервер для обмена?

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

Итог

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

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