Запускаем AI-ботов для бизнеса — автоматизируем продажи и поддержку. Узнать → Переезд сервера и данных в Россию по 152-ФЗ — фиксированная цена, без простоя. Подробнее → Бесплатный аудит сайта: находим, где вы теряете клиентов. Результат за 3 дня. Получить →
Обсудить проект

// Магазины

Обмен Битрикс и 1С: что синхронизируется и где ломается

Обмен Битрикс и 1С идёт по протоколу CommerceML и работает в обе стороны: из 1С на сайт уезжают товары, цены и остатки, с сайта в 1С — заказы, а следом обратно статусы и оплата. Настройка типового обмена занимает одну-две недели. Ломается он почти всегда в одних и тех же местах — разбираем, в каких.

Что уезжает в какую сторону

Слово «синхронизация» скрывает, что потоков на самом деле четыре. Держать их в голове по отдельности полезно: ломаются они тоже по отдельности.

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

Как это устроено

Битрикс поднимает точку обмена по адресу вида /bitrix/admin/1c_exchange.php, закрытую отдельным логином и паролем. 1С по расписанию стучится туда и отдаёт XML в формате CommerceML — большие каталоги пакетами, по частям.

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

Вторая деталь: товар на сайте и товар в базе связывает не артикул и не название, а идентификатор из 1С. В интерфейсе он не виден, но держится всё именно на нём.

Где ломается

Список ниже — не страшилки, а то, что встречается на каждом втором проекте.

  • Каталог наполняли руками до интеграции. Идентификаторов из 1С у карточек нет, связывать не с чем — первый же обмен создаёт вторую тысячу товаров рядом с первой. Лечится разовым сопоставлением по артикулу, но артикулы для этого должны быть уникальны, а они уникальны примерно никогда.
  • Цен несколько. В базе живут розничная, оптовая, закупочная и рекомендованная. Выгружаются все, а какая показывается покупателю — решает настройка на стороне сайта. Ошибка здесь выглядит как магазин, торгующий по закупочным ценам.
  • Остаток — это какое число? Сумма по всем складам или по одному? Физический или за вычетом резерва? Оба ответа разумны; беда начинается, когда 1С считает одним способом, а на сайте ждали другого.
  • Размеры и цвета. В 1С это характеристики номенклатуры, на сайте — отдельные торговые предложения. Если в справочнике соседствуют «Синий», «синий» и «Cиний» с латинской C, на витрине будет три цвета вместо одного.
  • Скидки живут отдельно. Часто они считаются документом уже внутри 1С и в цену выгрузки не попадают. Сайт честно показывает цену без скидки, а разницу потом объясняет менеджер.
  • Статусы не совпадают. У 1С свой список состояний заказа, у Битрикса свой. Их сопоставляют вручную, один к одному, до начала работ. Пропустили — оплаченный заказ висит на сайте новым.
  • Каталог не влезает в таймаут. Двадцать тысяч товаров с картинками одним куском веб-сервер не переварит. Решается размером пакета и лимитами, но узнают об этом обычно после третьей остановки обмена.

Общее у списка одно: ни один пункт нельзя выяснить по телефону — только открыв базу. Поэтому смету на интеграцию мы называем после того, как её посмотрим; почему цену нельзя назвать сразу, разобрали отдельно.

Как часто обмениваться

Соблазн ответить «постоянно» понятен, но каждая частота стоит денег и нагрузки. Рабочее решение — два расписания вместо одного.

  • Полный обмен каталогом — раз в сутки, ночью. Описания, свойства и картинки меняются редко, гонять их днём незачем.
  • Цены и остатки — лёгкой выгрузкой, от 15 минут до часа. Здесь считаются деньги: суточная частота означает, что покупатель днём закажет то, что кончилось утром.
  • Заказы — сразу или пачкой раз в несколько минут. Задержка тут заметна не покупателю, а менеджеру.

Скажем прямо: если товаров двести, они не кончаются и заказов пять в день — двусторонний обмен не окупится. Хватит выгрузки прайса раз в сутки, и стоит она в разы дешевле.

Что подготовить до старта

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

  • Конфигурация и версия: УТ, УНФ, КА, Розница или самописная — от этого зависит почти всё
  • Копия базы для тестов: отлаживать обмен на боевой — плохая идея
  • Решение по ценам и складам: что показываем, что считаем доступным к заказу
  • Таблица соответствия статусов между двумя системами
  • Ответственный со стороны 1С и его контакты — не «бухгалтер спросит»

Те же вопросы стоят в разделе «Что должно работать без человека» нашего шаблона ТЗ на сайт. Заполненные ответы превращают разброс смет втрое в сравнимые цифры.

Сроки, цена и ради чего всё это

Интеграция занимает 20–30% сметы магазина — вторая статья по величине после каталога и первая по риску сорвать срок. Магазин под ключ с двусторонним обменом стоит от 250 000 ₽ и занимает 6–8 недель. Обмен на уже существующем сайте считаем после осмотра базы.

На нашем проекте с обменом Битрикс ↔ 1С обработка одного заказа сократилась с примерно 15 минут до 2, ручной перенос убрали полностью. При тридцати заказах в день это больше шести часов чужой работы ежедневно — и ноль опечаток в адресе доставки.

Что входит в работу — на странице услуги интернет-магазины на Битрикс. Если задаче хватает решения проще и дешевле, скажем об этом прямо.

Обсудим вашу задачу? Бесплатная консультация — сориентируем по срокам и бюджету. Оставить заявку
Хочу бота в Telegram