273 слов | 2 минуты
Статусы наличия товара в 1С-Битрикс
Разбор логики определения наличия товара в Битрикс: какие параметры каталога, SKU и компонентов влияют на статусы «Есть в наличии» и «Нет в наличии».
Условия определения наличия
В Битрикс всего два статуса наличия: «Есть в наличии» и «Нет в наличии». Они зависят от трёх параметров торгового каталога:
| Наличие | Условия |
|---|---|
| НЕТ | Все три условия выполнены одновременно: доступное количество ≤ 0, количественный учёт включён, покупка при отсутствии товара запрещена |
| ДА | Любое другое сочетание |
Добавить товар в корзину можно только при статусе «В наличии».
Складской учёт
Начиная с версии 12.5 в Битрикс доступны склады и учёт остатков по каждому из них. По умолчанию остатки на складах носят информационный характер и не влияют на статус наличия.
Складской учёт включается для всего сайта в настройках модуля «Интернет-магазин». После включения:
- Поля редактирования количества товара блокируются
- Количество изменяется только через документы (приходные, расходные)
CATALOG_QUANTITYвсегда равен сумме остатков по всем складам
Торговые предложения (SKU)
При наличии SKU у товара важно правильно настроить параметры наличия как для основного товара, так и для каждого предложения.
Проблема: если у основного товара не заданы параметры количественного учёта, а у всех его SKU нет в наличии — Битрикс считает основной товар доступным и предлагает его купить, что некорректно.
Параметр HIDE_NOT_AVAILABLE в компоненте bitrix:catalog скрывает отсутствующие товары, но работает корректно только когда параметры наличия заданы у основного товара:

При некорректной конфигурации товары с доступными SKU могут пропасть из списка:

Дополнительные сложности возникают при совместном использовании фильтра и скрытия отсутствующих товаров:

Рекомендация: для товаров с SKU всегда задавайте параметры количественного учёта на уровне основного товара, даже если сам товар не имеет собственного остатка.