Автоматизация · 9 мин
Битрикс и 1С: как связаны и как работает обмен данными
Как связаны Битрикс и 1С: типовой обмен товарами и заказами, настройка интеграции, режимы обмена, типичные ошибки и проверка результата синхронизации.
«1С-Битрикс: Управление сайтом» и «1С:Управление торговлей» (а также «Комплексная автоматизация» и «ERP») — продукты разных компаний, но с готовым механизмом взаимодействия. Битрикс отвечает за витрину: каталог товаров, цены, оформление заказов на сайте. 1С отвечает за учёт: склад, себестоимость, контрагенты, документы. Связь между ними нужна, чтобы не вести одни и те же данные в два раза.
Типовая связка работает так: из 1С на сайт выгружаются товары, характеристики, цены и остатки; с сайта в 1С загружаются заказы и данные покупателей. Менеджер обрабатывает заказ уже в учётной системе, а статус заказа может возвращаться обратно на сайт, чтобы покупатель видел его в личном кабинете.
Обмен построен на открытом формате CommerceML — это XML-формат описания товаров и заказов, разработанный при участии 1С. Сайт и учётная система передают друг другу файлы этого формата через HTTP-запросы, поэтому обе стороны могут находиться на разных серверах и в разных сетях.
Какие данные передаются между системами
Обмен двусторонний, и важно понимать направление потоков, чтобы не вносить правки «не с той стороны». Товары, группы каталога, свойства, типы цен и складские остатки идут из 1С на сайт. Если изменить цену вручную в админке Битрикса, при следующей выгрузке она будет перезаписана значением из 1С.
В обратную сторону — с сайта в 1С — передаются заказы с составом, способом оплаты и доставки, а также данные контрагентов: имя, телефон, адрес, реквизиты юридических лиц. При повторном обмене 1С может вернуть на сайт обновлённые статусы заказов, отмены и сведения об оплате.
Некоторые сущности по умолчанию не обмениваются или обмениваются ограниченно: картинки выгружаются из 1С только если они хранятся в базе, скидки и купоны сайта в 1С обычно не переносятся, а сложные маркетинговые механики (промокоды, правила корзины) живут только на стороне Битрикса.
Как устроен типовой обмен технически
Со стороны 1С используется встроенный узел обмена с сайтом (в «Управлении торговлей 11» это раздел настроек синхронизации). Со стороны Битрикса работает модуль «Интернет-магазин + 1С», который принимает запросы от 1С по специальному URL вида /bitrix/admin/1c_exchange.php и обрабатывает их пошагово: авторизация, получение файлов, импорт в инфоблоки.
Процесс выглядит так: 1С по расписанию или вручную формирует XML-файлы каталога и предложений (цены и остатки), отправляет их на сайт частями, сайт распаковывает и поэтапно импортирует данные. Затем тот же сеанс или отдельный запуск забирает с сайта новые заказы. Большие каталоги передаются порциями, чтобы не упираться в лимиты времени выполнения скрипта.
- 1Проверьте, что в Битриксе установлен и активен модуль обмена с 1С, а версия продукта обновлена
- 2В 1С создайте узел обмена с сайтом: укажите адрес скрипта обмена, логин и пароль пользователя сайта с правами на обмен
- 3Настройте отбор выгружаемых товаров, типы цен и склады для остатков
- 4Выполните первую полную выгрузку вручную и проверьте каталог на сайте
- 5Настройте обмен заказами: соответствие статусов, способов оплаты и доставки
- 6Включите обмен по расписанию (регламентное задание в 1С) и проверьте журнал обмена
Для пользователя сайта, от имени которого подключается 1С, создают отдельную учётную запись с минимально необходимыми правами — только на выполнение обмена. Использовать учётную запись администратора сайта для обмена небезопасно: логин и пароль хранятся в настройках 1С и могут быть скомпрометированы.
Режимы обмена: полная выгрузка и выгрузка изменений
Первая выгрузка всегда полная: 1С передаёт весь каталог, все цены и остатки. На больших базах это может занимать значительное время, поэтому первую выгрузку лучше запускать в часы минимальной нагрузки на сайт.
Дальше работает режим выгрузки только изменений: 1С регистрирует, какие товары, цены и остатки менялись с прошлого сеанса, и передаёт только их. Это резко сокращает время обмена. Отдельно существует режим «живого» обмена заказами в реальном времени, когда заказ уходит в 1С сразу после оформления, — он требует, чтобы сеанс обмена поддерживался постоянно или запускался очень часто.
Сравнение режимов обмена
Подходит для первичного запуска и восстановления после сбоев. Медленная, создаёт нагрузку, при регулярном использовании избыточна.
Основной рабочий режим: быстрый, передаёт дельту данных. Требует исправной регистрации изменений в узле обмена.
Заказ попадает в 1С сразу после оформления. Подходит при коротком цикле обработки заказа, но чувствителен к доступности 1С извне.
Что нужно согласовать перед запуском
Главная причина проблем с интеграцией — рассинхронизация структур данных. Перед запуском нужно решить, какая система «главная» по каждому типу данных: обычно товары и цены ведутся в 1С, а описания, SEO-тексты и маркетинговые свойства — на сайте. Если в 1С товары имеют характеристики (размер, цвет), на сайте они должны выгружаться как торговые предложения, иначе остатки будут считаться неверно.
Отдельно согласуются соответствия статусов заказов, способов оплаты и служб доставки между сайтом и 1С. Если на сайте есть способ оплаты, для которого в 1С нет соответствия, заказ может загрузиться с ошибкой или с незаполненными полями.
Как проверить, что обмен работает корректно
После настройки проверяют три контура: каталог, заказы и статусы. Для каталога сравнивают цену и остаток нескольких товаров в 1С и на сайте сразу после выгрузки. Для заказов оформляют тестовый заказ на сайте и убеждаются, что он появился в 1С с корректным составом, контрагентом и способом доставки. Для статусов меняют состояние заказа в 1С и проверяют, что изменение отразилось в личном кабинете покупателя.
Технический след обмена виден в журналах: в 1С — в истории обмена данными узла, в Битриксе — в логах импорта и файлах в папке обмена. Ошибки авторизации, превышение времени выполнения и обрывы передачи файлов фиксируются там, и по ним можно локализовать проблему.
Как проверить результат
Совпадают с данными 1С сразу после выгрузки
Расхождения или нулевые остатки при наличии товара на складе
Появился в 1С с составом, контрагентом и доставкой
Заказ не загружается или приходит с пустыми полями
Статус обновился в личном кабинете покупателя
Статус на сайте не меняется после обмена
Сеансы завершаются без ошибок
Ошибки авторизации, таймауты, обрывы передачи файлов
Ограничения типового обмена и когда нужна доработка
Типовой обмен покрывает стандартный сценарий интернет-магазина, но у него есть границы. Нестандартные сущности — например, бонусные программы, сложные соглашения с клиентами, несколько юридических лиц с разными ценами — в типовой схеме либо не передаются, либо требуют доработки со стороны 1С, сайта или обеих.
Альтернативы типовому обмену: интеграция через REST API Битрикса и HTTP-сервисы 1С, обмен через промежуточную шину или готовые коннекторы, а также файловый обмен по расписанию для простых случаев. Выбор зависит от объёма нестандартной логики: если отличий немного, дешевле доработать типовой механизм, чем строить свой.
Частая причина «пропадающих» заказов — не сбой обмена, а фильтры на стороне 1С: заказ не загружается, если у товара нет остатка на выбранном складе или контрагент не прошёл проверку заполнения. Начинайте диагностику с журнала обмена, а не с перенастройки соединения.
FAQ
Можно ли связать Битрикс с 1С без программиста?
Типовой сценарий — да: обе стороны имеют штатные мастера настройки, и базовый обмен товарами и заказами поднимается конфигурацией без кода. Программист понадобится, если нужны нестандартные данные, особая логика ценообразования или интеграция с самописной конфигурацией.
Какие конфигурации 1С поддерживают обмен с сайтом?
Штатный узел обмена с сайтом есть в «Управлении торговлей», «Комплексной автоматизации», «ERP Управление предприятием» и ряде отраслевых решений на их основе. В «Бухгалтерии предприятия» полноценного обмена каталогом нет — она ориентирована на учёт, а не на торговлю с витрины.
Что делать, если товары на сайте задваиваются после выгрузки?
Дубли обычно возникают из-за изменения уникальных идентификаторов товаров в 1С (например, после пересоздания элементов) или ручного создания товаров на сайте до выгрузки. Решение — очистить каталог на сайте, выполнить полную выгрузку заново и далее вести товары только в 1С.
Как часто нужно запускать обмен остатками?
Частота зависит от оборачиваемости склада: при активных продажах обмен изменениями запускают каждые 15–60 минут, при спокойной торговле достаточно нескольких раз в день. Полную выгрузку в рабочем режиме запускать не нужно — только изменения.
Безопасно ли открывать доступ к 1С для обмена с сайтом?
В типовой схеме инициатором соединения выступает 1С, она сама обращается к сайту, поэтому открывать 1С наружу не требуется. Достаточно опубликовать сайт и защитить скрипт обмена отдельной учётной записью с ограниченными правами и сложным паролем.
Что важно запомнить
Битрикс и 1С связаны типовым обменом в формате CommerceML: товары, цены и остатки идут из 1С на сайт, заказы — с сайта в 1С. Успех интеграции определяется согласованием структур данных, отдельной учётной записью для обмена, режимом выгрузки изменений и регулярной проверкой журналов обмена.