Особенности интеграции 1С с сайтом
Интеграция сайта с 1С — задача, в которой типовой модуль решает 70% случаев, а остальные 30% превращаются в проект на месяцы. Опыт показывает, что важно понимать обе стороны: и веб-разработку, и логику учётных систем 1С. Иначе обмен либо не учитывает реальные сценарии бизнеса, либо ломается на каждом обновлении.
Какой протокол обмена выбрать
В большинстве проектов на 1С-Битрикс используется типовой протокол CommerceML. Это стандарт от 1С: коробочные модули с обеих сторон уже умеют обмениваться через него каталогом, ценами, остатками и заказами. Подходит для классических интернет-магазинов с одним складом и понятной номенклатурой.
Для сложных сценариев — мультискладовость, B2B-кабинеты, нестандартные виды цен — типового CommerceML недостаточно. В таких случаях используем REST API: сайт и 1С обмениваются данными через прямые запросы, что позволяет реализовать любую бизнес-логику. Для проектов с высокой нагрузкой подключаем очереди сообщений (RabbitMQ, Redis), чтобы обмен не упирался в ограничения синхронных запросов.
Кастомные интеграции — отдельная история. Иногда у клиента в 1С самописные подсистемы, нестандартные справочники, или обмен идёт через промежуточный сервис. Тогда проектируем архитектуру под конкретную задачу, а не натягиваем готовое решение.
Что важно учесть до старта
Первый и главный вопрос — где информация вернее. Чаще всего это 1С: товары, цены и остатки ведутся там, сайт только показывает актуальное состояние. Но бывают исключения: например, описание и SEO-поля редактируют контент-менеджеры на сайте, и при обмене 1С не должна их перезаписывать. Эти правила фиксируем в ТЗ до начала разработки.
Второй вопрос — частота обмена. Цены и остатки обычно обновляются раз в 10–30 минут, заказы передаются в 1С сразу после оформления, статусы возвращаются по событию. Если каталог большой (десятки тысяч SKU), полная выгрузка занимает часы - настраиваем дельта-обмен, при котором передаются только изменённые позиции.
Третий вопрос — что делать с ошибками: обрыв связи с 1С, некорректное значение в данных, возврат ошибки сайтом при обработке заказа. Заранее проектируем сценарии, что логировать, что повторять автоматически, о чём уведомлять администратора.
Типичные ошибки при настройке обмена
Чаще всего встречаем три проблемы. Первая — медленная выгрузка большого каталога: типовой обмен не оптимизирован под 50 000 товаров и больше, нужны доработки. Вторая — рассинхронизация остатков при параллельных продажах: товар уходит и в офлайне, и онлайн, а обмен не успевает. Решается ускорением частоты обмена и резервированием на стороне 1С. Третья — потеря заказов при сбоях обмена: если не настроена очередь и логирование, заказ может «уйти в никуда» между сайтом и 1С.
Все эти случаи мы умеем разбирать и чинить, в том числе на уже работающих интеграциях, которые делал кто-то другой. Поддерживаем чужой код без обязательного переписывании всего с нуля.
Что делать, если у вас не 1С-Битрикс
Если сайт на WordPress, базовый обмен с 1С возможен через REST API и сторонние плагины. Подходит для каталогов средней сложности. Сложные сценарии (B2B, документооборот, мультискладовость) на WordPress дороже и сложнее, чем на 1С-Битрикс — иногда выгоднее обсудить переезд на Битрикс с интеграцией с нуля. Но не настаиваем: если ваш WordPress работает и переезд не в планах, делаем обмен на нём. Для других CMS интеграцию с 1С отдельно не делаем, так как это узкоспециализированная задача.






