Почему товары и остатки из 1С не доходят до сайта: частые ошибки обмена и как их найти без программиста
Короткий ответ: если товары, цены или остатки из 1С не появляются на сайте, сначала выясните, на каком шаге оборвалась цепочка: 1С не отправила данные, сайт их не принял или принял, но не показывает. В большинстве случаев причина не в поломке, а в настройке: у товара нет цены нужного типа, остаток на невыгружаемом складе, выключено расписание или поменялись идентификаторы. Ниже — где это смотреть, что проверить самому и что передать разработчику.
Статья — про каталог интернет-магазина: товары, характеристики, цены, остатки и картинки. Как устроен обмен и сколько стоит магазин с 1С, мы разбирали в статье «Интернет-магазин с обменом 1С», а способы связи 1С с другими системами — в разборе протоколов обмена. Здесь — только диагностика, когда «вчера работало, а сегодня нет».
С чего начать, если товары перестали появляться на сайте?
Начните с трёх вопросов: когда был последний успешный обмен, затронута одна позиция или весь каталог, и что меняли накануне. Ответы сразу сужают круг: одна позиция — почти всегда её карточка в 1С, весь каталог — обмен целиком.
Типовой обмен устроен так: 1С сама обращается к сайту, авторизуется, передаёт файлы в формате CommerceML и просит сайт их разобрать. По описанию протокола обмена с сайтом сайт на каждый шаг отвечает одним словом: success — готово, progress — продолжаю, повторите запрос, failure — ошибка, а дальше текст ошибки. Значит, сбой может случиться в трёх местах:
- 1С ничего не отправила. Обмен не запускался, товар не попал в отбор, нет цены или остатка, который должен уйти.
- Сайт не принял. 1С показала ошибку: неверный пароль, недоступен адрес, файл слишком большой, сервер не уложился во время.
- Сайт принял, но не показывает. Товар загрузился, но выключен, лежит в скрытом разделе, без цены не выводится в каталог или страница закэширована.
Найдите товар в админке сайта: есть, но не виден покупателю — третий случай; нет вовсе — смотрите в 1С.
Где смотреть журнал обмена?
В 1С — сообщение, которое она выдаёт при запуске обмена, и настройка обмена с сайтом. На сайте — в админке: в карточке товара (дата изменения, внешний код) и в логах обмена, если разработчик их включил.
Что именно искать:
- Дату последнего успешного обмена. Если она трёхдневной давности, дальше можно не копать: обмен не запускается, и причина в расписании, пароле или адресе.
- Текст ошибки целиком. Не «ошибка обмена», а вся строка после failure. Если вместо текста пришла HTML-страница, по протоколу это значит, что на сервере сайта случилась ошибка ядра или запроса к базе, — это уже задача разработчика.
- Длительность. Обмен, который шёл пять минут, а теперь час и обрывается, упёрся в объём: картинки, новые свойства, полную выгрузку.
- Карточку проблемного товара на сайте. Дата изменения подскажет, приходил ли товар с последним обменом. Внешний код — тот идентификатор из 1С, по которому сайт узнаёт товар.
| Что видно на сайте | Вероятная причина | Что сделать |
|---|---|---|
| Новый товар есть в 1С, на сайте его нет | Товар не попал в отбор выгрузки: другая группа номенклатуры или нет цены нужного типа | Сравнить карточку с товаром, который выгружается; проверить отбор в настройке обмена и цену того типа, который уходит на сайт |
| Товар на сайте есть, но «нет в наличии» | Остаток лежит на складе, который не выбран для выгрузки, или ушёл только каталог без файла остатков | Посмотреть, какие склады включены в обмен; убедиться, что последний обмен завершился полностью |
| Цена на сайте старая | На сайт идёт другой тип цен, новая цена записана документом с будущей датой или обмен давно не запускался | Проверить тип цен в настройке и дату документа установки цен; запустить обмен вручную |
| Вместо одной модели — десять товаров по размерам | Характеристики выгружаются как отдельные товары, а не как торговые предложения одной карточки | Передать разработчику: это настройка приёма на сайте, а не ошибка в 1С |
| После обмена каталог задвоился | Сменились внутренние идентификаторы: базу пересоздали, номенклатуру загрузили заново, товары завели на сайте вручную | Остановить расписание, ничего не удалять, отдать разработчику список пар «старый — новый» |
| Обмен висит или обрывается на середине | Тяжёлые картинки, лимит размера файла, таймаут сервера, слишком длинный шаг загрузки | Сохранить текст ошибки и время; попробовать выгрузку без картинок |
| Ничего не менялось несколько дней | Выключено расписание, истёк пароль пользователя обмена, сменился адрес сайта или сертификат | Посмотреть дату последнего успешного обмена и запустить его вручную |
Какие причины встречаются чаще всего?
Почти все случаи укладываются в семь причин, и большинство из них — настройки, а не поломки. Сверьте свой симптом с таблицей: она подскажет, где искать и кому передавать.
Почему товар есть в 1С, а на сайте его нет?
Обычно товар не попал в выгрузку: он вне отбора, у него нет цены того типа, что уходит на сайт, или нулевой остаток на выгружаемых складах. Реже сайт получил товар, но не показывает его по своим правилам.
По шагам:
- Отбор выгрузки. Типовые конфигурации 1С умеют выгружать не всю номенклатуру, а только отобранные товары — это прямо указано в описании обмена с интернет-магазином. Новую группу или новый вид номенклатуры часто забывают добавить в отбор.
- Тип цен. На сайт уходит конкретный тип: «Розничная», «Интернет», «Акция». Если менеджер завёл только оптовую цену, товар уйдёт без цены, а многие магазины такие позиции не показывают.
- Склад. Остаток считается по складам, включённым в обмен. Пришёл товар на новый склад или в розничную точку, которой нет в настройке, — для сайта его нет.
- Правила сайта. Магазин может скрывать товары без цены, без остатка или без картинки. Это настраивают при запуске и потом забывают.
Отдельный случай — товар исчез с сайта сам. В Битриксе приём каталога умеет деактивировать или удалять позиции, которых нет в файле, — это параметр в документации компонента импорта из 1С. Сузили отбор в 1С — при полной выгрузке сайт выключит то, что выпало.
Почему не обновляются остатки и цены?
Если карточки на месте, а остатки и цены застыли, обмен либо не запускается, либо обрывается до цен и остатков, либо передаёт не те склады и не тот тип цен. Начните с даты последнего успешного запуска.
- Расписание выключено. Обмен запускают по расписанию или вручную. После обновления 1С, переноса базы на другой сервер или смены пользователя расписание нередко перестаёт работать молча.
- Сменился пароль или адрес. Пароль пользователя обмена на сайте поменяли по требованиям безопасности, сайт переехал на новый домен или на https — 1С стучится по старым данным.
- Обмен обрывается. Данные передаются и разбираются по шагам. Если обмен прервался на середине, часть данных успеет обновиться, а цены и остатки могут остаться старыми.
- Только изменения. 1С умеет передавать лишь то, что поменялось с прошлого обмена. Если изменение по какой-то причине не попало в число изменённых, сайт может не узнать о нём до полной выгрузки.
- Кэш. В админке цена новая, а витрина отдаёт сохранённую страницу.
Откуда после обмена берутся дубли товаров?
Сайт узнаёт товар по внутреннему идентификатору из 1С — полю «Ид» в файле обмена, а не по названию или артикулу. Поменялся идентификатор — для сайта это новый товар, и рядом со старой карточкой появляется вторая.
Как это происходит на практике:
- базу 1С пересоздали или перенесли в новую конфигурацию, а номенклатуру загрузили заново из Excel;
- товары сначала завели на сайте вручную, а потом подключили обмен — у ручных карточек нет идентификаторов из 1С;
- характеристики (размер, цвет) раньше выгружались как отдельные товары, а потом их перенастроили на торговые предложения — или наоборот.
Не удаляйте дубли наугад. У старых карточек есть адреса в поиске, внешние ссылки, отзывы и история заказов. Правильный порядок — остановить расписание, составить таблицу соответствия «старая карточка — новый идентификатор», перепривязать старые карточки и только потом убрать лишнее. Как не потерять при этом позиции в поиске, мы писали в статье о технических вопросах SEO каталога. Про дубли покупателей и контрагентов — отдельный разбор.
Почему обмен обрывается на середине?
Обычно он не укладывается в ограничения сервера: файл больше допустимого, разбор шага идёт дольше, чем сервер ждёт ответа, или картинки слишком тяжёлые. Чем больше каталог, тем чаще это всплывает после очередного роста ассортимента.
Протокол предусматривает это: на шаге init сайт сообщает, принимает ли он архив zip и какой наибольший размер файла можно передать за один запрос, а большой файл 1С режет на части. Разбор тоже идёт по шагам: сайт отвечает progress, пока не закончит. В Битриксе на стороне сайта за это отвечают интервал одного шага, размер загружаемой части файла и сжатие zip — параметры перечислены в той же документации компонента импорта.
Что обычно помогает, по порядку:
- Выгрузить один раз без картинок. Прошло — проблема в тяжёлых изображениях.
- Уменьшить фото в 1С или включить на сайте автоматическое уменьшение картинок при загрузке.
- Включить zip и проверить, что размер части файла соответствует ограничениям хостинга.
- Сократить шаг разбора, чтобы каждый запрос укладывался во время ожидания сервера.
- Перейти с полной выгрузки на выгрузку изменений, а полную запускать ночью.
Пункты 3 и 4 — настройки сервера и сайта, их делает разработчик: неправильные значения дадут обмен, который идёт часами.
Что можно проверить самому за полчаса?
Без программиста можно пройти короткий список: дата последнего обмена, ручной запуск, сравнение проблемного товара с рабочим, тип цен, склады и картинки. Этого хватает, чтобы либо найти причину, либо собрать данные для разработчика.
- Найдите дату последнего успешного обмена: в админке сайта по дате изменения товаров, которые точно менялись в 1С.
- Запустите обмен вручную и дождитесь конца. Запишите текст ошибки целиком, если она появилась.
- Возьмите два товара: тот, что на сайт не доходит, и тот, что доходит. Сравните группу, вид номенклатуры, цену нужного типа и остаток по складам.
- Проверьте, что новые склады и группы, появившиеся за последний месяц, есть в настройке обмена.
- Найдите проблемный товар в админке сайта: есть ли он, активен ли, в каком разделе, когда менялся.
- Если товар на сайте задвоился, сравните внешний код (идентификатор из 1С) у двух карточек — если он разный, это смена идентификатора, а не сбой.
- Вспомните, что менялось: обновление 1С, перенос базы, новый хостинг, смена пароля, переход на https, массовая загрузка номенклатуры.
Чего не делать самому: не удалять товары на сайте пачкой, не очищать каталог «чтобы загрузилось заново» и не менять идентификаторы в 1С. Всё это превращает поправимую ошибку в потерю истории заказов и адресов в поиске.
Что передать разработчику, чтобы он нашёл причину быстрее?
Разработчику нужны факты, а не «обмен не работает»: текст ошибки, время, примеры товаров и список изменений. С таким набором причину обычно находят за один разбор, без переписки на неделю.
- скриншот или текст ошибки целиком, с датой и временем;
- два-три артикула, которые не доходят, и один, который доходит;
- что менялось перед сбоем — обновление 1С, перенос, новый склад или тип цен;
- название и версия конфигурации 1С и на чём сделан сайт;
- когда обмен в последний раз точно работал.
Доступы передавайте через менеджер паролей, а после разбора смените пароль пользователя обмена.
Как узнавать о сбое раньше покупателей?
Нужна автоматическая проверка: если обмена не было дольше заданного времени или он закончился ошибкой, в Telegram или на почту приходит сообщение. Тогда о застывших остатках вы узнаете за час, а не из жалобы покупателя.
Что разумно отслеживать:
- Время последнего успешного обмена. Порог — два-три интервала расписания: обмен раз в час, тревога через три часа тишины.
- Ответ failure. Сообщение с текстом ошибки сразу, без ожидания.
- Резкое изменение каталога. Если за один обмен выключилась треть товаров или число карточек удвоилось, это почти всегда ошибка в отборе или смена идентификаторов.
- Контрольный товар. Одна позиция, у которой цену меняют по расписанию; если на сайте она не поменялась — обмен стоит.
Уведомления о сбоях и журнал операций входят в работу по интеграции сайта с 1С: в состав тарифа включены обработка ошибок обмена, логирование и инструкция «что делать при сбое».
Когда разбираться не нужно и какие ошибки делают чаще всего?
Если на сайте десятки товаров и они меняются раз в месяц, обмен может быть не нужен: проще обновлять каталог вручную или загрузкой файла. Разбор нужен, когда сбои повторяются, а остатки и цены меняются каждый день.
Частые ошибки владельцев магазинов:
- Чинят следствие. Правят цену на сайте вручную — следующий обмен её перезапишет.
- Очищают каталог и загружают заново. Товары получают новые адреса, старые ссылки из поиска ведут на ошибку 404, история заказов отрывается от карточек.
- Обновляют 1С без проверки обмена. После обновления конфигурации запустите обмен вручную и проверьте пару товаров — это десять минут.
- Держат обмен без журнала и уведомлений. Сбой замечают через неделю, когда покупатели заказали то, чего нет.
- Не записывают настройку. Зафиксируйте хотя бы, какие склады, типы цен и группы выгружаются.
Если сбои стали частыми из-за роста каталога, а сайт и 1С связаны самописным модулем без документации, иногда разумнее переделать обмен, чем чинить его по кругу.
Сколько стоит починить или переделать обмен?
Разовый разбор сбоя оцениваем после того, как увидим ошибку и настройку. Переделка обмена сайта с 1С — тариф «Интеграции и автоматизация», от 32 000 ₽ и от 2 дней; новый магазин с обменом — от 104 000 ₽ и от 5 дней.
В тариф интеграции входит связка до двух систем, обмен товарами, остатками, заказами и статусами, обработка ошибок и логирование, проверка на реальных данных, инструкция по точкам обмена и 7 дней бесплатной поддержки после запуска. Гарантия по договору — 30 календарных дней с даты акта, отдельно от поддержки. Лицензии 1С и доработка самой конфигурации 1С в тариф не входят — мы стыкуем системы, а конфигурацию меняет ваш специалист по 1С или мы по отдельной оценке.
Если обмен работает, но за ним нужно присматривать, это поддержка — от 7 900 ₽ в месяц: следим за уведомлениями, разбираем сбои и проверяем обмен после обновлений 1С. Оплата — 50 % предоплаты и 50 % по акту; исполнитель освобождён от НДС по п. 1 ст. 145 НК РФ. Точную цену называем после брифа и фиксируем в договоре до старта.
Короткие ответы на частые вопросы
Почему товар есть в 1С, но не появляется в интернет-магазине?
Чаще всего у него нет цены того типа, который выгружается на сайт, он лежит в группе вне отбора выгрузки или его остаток числится на складе, не включённом в обмен. Сравните его с товаром, который на сайте есть, — разница обычно видна сразу.
Почему на сайте не обновляются остатки из 1С?
Либо обмен не запускается (выключено расписание, сменился пароль пользователя обмена), либо он падает на середине и до остатков не доходит, либо выгружаются не те склады. Начните с даты последнего успешного обмена.
Откуда берутся дубли товаров после обмена с 1С?
Сайт узнаёт товар по внутреннему идентификатору из 1С, а не по названию или артикулу. Если базу пересоздали или номенклатуру загрузили заново, идентификаторы поменялись, и сайт создаёт новые карточки рядом со старыми.
Можно ли просто удалить дубли на сайте?
Не стоит удалять наугад: у старых карточек есть адреса в поиске, отзывы и история заказов. Правильнее привязать старые карточки к новым идентификаторам и только потом убрать лишнее.
Что делать, если обмен с сайтом выдаёт ошибку?
Сохраните текст ошибки целиком, время и что меняли перед сбоем. По протоколу обмена сайт отвечает словом failure и описанием ошибки, а при сбое на сервере возвращает HTML-страницу — по этому тексту разработчик обычно и находит причину.
Услуги и кейсы по теме: интеграция с 1С и CRM от 32 000 ₽ · поддержка сайта от 7 900 ₽/мес · цены и сроки
Пришлите скриншот ошибки обмена и пару артикулов, которых нет на сайте, — подскажем, где сломалось и сколько займёт починка.
Рассчитать проект →Оценку срока и цены по брифу делаем бесплатно, обычно отвечаем в течение часа в рабочее время. Типовой договор — посмотреть до оплаты.
