Интеграции
Синхронизация магазина с 1С: план обмена без потерянных заказов
Как спроектировать обмен интернет-магазина с 1С: владельцы данных, товары и остатки, цены и заказы, идентификаторы, повторные события, пилот и контроль расхождений.

Синхронизация — это правила, а не просто канал передачи
Магазин и 1С по-разному смотрят на один заказ. Покупатель ожидает актуальное наличие и цену на сайте; склад и бухгалтерия — корректную номенклатуру, резерв и документы. Если просто передавать файлы без владельца каждого поля, быстро появляются дубли, продажи отсутствующего товара и расхождения статусов.
Здесь разбираем операционный обмен каталога, цен, остатков и заказов. Он уже, чем общая интеграция сайта с 1С: рассматриваем именно торговый цикл и последствия для покупателя. Формат CommerceML может быть одним из способов обмена, но конкретный транспорт и состав полей зависят от конфигурации 1С, платформы магазина и реальных бизнес-правил.
Ошибки, которые первыми видит покупатель
Проблема проявляется как отказ, задержка или неожиданная цена, даже если технический обмен формально работает.
- Считать остаток из 1С доступным к продаже без учёта резерва, склада и отложенного обновления.
- Создавать заказ повторно при тайм-ауте, потому что ответ не пришёл, хотя первая попытка уже обработана.
- Переписывать вручную отредактированное поле без согласованного правила источника истины.
- Запускать весь каталог до проверки вариантов, комплектов, отмены и возврата на контрольной группе.
Что зафиксировать до выбора модуля
Карта данных и конфликтов показывает, где типовой коннектор достаточен, а где потребуется доработка.
- Перечислите сущности: товар, вариант, цена, склад, остаток, резерв, покупатель, заказ, оплата, доставка, возврат. Для каждого поля укажите систему-источник и разрешённое направление изменения.
- Проверьте идентификаторы номенклатуры и вариантов. Название и артикул могут измениться или повториться; нужен устойчивый ключ сопоставления и процедура обработки неизвестного товара.
- Опишите частоту обновления и допустимое запаздывание. Цена и остаток перед оформлением заказа требуют другого внимания, чем длинное описание товара или медиагалерея.
- Соберите исключения из текущей торговли: комплект, несколько складов, акция, ручная скидка, предзаказ, частичная отгрузка, отмена после оплаты, возврат. Уточните, какие состояния реально поддерживают обе системы.
- Создайте тестовый набор: обычный товар, вариант, нулевой остаток, изменённая цена, повторная отправка заказа, временная недоступность 1С и возврат. Личные данные в тестовой среде обезличьте.
Технический контракт и контроль
Рабочая интеграция должна объяснять не только счастливый путь, но и восстановление после разрыва.
- В контракте укажите формат, версию, расписание или события, лимиты, время ожидания, повторные попытки и границы пакета. Для каждого типа события задайте обязательные поля и валидаторы.
- Храните соответствие внутренних и внешних идентификаторов и журнал изменений. Отдельно учитывайте запись, которая не прошла импорт, вместо молчаливого пропуска.
- Контролируйте возраст последнего успешного обмена, размер очереди, ошибки по типам, расхождения цены и остатка на проверяемой выборке. Настройте понятную эскалацию, если заказ не принят в срок.
- Предусмотрите сверку после восстановления: обмен может пропустить события во время сбоя. Нужен повторный проход по изменённым объектам и безопасная обработка дублей.
Последовательность внедрения обмена
Двигайтесь от согласованной модели данных к ограниченному пилоту, а не запускайте сразу весь каталог.
- Согласуйте словарь полей и таблицу соответствий статусов. Отдельно зафиксируйте, что делать, если нужного статуса в другой системе нет: запрещать переход, переводить в промежуточное состояние или отправлять оператору.
- Определите источник истины для цены и доступного количества. Если остаток включает резерв и товары в пути, формула доступности должна быть явной; нельзя считать любую цифру «в наличии».
- Настройте импорт ограниченной группы товаров и сравните карточки, варианты, цены и остатки с контрольным набором. Проверьте обновление и удаление, а не только первоначальную загрузку.
- Настройте отправку заказа с устойчивым внешним идентификатором. При сетевом повторе тот же заказ должен обновляться или отклоняться как уже полученный, но не создавать второй документ.
- Добавьте подтверждение обработки и очередь ошибок. Отправка сообщения не равна принятому заказу: сохраните статус доставки, причину отказа, число попыток и ответственного за ручное решение.
- Прогоните отмену, частичную отгрузку и возврат вместе с финансовым и складским владельцем процесса. Там, где автоматическая обратная синхронизация опасна, явно оставьте ручное подтверждение.
- Запустите пилот на ограниченной товарной группе и сравнивайте остатки, цены, число заказов и статусы между системами каждый день. Расширяйте поток только после понятного периода без неразобранных расхождений.
Как понять, что обмен стабилен
Смотрите на данные и бизнес-результат вместе; число успешных запросов само по себе не показывает корректность каталога.
- Задержка обновления цен и остатков относительно оговорённого окна; отдельно по критичным товарам.
- Доля заказов, принятых 1С без ручной коррекции, и число дублей или пропавших заказов.
- Количество расхождений по проверяемой выборке SKU и время до их исправления.
- Размер и возраст очереди ошибок, число событий без назначенного владельца.
Первый контролируемый запуск
Начните с небольшой группы товаров и полного цикла одного заказа: публикация, продажа, подтверждение, отмена и сверка. Это покажет пробелы модели быстрее, чем массовый импорт справочника.
Планируйте интеграцию вместе с оператором торговли и владельцем 1С. Иначе разработчики согласуют форматы, но не смогут решить, какой остаток считать доступным и кто отвечает за конфликт.
Пример сверки одного заказа
Покупатель оформил товар с последней доступной единицей. Сайт записал заказ A и зарезервировал позицию; повтор отправки с тем же внешним идентификатором не создал заказ B. 1С подтвердила приём, обновила состояние резерва, а сайт показал покупателю актуальный статус. Когда ответ 1С временно недоступен, заказ остаётся в контролируемой очереди с владельцем и сроком реакции. Только после сверки этих событий обмен можно считать готовым к расширению.
Источники
- CommerceML 2.10.2
1С / доступ 2026-10-04
Официальное описание одного из форматов обмена торговыми данными; применимость проверяют по конкретной конфигурации.
- 1С:Управление нашей фирмой — возможности
1С / доступ 2026-10-04
Официальное описание торговых операций и вариантов учёта.
- Best practices for using webhooks
GitHub Docs / доступ 2026-10-04
Первичный пример принципов доставки событий, повторов и надёжности.
FAQ
Достаточно ли стандартного модуля обмена?
Иногда да, если платформа, конфигурация 1С и торговые правила совпадают с его возможностями. Комплекты, несколько складов и нестандартные статусы требуют отдельной проверки.
Как часто обновлять остатки?
По допустимому риску продажи недоступного товара и техническим возможностям систем. Частоту фиксируют вместе с формулой доступного остатка и контролем задержки.
Что делать при недоступности 1С?
Сохранять заказ с устойчивым идентификатором, показывать его состояние, безопасно повторять доставку и сигнализировать ответственному. Не создавать новый заказ при каждом повторе.
Что проверять перед массовым запуском?
Товар и вариант, цену, остаток, повтор заказа, отмену, возврат, временный сбой и последующую сверку.

