Короткий ответ
Девять из десяти проблем обмена между 1С и сайтом на Битриксе сводятся к пяти причинам: сайту каждый раз отправляют весь каталог целиком вместо одних изменений (поэтому он тормозит, а обмен идёт часами); в 1С поменялись внутренние идентификаторы товаров (отсюда дубли и слетевшие адреса страниц); типы цен не сопоставлены между собой; остатки передаются без учёта резервов и складов; и, наконец, обмен тихо «отвалился» — а заметить это было некому.
Здоровый обмен выглядит так: изменения улетают на сайт каждые 15–30 минут и занимают минуты, полная синхронизация — по ночам, товары опознаются по постоянному внутреннему номеру XML_ID (это как паспорт: имя может меняться, номер — нет), на сайт передаётся «доступный к продаже» остаток — свободный минус резерв, — а на случай сбоя работает мониторинг, который сам напишет вам письмо. Хорошая новость: всё это вопрос настройки, а не переписывания интеграции с нуля.
Сам по себе обмен 1С с Битриксом — технология зрелая и обкатанная: формат CommerceML (общий язык, на котором 1С и сайт разговаривают друг с другом), штатный модуль обмена, расписание. Но режим «настроили и забыли» с ним, увы, не работает. Мы в Interland занимаемся интеграциями 1С с 2008 года, и половина обращений звучит не как «сделайте нам обмен», а как «обмен есть, но с ним что-то не так»: товары задваиваются, остатки живут своей жизнью, сайт лежит по ночам. В этой статье — типовые ошибки, их симптомы и решения. Про то, из чего складывается бюджет интеграции, у нас есть отдельный разбор; здесь же — о том, как не сломать то, что уже работает.
Диагностика: симптом → причина
| Симптом | Наиболее вероятная причина |
| Сайт тормозит в рабочее время, обмен идёт часами | Вместо одних изменений по расписанию уезжает весь каталог; фото перезаливаются каждый раз заново |
| Товары задвоились, у дублей «кривые» адреса | В 1С пересоздали номенклатуру или сменился внутренний номер XML_ID — сайт принял старые товары за новые |
| Товар есть на складе, а на сайте «нет в наличии» (или наоборот) | Не сопоставлены склады, не вычитается резерв — или обмен давно не проходил |
| Цены на сайте не те, что в 1С | Типы цен не сопоставлены; скидки считаются и в 1С, и на сайте одновременно |
| Каталог зарос мусорными свойствами | Реквизиты и характеристики 1С плодят новые свойства при каждом переименовании |
| Товары внезапно пропадают из каталога | Включено «деактивировать отсутствующие в выгрузке», а из 1С приходит лишь часть каталога |
| Обмен обрывается на середине | Лимиты хостинга: память (memory_limit), время выполнения, размер файла; спасает пошаговый режим |
Разбор главных ошибок
1. Полный обмен вместо изменений
Классика жанра: каждый час 1С отправляет на сайт весь каталог на 30 000 позиций, да ещё с картинками. Сайт пережёвывает гигабайты, посетители ждут, а к обеду обмены начинают наслаиваться друг на друга, как маршрутки в час пик. Куда спокойнее по-другому: в рабочее время передавать только изменения — цены и остатки лёгкие и улетают за минуты, — а полную синхронизацию каталога оставить на ночь или запускать вручную по необходимости. Отдельно стоит взглянуть на фото: при правильной настройке картинка передаётся один раз, а не путешествует туда-сюда при каждом обмене.
2. Сломанная идентификация
Сайт узнаёт товар по его внутреннему номеру из 1С — тому самому XML_ID. Пересоздали карточку номенклатуры, свернули базу, переехали на новую конфигурацию без переноса идентификаторов — и для сайта это уже незнакомцы: появляются дубли, теряются отзывы, слетают SEO-адреса, а старые карточки висят мёртвым грузом. Поэтому любые операции с номенклатурой в 1С, где затрагиваются идентификаторы, лучше планировать вместе с тем, кто отвечает за сайт. А если дубли уже завелись, лечить их стоит склейкой с сохранением старых адресов, а не удалением «лишних» — иначе вместе с дублями уедут и позиции в поисковиках.
3. Остатки, которые врут
Здесь обычно три подпричины. Первая — не сопоставлены склады: на сайт уходит сумма по всем складам сразу, включая брак и витринные образцы. Вторая — не вычитается резерв: товар вроде бы «есть», но он уже лежит в чужом заказе — и клиенту приходится звонить с неловким «извините, отменяем». Третья — обмен просто не проходит, и остатки на сайте недельной давности. Решение: на сайт передаётся расчётный «доступный к продаже» остаток — свободный остаток нужных складов минус резервы. А для торговли на маркетплейсах — ещё и с небольшим запасом-буфером; почему он важен, мы разбирали в статье про WB и Ozon.
4. Двойные скидки и несопоставленные цены
Если тип цены «Розничная» из 1С не сопоставлен с типом цены сайта, Битрикс молча живёт своей ценовой жизнью. Ещё коварнее двойные скидки: акцию посчитали в 1С, а на сайте настроены собственные правила корзины — и покупатель радостно получает скидку дважды. Бизнес обычно узнаёт об этом из отчёта о марже, и радости там заметно меньше. Правило простое: ценовая логика живёт в одном месте. Либо все скидки в 1С, либо все на сайте; гибриды возможны, но им нужна явная карта «кто за что отвечает».
5. Обмен без мониторинга
Самая дорогая ошибка — тишина. Обмен упал (закончилось место на диске, сменился пароль, обновление сломало совместимость) и молчит; цены и остатки застыли. Замечают это через недели — по жалобам клиентов. Минимальный мониторинг устроен просто: следим за временем последнего успешного обмена, и если прошло больше N часов — уведомление в почту или мессенджер ответственному. Это час работы — и именно этого часа почти ни у кого нет. Нашим клиентам на технической поддержке мы ставим такой контроль в первый же месяц.
6. Заказы: обратное направление тоже ломается
Обмен — дорога с двусторонним движением: заказы с сайта уходят в 1С, статусы возвращаются обратно. И здесь свои грабли. Статусы не сопоставлены — клиент в личном кабинете вечно видит «В обработке», хотя заказ давно отгружен, и идёт выяснять к менеджеру. Заказ редактируют одновременно в 1С и на сайте — изменения затирают друг друга; правило то же, что с ценами: после выгрузки в 1С заказ правится только в 1С. Наконец, двойной резерв: товар придерживают и сайт, и 1С — свободный остаток занижается вдвое, и на сайте «нет в наличии» при полном складе. Все три пункта ловятся за полчаса одним тестовым заказом, проведённым от корзины до отгрузки.
Чек-лист здорового обмена
- Изменения цен и остатков уходят на сайт каждые 15–30 минут и занимают минуты.
- Полная синхронизация — по расписанию ночью, вручную — только осознанно.
- Идентификация по XML_ID стабильна; операции с номенклатурой в 1С согласуются с сайтом.
- Склады сопоставлены, резервы вычитаются, на сайте — «доступный к продаже» остаток.
- Типы цен сопоставлены явно; скидки считаются в одном месте.
- Свойства каталога ревизуются раз в квартал — мусорные удаляются.
- Мониторинг: «обмена нет больше N часов» → уведомление ответственному.
- Лимиты хостинга под обмен проверены: пошаговая загрузка, memory_limit, тайм-ауты.
Когда штатного обмена не хватает
Штатный обмен по CommerceML закрывает типовой сценарий «каталог + цены + остатки + заказы». Дальше начинаются задачи, где без доработок не обойтись: производство под заказ и сложные сценарии резервирования, персональные B2B-цены с договорами, остатки с нескольких юрлиц, обмен в реальном времени через REST/HTTP-сервисы 1С вместо расписания. Это нормальная эволюция — важно лишь не строить сложные доработки там, где хватает настройки, и не мучить настройку там, где бизнес-логика уже переросла штатный механизм. Про технику нестандартного обмена у нас есть статья про обмен через cURL, а границу «настройка или доработка» дешевле всего определить аудитом.
Вывод
Обмен 1С и сайта ломается не потому, что технология сложная, а потому, что копятся мелочи: полные выгрузки, пересозданная номенклатура, несопоставленные цены и отсутствие мониторинга. Пройдитесь по чек-листу выше — большинство пунктов проверяются за один вечер, а избавляют от месяцев разбирательств и потерянных заказов.
Мы в Interland — золотой партнёр 1С-Битрикс в Новосибирске: настраиваем и лечим обмены 1С с сайтами и Битрикс24, развиваем интернет-магазины и держим обмены клиентов под постоянным мониторингом на поддержке. Если после этой статьи закрались сомнения в своём обмене — напишите нам в чат: бесплатно пройдёмся по нему по этому же чек-листу и честно скажем, что чинится настройкой, а где действительно нужна доработка.