Автоматизация · 10 мин
Как подключить Битрикс к 1С: настройка обмена данными
Как подключить Битрикс к 1С: выбор модуля обмена, настройка выгрузки товаров и заказов, типовые ошибки и проверка результата. Пошаговая инструкция.
Интеграция сайта на «1С-Битрикс: Управление сайтом» с учётной системой 1С решает три задачи: выгрузка каталога товаров и цен на сайт, передача заказов с сайта в 1С и синхронизация остатков. Без обмена менеджеры вынуждены вручную переносить заказы и обновлять цены, что приводит к ошибкам и расхождениям между сайтом и учётом.
Стандартный способ подключения — штатный модуль обмена с сайтом, который встроен в типовые конфигурации 1С (Управление торговлей, Управление нашей фирмой, Комплексная автоматизация, ERP). Обмен работает по протоколу CommerceML: 1С формирует XML-файлы и передаёт их на сайт через HTTP, либо сайт сам инициирует сеанс обмена.
Перед началом работы убедитесь, что редакция Битрикс поддерживает интернет-магазин (начиная с «Малый бизнес»), а конфигурация 1С содержит подсистему обмена с сайтами. Также проверьте, что сайт доступен по HTTPS — многие хостинги и сами настройки 1С требуют защищённого соединения.
Что понадобится перед настройкой
Со стороны сайта потребуется учётная запись пользователя Битрикс с правами на выполнение обмена. Рекомендуется создать отдельного пользователя (например, exchange) и включить его в группу, которой разрешён обмен с 1С, а не использовать учётную запись администратора — так безопаснее и проще отзывать доступ.
Со стороны 1С нужны права на настройку обмена данными и актуальная версия конфигурации. В старых релизах модуль обмена может не поддерживать актуальные возможности Битрикс (например, работу с несколькими типами цен или складами). Если конфигурация давно не обновлялась, сначала обновите её на тестовой копии.
Также проверьте инфраструктуру: сервер 1С должен иметь доступ в интернет к адресу сайта, файрвол не должен блокировать исходящие HTTPS-соединения, а на стороне хостинга — входящие запросы к скрипту обмена. Если сайт защищён базовой HTTP-авторизацией или WAF, добавьте исключения для пути обмена.
Настройка со стороны сайта Битрикс
В административном разделе Битрикс откройте «Настройки → Настройки продукта → Настройки модулей» и проверьте, что установлены модули «Интернет-магазин» и «Информационные блоки». Затем перейдите в «Магазин → Настройки → Интеграция с 1С» (в разных версиях путь может немного отличаться).
На вкладке интеграции укажите группу пользователей, которым разрешён обмен, максимальный размер файла обмена, интервал одного шага загрузки и режим обработки заказов. Здесь же задаётся, что делать с товарами, отсутствующими в файле импорта: ничего не делать, деактивировать или удалять. Для первого запуска безопаснее выбрать «ничего не делать».
Отдельно настройте инфоблоки: определите, в какой инфоблок будут выгружаться товары и предложения (SKU), какие свойства будут сопоставляться. Если каталог на сайте уже существует, важно, чтобы внешние коды (XML_ID) элементов совпадали с кодами из 1С — иначе обмен создаст дубли товаров.
Создание узла обмена в 1С
В типовой конфигурации откройте раздел «Администрирование → Синхронизация данных» и включите опцию обмена с сайтом. Создайте новый узел обмена: «Синхронизация данных → Настройки синхронизации данных → Создать → Обмен с сайтом» (в УТ 11 путь может называться «CRM и продажи → Настройки интеграции с сайтом»).
В настройках узла укажите адрес скрипта обмена вида https://ваш-сайт.ru/bitrix/admin/1c_exchange.php, имя пользователя и пароль, созданные на предыдущем шаге. Нажмите «Проверить соединение» — 1С выполнит тестовый запрос и сообщит, удалось ли авторизоваться.
Далее настройте состав выгрузки: отбор товаров (по организации, складу, группе номенклатуры), выгружаемые типы цен и склады для остатков. На вкладке обмена заказами укажите, какие статусы заказов загружать с сайта, какого контрагента подставлять по умолчанию и как создавать новых покупателей.
- 1Создайте резервные копии базы 1С и сайта
- 2В Битрикс заведите пользователя для обмена и выдайте права
- 3В 1С создайте узел обмена с сайтом и укажите URL скрипта обмена
- 4Проверьте соединение кнопкой теста
- 5Настройте отбор товаров, цены и склады
- 6Выполните полную выгрузку на тестовый сайт
- 7Проверьте каталог, цены и остатки, затем настройте обмен заказами
- 8Включите регламентный обмен по расписанию
Первый запуск и проверка обмена
Первую выгрузку запускайте вручную из 1С кнопкой «Выполнить обмен». Полная выгрузка большого каталога может занять заметное время и выполняется порциями — это нормально. Следите за журналом обмена: в нём фиксируются ошибки передачи файлов, таймауты и отказы авторизации.
После завершения проверьте результат на сайте: появились ли разделы каталога, товары, цены и остатки, корректно ли выгрузились картинки и характеристики. Затем оформите тестовый заказ на сайте и убедитесь, что он загрузился в 1С с правильным контрагентом, составом и статусом.
Как проверить результат
Разделы и товары совпадают с отбором в 1С, цены и остатки актуальны
Дубли товаров, пустые цены, пропавшие картинки
Тестовый заказ появился в 1С с корректным составом и покупателем
Заказы не приходят или создаются дубли контрагентов
Сеансы завершаются без ошибок, файлы передаются полностью
Таймауты, ошибки 401/403, обрывы на больших файлах
Регламентный обмен по расписанию
После успешного ручного обмена настройте автоматический. В узле обмена 1С включите «Обмен по расписанию» и задайте периодичность: для остатков и цен обычно достаточно интервала от 15 минут до нескольких часов, заказы имеет смысл забирать чаще.
Используйте режим «выгружать только изменения» — он существенно снижает нагрузку, так как в каждом сеансе передаются только изменённые товары, а не весь каталог. Полную выгрузку оставьте для разовых операций и восстановления после сбоев.
Учтите, что регламентный обмен выполняется от имени фонового задания 1С: в файловой базе оно сработает, только если сеанс 1С запущен, в клиент-серверном варианте — через сервер 1С. Для файловых баз часто используют отдельный сеанс-«робот» или внешний планировщик, запускающий обмен.
Если обмен регулярно обрывается на больших выгрузках, увеличьте лимиты на стороне веб-сервера (max_execution_time, таймауты прокси) и уменьшите размер порции в настройках интеграции Битрикс. Обрывы чаще связаны с ограничениями хостинга, чем с самой 1С.
Типовые ошибки и их устранение
Самая частая проблема — ошибка авторизации (HTTP 401/403). Проверьте, что пользователь входит в группу с правом обмена, пароль не содержит спецсимволов, ломающих передачу, а на сайте не включена двухфакторная авторизация для этого пользователя — с ней обмен не работает.
Вторая группа проблем — дубли товаров и контрагентов. Дубли товаров возникают из-за несовпадения XML_ID, дубли контрагентов — из-за отсутствия критериев поиска (обычно ИНН, телефон или e-mail). Настройте в узле обмена правила поиска существующих контрагентов перед загрузкой реальных заказов.
Третья типичная ситуация — обмен «зависает» или завершается таймаутом. Причины: большой объём выгрузки, слабый хостинг, ограничения веб-сервера. Решения: уменьшение порции, выгрузка изменений вместо полного каталога, перенос обмена на время низкой нагрузки.
Альтернативные способы интеграции
Штатный обмен покрывает стандартные сценарии, но не всё: нестандартные документы, сложные статусные модели, обмен в реальном времени. В таких случаях используют REST API Битрикс и HTTP-сервисы или веб-хуки со стороны 1С — это требует разработки, но даёт полный контроль над логикой.
Промежуточный вариант — готовые коннекторы и модули расширенной интеграции от сторонних разработчиков. Они добавляют возможности, которых нет в типовом обмене: гибкое сопоставление статусов, обмен произвольными документами, логирование. Перед покупкой проверяйте совместимость с вашей версией конфигурации и редакцией Битрикс.
Сравнение вариантов
Подходит для типовых задач: каталог, цены, остатки, заказы. Бесплатен, но ограничен стандартными сценариями
Подходит, когда типового обмена не хватает, но нет ресурсов на разработку. Зависимость от стороннего вендора
Максимальная гибкость и обмен в реальном времени, но требует разработчиков и сопровождения
Частые вопросы
Какие конфигурации 1С поддерживают обмен с Битрикс?
Штатный модуль обмена с сайтом есть в Управлении торговлей, Управлении нашей фирмой, Комплексной автоматизации и ERP. В «Бухгалтерии предприятия» полноценного обмена с сайтом нет — для интернет-магазина она не подходит без доработок или внешних коннекторов.
Можно ли подключить один сайт к нескольким базам 1С?
Технически да, но это сложный сценарий: нужно развести каталоги по разным инфоблокам и исключить пересечения по XML_ID, иначе базы будут перезаписывать данные друг друга. Обычно такую задачу решают через доработанный обмен или коннектор.
Как часто нужно обновлять остатки на сайте?
Зависит от оборачиваемости: при высоких продажах — каждые 15–30 минут, при умеренных достаточно раз в 1–3 часа. Слишком частая полная выгрузка вредна — используйте режим обмена только изменениями.
Почему заказы с сайта не попадают в 1С?
Проверьте три вещи: включён ли обмен заказами в настройках узла, проходит ли тест соединения, нет ли ошибок в журнале обмена на стороне 1С и в логах сайта. Часто причина — несоответствие статусов заказа фильтру загрузки или ошибки авторизации.
Работает ли обмен, если 1С находится в локальной сети без белого IP?
Да, и это стандартная схема: инициатором соединения выступает 1С, которая сама обращается к сайту по HTTPS. Белый IP на стороне 1С не нужен — достаточно исходящего доступа в интернет.
Что делать, если после обмена на сайте появились дубли товаров?
Остановите обмен, удалите дубли, затем выполните сопоставление XML_ID: либо приведите внешние коды на сайте к кодам из 1С, либо очистите каталог и выполните полную выгрузку заново на пустой инфоблок. После этого включайте обмен изменениями.
Что важно запомнить
Подключение Битрикс к 1С делается через штатный обмен по протоколу CommerceML: отдельный пользователь на сайте, узел обмена в 1С, тест соединения, выгрузка на копию и только потом рабочий запуск. Ключевые условия стабильной работы — совпадение XML_ID, обмен изменениями вместо полной выгрузки и контроль журнала ошибок.