Интеграция интернет-магазина с 1С нужна ровно тогда, когда учёт уже ведётся в 1С, а сайт про этот учёт ничего не знает. Пока товаров немного, расхождение закрывается руками: поправили остаток здесь, обновили цену там. С ростом каталога ручная сверка перестаёт помещаться в рабочий день, и появляются заказы на то, чего нет на складе.
Ниже — что именно передаётся между 1С и сайтом, какие бывают способы обмена, чем они отличаются на практике и где такие интеграции обычно ломаются.
Что передаётся и в какую сторону
Полезно сразу разделить потоки — их четыре, и они независимы.
Каталог: 1С → сайт. Номенклатура, характеристики, категории, иногда фото. Источник правды — учётная система, сайт только отображает.
Цены: 1С → сайт. Обычно с привязкой к типу цен: розничная, оптовая, для конкретной категории клиентов.
Остатки: 1С → сайт. Самый чувствительный поток: именно его задержка приводит к продаже отсутствующего товара.
Заказы: сайт → 1С. Обратное направление. Заказ создаётся документом в учётной системе, дальше живёт по её правилам — резерв, отгрузка, оплата.
Важно, что каждый поток можно включать отдельно. Частая ошибка — пытаться поднять всё сразу и застрять; разумнее начать с остатков и цен, они дают основной эффект.
Три способа обмена
Файловый обмен (CommerceML). Классика: 1С выгружает XML, сайт его забирает по расписанию. Работает почти везде, но обмен односторонне-пакетный и медленный; актуальность остатков — на уровне «раз в час-два в лучшем случае».
Обмен через промежуточный сервис. Между 1С и сайтом ставится готовый коннектор. Быстрее в настройке, но добавляет третью зависимость и обычно отдельную подписку.
Прямое обращение к 1С по API (OData). Сайт сам запрашивает у 1С нужные данные и сам отдаёт туда заказы. Обмен получается активным и точечным: можно тянуть только изменившееся и чаще. Требует, чтобы к 1С был сетевой доступ и был включён соответствующий сервис.
Где такие интеграции ломаются
Нет связности с 1С. Самая частая причина, по которой «интеграция не заработала». Если 1С стоит на локальном компьютере в офисе без внешнего доступа, сайт до неё не дотянется никаким способом, кроме файлового обмена. Это вопрос инфраструктуры, а не настроек.
Разные справочники. На сайте товар — одна карточка, в 1С — номенклатура с характеристиками и, возможно, несколькими единицами измерения. Пока не решено, что чему соответствует, обмен будет приносить дубли.
Разные типы цен и склады. Если в 1С несколько складов, нужно явно определить, какой остаток показывать на сайте: конкретного склада, суммарный или за вычетом резерва. Умолчание тут почти всегда неверное.
Незавершённые заказы. Заказ, переданный в 1С, но не проведённый, не списывает остаток. Дальше сайт продолжает считать товар доступным, и расхождение возвращается с другой стороны.
Что стоит решить до начала
Три вопроса, ответы на которые определяют всю дальнейшую настройку. Первый: что является источником правды по каждому полю — если по цене это 1С, то правка цены на сайте будет затёрта следующим обменом, и это надо понимать заранее. Второй: какой склад и какой тип цен идут на сайт. Третий: в какой момент списывается остаток — при оформлении заказа, при оплате или при проведении документа в 1С.
Когда эти три ответа есть, интеграция становится технической задачей. Пока их нет — любая интеграция будет «работать неправильно», независимо от способа обмена.
Как остатки ведут себя дальше, когда к сайту добавляются площадки, разобрано в статье об управлении остатками на нескольких маркетплейсах; общий обзор инструментов — в гиде по выбору сервисов для продавца. В Витрине обмен с 1С идёт по расписанию и в активном режиме: сайт сам забирает каталог, цены и остатки и передаёт заказы обратно.