Автоматизация · 13 мин
Как Битрикс связан с 1С: схемы обмена и настройка интеграции
Как связаны 1С-Битрикс и 1С: схемы обмена товарами, заказами и контрагентами, штатные модули интеграции, настройка, типичные ошибки и проверка результата.
«1С-Битрикс: Управление сайтом» и программы семейства 1С (Управление торговлей, Комплексная автоматизация, ERP) связаны между собой штатным механизмом обмена данными. Сайт на Битриксе не хранит «истину» о товарах и ценах — первичным источником обычно выступает учётная система 1С, а сайт получает из неё каталог, остатки и цены и отправляет обратно оформленные заказы и данные покупателей. Именно эта двусторонняя связь и есть суть интеграции.
Технически обмен построен на стандарте CommerceML — XML-формате, разработанном специально для обмена коммерческой информацией между учётными системами и интернет-магазинами. 1С формирует файлы выгрузки (каталог, предложения с ценами и остатками) и передаёт их на сайт по HTTP(S), а сайт в ответ отдаёт файлы с заказами. Весь процесс можно запускать вручную, по расписанию или в режиме реального времени.
Понимание этой связи важно и администратору сайта, и специалисту по 1С: большинство проблем — пропавшие товары, нулевые остатки, «зависшие» заказы — возникают именно на стыке двух систем. Ниже разберём, какие данные передаются, какие схемы обмена существуют, как настроить интеграцию и как проверить, что она работает корректно.
Какие данные передаются между 1С и Битриксом
Обмен между системами охватывает несколько сущностей, и направление передачи у каждой своё. Каталог товаров с иерархией разделов, свойствами, картинками и описаниями движется из 1С на сайт. Туда же передаются торговые предложения (варианты товара по размеру, цвету и другим характеристикам), типы цен и складские остатки.
В обратную сторону — с сайта в 1С — уходят оформленные заказы со составом, выбранным способом доставки и оплаты, а также данные контрагентов: физических и юридических лиц с реквизитами. После загрузки заказа в 1С менеджер работает с ним уже в учётной системе: резервирует товар, формирует отгрузку и счета.
Дополнительно возможен обмен статусами и документами: сайт может получать из 1С актуальные статусы заказов («оплачен», «отгружен»), а при расширенной интеграции — отгрузки, оплаты и даже печатные формы документов для личного кабинета покупателя. Набор передаваемых сущностей зависит от редакции 1С и версии модуля обмена.
Как устроен механизм обмена технически
Классическая схема выглядит так: на стороне 1С создаётся «узел обмена с сайтом», в котором указывается адрес сайта, логин и пароль пользователя с правами на обмен. При запуске обмена 1С формирует XML-файлы (import.xml — каталог, offers.xml — цены и остатки, а при загрузке заказов — наоборот, запрашивает файлы с сайта) и передаёт их порциями по HTTP на специальный скрипт Битрикса.
Передача идёт пошагово: сначала авторизация, затем загрузка файлов частями, потом пошаговая обработка на стороне сайта. Такой порционный режим позволяет обмениваться большими каталогами на слабом хостинге без превышения лимитов времени выполнения скриптов. Параметры шага (размер порции, время выполнения) настраиваются в административной части Битрикса.
Ключевой элемент связи — идентификация объектов. Товары и разделы сопоставляются по внешнему коду (XML_ID), в котором хранится GUID объекта из 1С. Пока эти коды синхронны, обмен обновляет существующие элементы, а не создаёт дубли. Потеря или рассинхронизация внешних кодов — одна из главных причин «задвоения» каталога.
Варианты интеграции: штатный обмен, модуль и реальное время
Существует несколько способов связать Битрикс и 1С, и выбор зависит от требований к актуальности данных и нагрузке. Базовый вариант — штатный обмен через «Узел обмена с сайтом», который есть в типовых конфигурациях Управление торговлей. Он работает «из коробки», но обновляет данные только в момент запуска обмена.
Более продвинутый вариант — модуль «Интеграция с 1С» от 1С-Битрикс, который устанавливается поверх конфигурации. Он добавляет обмен в реальном времени (заказ попадает в 1С сразу после оформления, а изменения товаров — на сайт), передачу документов, соглашений с клиентами и более гибкие настройки соответствия полей.
Третий путь — нестандартная интеграция через REST API Битрикса, веб-сервисы 1С или промежуточную шину (файловый обмен, брокеры сообщений). Его выбирают, когда типовой обмен не покрывает логику: например, цены рассчитываются динамически или сайт работает с несколькими учётными системами одновременно.
Сравнение вариантов
Подходит для небольших каталогов и редких обновлений. Не требует доработок, но данные на сайте устаревают между сеансами обмена.
Подходит для магазинов с частыми заказами: обмен в реальном времени, документы и статусы. Требует установки и сопровождения модуля в 1С.
Подходит для нестандартной логики и высоких нагрузок. Требует разработки и поддержки, но даёт полный контроль над форматом и моментом обмена.
Настройка обмена со стороны 1С
В типовой конфигурации настройка начинается с раздела обмена с сайтами (в Управлении торговлей это «CRM и маркетинг» или «Администрирование» → «Обмен с сайтами», точное расположение зависит от версии). Создаётся новый узел обмена, где задаются: адрес сайта вида https://site.ru/bitrix/admin/1c_exchange.php, имя пользователя и пароль. Этот пользователь должен существовать на сайте и обладать правом на выполнение обмена.
Далее настраивается состав выгрузки: какие товары попадают в обмен (отбор по группам, складам, типам цен), режим выгрузки (полная или только изменения) и расписание автоматического запуска. Рекомендуется начинать с выгрузки небольшой тестовой группы товаров, чтобы проверить сопоставление, прежде чем выгружать весь каталог.
Для загрузки заказов в том же узле включается соответствующая опция и настраиваются параметры создания документов: какой вид заказа создавать, как подставлять организацию, склад и договор по умолчанию, как искать контрагентов — по ИНН, телефону или e-mail. Ошибки в этих настройках приводят к тому, что заказы создаются с пустыми реквизитами или дублируют контрагентов.
- 1Создайте на сайте пользователя с правами на обмен с 1С и проверьте вход под ним.
- 2В 1С создайте узел обмена с сайтом, укажите адрес скрипта обмена и учётные данные.
- 3Настройте отбор товаров, типы цен и склады для выгрузки; начните с малой тестовой группы.
- 4В админке Битрикса проверьте настройки импорта: привязку к инфоблокам, режим порционной загрузки.
- 5Выполните полный тестовый обмен, затем проверьте товары, цены, остатки и загрузку тестового заказа.
Настройка со стороны Битрикса
На стороне сайта основные параметры обмена находятся в административном разделе: «Магазин» → «Настройки» → «Интеграция с 1С» (в разных версиях путь может отличаться). Здесь задаются группы пользователей, которым разрешён обмен, размер и время одного шага импорта, а также поведение при деактивации товаров, отсутствующих в выгрузке.
Отдельного внимания заслуживает привязка данных к инфоблокам: каталог из 1С должен импортироваться в заранее созданный инфоблок каталога, предложения — в инфоблок торговых предложений. Если привязка не задана явно, Битрикс создаст инфоблоки автоматически по идентификаторам из файла обмена, что не всегда желательно на действующем проекте.
Важно также проверить серверное окружение: обмен требует стабильной работы PHP с достаточным лимитом памяти и времени выполнения, а также корректной обработки длинных запросов веб-сервером. На некоторых хостингах запросы от 1С обрываются по таймауту прокси — в этом случае помогает уменьшение размера порции в настройках обмена.
Проверка результата и типичные ошибки
После первого обмена проверьте результат по контрольным точкам: товары попали в нужные разделы без дублей, цены соответствуют выбранному типу цен в 1С, остатки на сайте совпадают с остатками на складе, картинки и свойства отображаются корректно. Затем оформите тестовый заказ на сайте и убедитесь, что он загрузился в 1С с правильным контрагентом, составом и суммами.
К типичным ошибкам относятся: задвоение товаров из-за изменённых внешних кодов или повторной полной выгрузки в новый инфоблок; нулевые остатки на сайте, когда в 1С не выбран склад для выгрузки или остатки хранятся на другом складе; пустые цены, если тип цены в узле обмена не заполнен или не совпадает с типом цены на сайте. Ещё одна частая проблема — заказы не загружаются в 1С из-за того, что на сайте не настроен экспорт заказов или пользователю обмена не хватает прав.
Диагностику облегчают журналы: на стороне 1С — протокол обмена в узле обмена, на стороне Битрикса — логи импорта и файлы выгрузки, которые можно сохранить и открыть в текстовом виде. По содержимому XML-файлов видно, что именно передала 1С, и где теряются данные — на отправке или на приёме.
Как проверить результат
Товары в своих разделах, без дублей, с картинками и свойствами
Дубли товаров, пустые разделы, пропавшие изображения
Совпадают с данными 1С по выбранному типу цен и складу
Нулевые остатки, пустые или устаревшие цены
Заказ создаётся в 1С с верным контрагентом, составом и суммой
Заказ не появляется, создаётся с пустыми реквизитами или дублирует контрагента
Обмен завершается без ошибок, все шаги выполнены
Обрывы по таймауту, ошибки авторизации, отказ в доступе
Ограничения штатной связи и когда нужна доработка
Штатный обмен покрывает стандартный сценарий «каталог и цены на сайт, заказы в 1С», но имеет границы. Он не рассчитан на индивидуальные цены по сложным правилам, мгновенное обновление остатков при каждой продаже в рознице, работу с несколькими сайтами из одной 1С без дополнительных настроек и обмен нестандартными сущностями — например, сериями, штрихкодами упаковок или производственными спецификациями.
Признак того, что типового обмена недостаточно: менеджеры регулярно правят данные вручную на обеих сторонах, остатки на сайте расходятся с реальными в течение дня, а заказы требуют ручной доработки после загрузки. В таких случаях либо настраивается расширенный модуль интеграции, либо разрабатывается обмен через API с учётом конкретной логики учёта.
Любую доработку стоит начинать с формализации правил: какая система является «мастером» для каждого типа данных, как часто должен идти обмен, что происходит при конфликте изменений. Без этих договорённостей даже технически исправная интеграция будет порождать расхождения и споры между отделами.
Как выбрать действие
Частые вопросы
Можно ли связать Битрикс с 1С:Бухгалтерией, а не с Управлением торговлей?
Да, но с ограничениями: 1С:Бухгалтерия умеет выгружать номенклатуру и загружать заказы в базовом объёме, однако полноценная работа с торговыми предложениями, соглашениями и статусами заказов рассчитана на торговые конфигурации. Для интернет-магазина чаще используют Управление торговлей, Комплексную автоматизацию или ERP.
Как часто нужно запускать обмен?
Зависит от скорости изменения данных. Каталог и цены обычно достаточно обновлять 1–2 раза в день, остатки — каждые 15–60 минут при активных продажах, а заказы желательно передавать сразу после оформления или с минимальным интервалом. Слишком частая полная выгрузка создаёт лишнюю нагрузку — используйте режим выгрузки только изменений.
Почему после обмена товары появились на сайте повторно?
Почти всегда причина в рассинхронизации внешних кодов: их изменили вручную, обмен пошёл в другой инфоблок или сайт был пересоздан из резервной копии без сохранения привязок. Решение — восстановить соответствие XML_ID идентификаторам из 1С и удалить дубли, предварительно сделав резервную копию.
Что будет, если править товар и на сайте, и в 1С?
При следующем обмене данные из 1С перезапишут изменения, сделанные на сайте, потому что учётная система считается мастер-системой. Правило простое: товарные данные правятся в 1С, на сайте вручную меняют только то, что не участвует в обмене, — например, SEO-поля и маркетинговые описания, если они не выгружаются из 1С.
Безопасно ли открывать скрипт обмена для доступа извне?
Скрипт обмена защищён авторизацией, но для снижения рисков рекомендуется использовать отдельного пользователя с минимально необходимыми правами, сложный пароль и HTTPS-соединение. Дополнительно можно ограничить доступ к скрипту по IP-адресу офиса или сервера 1С на уровне веб-сервера.
Можно ли связать один сайт с двумя базами 1С?
Штатно такая схема не предусмотрена: один узел обмена предполагает одну учётную систему. На практике задачу решают консолидацией данных в одной базе 1С перед выгрузкой либо разработкой обмена через API с логикой маршрутизации. Прямая выгрузка из двух баз на один сайт почти гарантированно приведёт к конфликтам идентификаторов.
Что важно запомнить
Битрикс и 1С связаны штатным обменом по формату CommerceML: 1С отдаёт каталог, цены и остатки, сайт возвращает заказы и контрагентов. Ключ к стабильной работе — неизменные внешние коды объектов, корректная настройка отборов, складов и типов цен, а также проверка результата по контрольным точкам после каждого изменения настроек. Для нестандартной логики используют расширенный модуль интеграции или обмен через API.