Почему остатки на сайте не совпадают с 1С и как найти причину

В 1С десять штук, а на сайте — ноль. Не спешите запускать полную выгрузку: сначала нужно сравнить один и тот же товар, склад и момент времени. Расхождение может появиться ещё до передачи данных, при загрузке на сайт или только при показе карточки покупателю.

С чего начать, если в 1С товар есть, а на сайте его нет?

С одного конкретного товара. Например, синие кроссовки 42-го размера есть на основном складе, но покупатель не может положить их в корзину. Важно сравнивать именно этот вариант: остаток по всей модели не скажет, сколько осталось нужного размера.

Для проверки пригодятся ссылка на карточку, артикул, выбранный размер или цвет, склад и время последнего обмена. Если специалист найдёт внешний идентификатор товара и предложения в обеих системах, это поможет убедиться, что сравниваются связанные записи, а не две похожие карточки.

Затем можно проследить путь количества: что было в 1С, что ушло в выгрузку, что записалось в Битриксе и что увидел посетитель. На каком шаге цифра изменилась — там и нужно разбираться.

Вы сравниваете остаток или количество, доступное для продажи?

Это могут быть разные числа. Допустим, на складе лежит десять пар, четыре уже зарезервированы под заказы. Если магазин показывает свободное количество, посетитель увидит шесть. В таком примере разница объясняется правилами учёта.

В документации по складскому учёту Битрикса остаток и резерв рассматриваются отдельно. При поиске ошибки полезно сопоставить эти показатели, а также выяснить, какие склады участвуют в продаже на сайте. Остаток по всем складам компании может включать товар, недоступный для интернет-заказа.

Есть ещё время сравнения. Если товар продали в розничном магазине после последней выгрузки, сайт пока может показывать прежнее количество. Вопрос тогда в частоте и успешности обмена, а не в том, правильно ли он сопоставляет товар.

Обмен завершился. Почему цифры всё равно старые?

Сначала стоит посмотреть, какие данные действительно передавались. Обновление описаний и фотографий само по себе не подтверждает загрузку остатков. В описании формата обмена данные каталога, цен и остатков представлены разными файлами. Их состав зависит от версии и настроек используемого обмена.

Если в выгрузке у нужного предложения уже стоит ноль, сайт мог честно загрузить этот ноль. Тогда разбираться нужно с настройками выгрузки, отбором складов и данными на стороне 1С. Если выгружено десять, а в административной части сайта осталось ноль, проверяют загрузку, сопоставление записей и сообщения об ошибках.

Статус успешного сеанса полезен, но для спорной позиции нужны сами данные и результат их обработки. Перезапуск без этой проверки может повторить ту же ошибку и затруднить поиск исходного состояния.

Как понять, где искать дальше?

Три места, где можно сравнить количество одного товара
Что обнаружилиКуда смотреть
В 1С количество верное, в выгрузке другоеОтбор товаров и складов, резервы, правила подготовки данных
Выгрузка верная, в административной части сайта количество другоеХод импорта, внешние идентификаторы, загрузка нужного предложения и склада
В административной части количество верное, покупатель видит другоеВыбранный вариант товара, правила доступности, шаблон карточки и кеш

Это помогает разделить работу между разработчиком сайта и специалистом по 1С. Вместо спора «у нас всё выгружается» появляется конкретный вопрос: почему у предложения с определённым идентификатором на этом шаге получилось другое число?

Когда поможет очистка кеша?

Когда данные на сайте уже правильные, а посетителю показывается старая информация. Но если в административной части по-прежнему ноль, очистка кеша не загрузит недостающий остаток из 1С.

Даже при верной цифре в административной части причина может быть в шаблоне. Например, карточка показывает суммарный остаток модели, а возможность покупки зависит от выбранного размера. Поэтому результат нужно смотреть и в карточке, и при добавлении конкретного варианта в корзину.

Ручное исправление количества тоже бывает временным: следующий обмен может записать поверх него значение из учётной системы. Прежде чем менять остатки, важно договориться, какая система служит источником этих данных.

Нужна ли полная выгрузка каталога?

Иногда нужна — например, после исправления правил сопоставления или для повторной загрузки согласованного набора данных. Но запускать её как универсальное средство не стоит. В зависимости от настроек импорт может затронуть описания, активность товаров и другие поля, которые сотрудники правили на сайте.

Сначала лучше сохранить текущее состояние, разобраться с одной позицией и согласовать, какие данные будут перезаписаны. После исправления полезно проверить несколько разных случаев: товар с остатком, товар без остатка, предложение с размером и позицию с резервом. А затем дождаться следующего штатного обмена и убедиться, что проблема не вернулась.

Если расхождение появилось после обновления сайта, пригодится порядок проверки магазина после обновления. Само совпадение по времени ещё не доказывает причину, но помогает выбрать сеанс обмена для сравнения.

Для разбора обмена с WBStudio начните со ссылки на товар, ожидаемого количества и времени, когда заметили ошибку. Пароли и полную базу 1С в заявку прикладывать не нужно: необходимые доступы можно согласовать после знакомства с задачей.

Все статьи

Расскажите о задаче, мы подберём платформу и оценим работу