БесплатноБесплатный аудит сайта и кода на 1С-Битрикс при заказе доработки или поддержки

Наличие, статусы товара и предзаказ в 1С-Битрикс

Наличие, статусы товара и предзаказ в 1С-Битрикс

Наличие — это первое, что ищет глазами покупатель, открыв карточку товара. Есть или нет? Когда привезут? Можно ли заказать сейчас? От ответов на эти вопросы зависит, нажмёт человек «В корзину» или уйдёт. И если наличие на витрине не совпадает с реальностью — товар помечен «в наличии», а на складе его нет, — магазин теряет дважды: сначала на отменённом заказе и звонке с извинениями, потом на репутации, потому что такой покупатель не вернётся. Честное наличие — это не мелочь оформления, а прямой фактор доверия и конверсии.

В этой статье разберём наличие товара в 1С-Битрикс без общих слов: какие бывают статусы товара («в наличии», «мало осталось», «под заказ», «ожидается», «нет в наличии», «снят с продажи»), где хранятся остатки на витрине и как их показывать по складам, как из остатка вычисляется статус и порог «мало осталось», как должна вести себя кнопка «В корзину» при каждом статусе, как устроен предзаказ и статус «под заказ», как работают «уведомить о поступлении» и «уведомить о снижении цены», что делать с резервами, скрывать или показывать товары без остатка (и какие тут SEO-последствия), как сделать фильтр «только в наличии» и как всё это синхронизируется обменом с 1С. Материал — выжимка из наших внедрений по разработке каталога товаров на 1С-Битрикс, где корректная работа с наличием закладывается в основу витрины.

Коротко

  • Честное наличие — фактор доверия и конверсии: статус на витрине должен совпадать с реальной возможностью получить товар.
  • Базовые статусы: «в наличии», «мало осталось», «под заказ», «ожидается», «нет в наличии», «снят с продажи» — и у каждого своё поведение кнопки.
  • Остатки хранятся в торговом каталоге (одно число или в разрезе складов); из остатка и настроек Битрикс вычисляет статус и доступность к покупке.
  • «Под заказ» и предзаказ — покупка при нулевом остатке с честным сроком поставки; включается параметром «разрешить покупку при отсутствии».
  • «Уведомить о поступлении» возвращает горячую аудиторию, а «мало осталось» — честный триггер срочности на основе реального остатка.
  • Товары без остатка не удаляют массово: временные — оставляют со статусом и подпиской, снятые — скрывают с корректными редиректами.

Честное наличие как фактор доверия

Начнём с главного тезиса, вокруг которого держится вся статья: наличие должно быть честным. Это значит, что статус, который видит покупатель, соответствует тому, что реально произойдёт после оформления заказа. «В наличии» — отгрузим сразу. «Под заказ» — привезём за понятный срок. «Нет в наличии» — купить прямо сейчас нельзя, но можно подписаться на возврат. Любое расхождение между обещанием на витрине и реальностью бьёт по бизнесу.

Почему честность здесь важнее «красоты»? Потому что наличие — это точка, где встречаются ожидание и опыт. Покупатель принимает решение о покупке, опираясь на статус. Если статус лжёт, разочарование наступает в самый болезненный момент — после того, как человек уже выбрал, оформил и настроился получить товар. Последствия конкретны:

И обратная сторона: честное, точное наличие повышает конверсию. Когда покупатель видит правдивый статус, реальный срок и остаток, он принимает решение спокойно и доверяет магазину. «Мало осталось» на основе настоящего остатка мягко подталкивает к покупке. «Под заказ, 5 рабочих дней» превращает отсутствие в предложение, а не в тупик. Поэтому работа с наличием — это не техническая формальность, а часть UX и маркетинга, которую проектируют осознанно.

Принцип: лучше честно показать «нет в наличии» и предложить подписку на поступление или аналог, чем оставить кнопку «Купить» на товаре, которого нет. Первое сохраняет доверие и часто возвращает покупателя, второе — гарантированно теряет его после отмены заказа.

Статусы товара: полный список

«Наличие» на практике — это не два состояния (есть / нет), а целая шкала статусов, каждый из которых несёт свой смысл для покупателя и требует своего поведения интерфейса. Разберём базовый набор, который используют в большинстве магазинов на 1С-Битрикс.

СтатусЧто значит для покупателяПоведение кнопки
В наличииТовар есть на складе, отгрузим сразу«В корзину» активна
Мало осталосьЕсть, но остаток ниже порога — стоит поторопиться«В корзину» активна + бейдж срочности
Под заказСейчас нет, привезём под заказ за N дней«В корзину» активна + срок поставки
ОжидаетсяПоступит к известной дате (будущая поставка)«Предзаказ» / «В корзину» + дата
Нет в наличииСейчас купить нельзя, но товар вернётся«Уведомить о поступлении»
Снят с продажиТовар больше не продаётся, замены нетКнопки нет; ссылка на аналог/раздел

Важно понимать: этот список — не жёсткий стандарт Битрикса, а логика, которую вы проектируете сами на основе остатков, настроек торгового каталога и свойств товара. Битрикс «из коробки» знает про количество и про флаг «разрешить покупку при отсутствии»; всё остальное — «мало осталось», «ожидается», «под заказ», человекочитаемые подписи и сроки — реализуется в шаблоне карточки и дополнительных свойствах. Поэтому первый шаг любого внедрения — договориться, какие статусы нужны именно этому магазину, что каждый означает и как он должен выглядеть и вести себя.

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

Статус товара → поведение кнопки Остаток + настройки В наличии кнопка активна Мало осталось активна + срочность остаток < порога Под заказ активна + срок покупка при 0 Ожидается предзаказ + дата Нет в наличии «уведомить» Снят с продажи кнопки нет
Схема: остаток и настройки торгового каталога определяют статус товара, а статус задаёт поведение кнопки заказа — от активной «В корзину» до «Уведомить о поступлении».

Где хранятся остатки в Битриксе

Чтобы управлять наличием, нужно понимать, откуда берётся сама цифра остатка. За товарную часть каталога в 1С-Битрикс отвечает модуль «Торговый каталог», который надстраивается над инфоблоком. Именно он добавляет к элементам инфоблока цену, единицы измерения и, главное для нас, количество (остаток).

В простом варианте (без складского учёта) наличие описывается несколькими полями товара или торгового предложения:

Есть глобальные настройки модуля торгового каталога (учитывать количество, разрешать покупку при отсутствии, вычитать резерв) и есть значения на уровне конкретного товара — они переопределяют глобальные. Такая двухуровневость удобна: по умолчанию задают политику для всего каталога, а для отдельных категорий или позиций настраивают исключения (например, глобально покупку при отсутствии запрещаем, а для группы «под заказ» разрешаем).

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

Терминология: «остаток» — количество товара, доступное для продажи. «Резерв» — часть остатка, отложенная под уже оформленные, но не выданные заказы. «Доступно к заказу» — остаток минус резерв. «Квота» (порог) — граница, ниже которой показываем «мало осталось». Дальше эти слова используются строго в этих значениях.

Остатки по складам и их отображение

Как только у магазина появляется больше одного места хранения — центральный склад, розничные точки, склад поставщика, — простое «количество» превращается в набор остатков по складам. В 1С-Битрикс за это отвечает складской учёт: включается работа со складами, и у каждого товара появляется остаток в разрезе каждого склада.

Отсюда возникает проектный вопрос: что именно показывать покупателю как «наличие»? Вариантов несколько, и выбор зависит от бизнес-модели:

Для магазинов с самовывозом особенно важно показывать наличие по точкам: покупатель хочет знать, в каком именно магазине забрать товар сегодня. Это тесно связано с резервированием под самовывоз — как связать остатки, точки выдачи и бронь, мы подробно разбирали в статье про самовывоз и резервирование в 1С-Битрикс.

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

Остатки складов → наличие на витрине Центральный склад остаток: 8 шт Магазин на Ленина остаток: 2 шт Склад поставщика под заказ, 5 дней Правило сумма / выбранный склад / по точкам Карточка товара В наличии: 10 шт • на Ленина — сегодня • центральный — 1 день • ещё — под заказ
Схема: остатки разных складов по заданному правилу (сумма, выбранный склад или список по точкам) собираются в общее наличие и статус на карточке товара.

Как статус вычисляется из остатка

Статус, который видит покупатель, — это не отдельное поле, которое кто-то проставляет вручную, а результат небольшой логики, которая работает в шаблоне карточки. На входе — остаток и настройки; на выходе — подпись статуса и поведение кнопки. Разберём эту логику по шагам, как она обычно строится.

  1. Учитываем ли количество вообще? Если для товара учёт количества выключен, он считается всегда доступным — статус «в наличии», кнопка активна. Такое бывает для услуг и нефизических товаров.
  2. Остаток больше порога «мало»? Если доступное количество выше порога — статус «в наличии», кнопка активна, без акцента на срочность.
  3. Остаток положительный, но ниже порога? Статус «мало осталось» — кнопка активна, добавляется бейдж срочности и, при желании, само число «осталось N шт».
  4. Остаток нулевой, но покупка при отсутствии разрешена? Статус «под заказ» (или «ожидается», если задан срок/дата) — кнопка активна, рядом показывается срок поставки.
  5. Остаток нулевой и покупка при отсутствии запрещена? Статус «нет в наличии» — вместо кнопки «В корзину» показывают «Уведомить о поступлении».
  6. Товар помечен снятым с продажи? Статус «снят с продажи» — кнопки нет, показывают ссылку на аналог или раздел.

Ключевая мысль: почти все статусы выводятся из двух входных данных — доступного остатка (с учётом резерва) и флага «разрешить покупку при отсутствии», плюс дополнительных свойств (порог «мало», дата поступления, флаг «снят с продажи»). Это делает систему предсказуемой: изменился остаток при обмене — статус пересчитался автоматически, руками ничего трогать не нужно. Ошибки с наличием почти всегда возникают не в этой логике, а на входе: неверный остаток пришёл из 1С или порог задан не тот.

Реализуют эту логику в шаблоне компонента карточки (bitrix:catalog.element) или в товарной карточке комплексного компонента. Битрикс отдаёт в шаблон готовые признаки доступности (можно ли купить, можно ли докупить), а подписи статусов и сроки берут из свойств. Важно, чтобы одна и та же логика работала и в карточке, и в списке товаров, и в мини-корзине — иначе покупатель увидит «в наличии» в списке и «нет» в карточке.

Порог «мало осталось» и квоты

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

Как задают порог:

Главное правило работы с «мало осталось»: оно должно быть настоящим. Соблазн включить «осталось 2 шт» на всех товарах ради искусственной срочности — плохая идея. Накрученная срочность работает ровно до первого разоблачения: покупатель видит «осталось 2 шт» неделю подряд или замечает то же на десятке товаров — и перестаёт верить не только этому бейджу, но и всему магазину. Честный «мало осталось» на основе реального остатка — сильный триггер; фальшивый — подрыв доверия, то есть удар по той самой конверсии, ради которой его ставили.

Практика: показывать точное число («осталось 3 шт») стоит там, где оно реально мотивирует и не пугает менеджеров логистики. Иногда безопаснее вывести мягкое «мало осталось» без цифры — оно создаёт срочность, но не обещает конкретный остаток, который может измениться между обменами.

Поведение кнопки «в корзину»

Кнопка заказа — то место, где статус превращается в действие. Именно поведение кнопки покупатель воспринимает как «можно купить или нет», поэтому её состояние должно строго соответствовать статусу. Сведём поведение в таблицу — это, по сути, спецификация для верстальщика карточки.

СтатусКнопка и текстЧто рядом
В наличииАктивная «В корзину»Иконка/подпись «в наличии», срок доставки
Мало осталосьАктивная «В корзину»Бейдж «мало осталось», при желании число
Под заказАктивная «В корзину» или «Заказать»Срок поставки: «под заказ, N дней»
ОжидаетсяАктивная «Оформить предзаказ»Дата поступления, пометка «предзаказ»
Нет в наличии«Уведомить о поступлении»Поле e-mail/телефон для подписки
Снят с продажиКнопки нетСсылка на аналог или раздел каталога

Несколько правил, которые важно соблюсти в реализации кнопки:

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

Статус «под заказ»

«Под заказ» — статус для товаров, которых нет на складе прямо сейчас, но которые магазин привозит под конкретный заказ за известный срок. Это очень выгодный статус: он позволяет продавать ассортимент, который вы физически не держите на складе, не замораживая деньги в остатках. Для многих ниш (мебель, оборудование, автозапчасти) «под заказ» — это основная модель продаж.

Механически «под заказ» — это разрешённая покупка при нулевом остатке. Включается флагом «разрешить покупку при отсутствии» — глобально или для конкретных товаров и категорий. Когда флаг включён, кнопка «В корзину» остаётся активной даже при остатке 0, и покупатель оформляет заказ как обычно. Но одной механики мало — «под заказ» требует правильной коммуникации:

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

Предзаказ: заказ того, чего нет

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

Классические сценарии предзаказа:

Технически предзаказ реализуется той же механикой «покупка при отсутствии», но с важными дополнениями:

  1. Флаг «предзаказ» и дата поступления. Товару задают признак предзаказа и ожидаемую дату — они хранятся в свойствах и выводятся в карточке.
  2. Особая кнопка и текст. Вместо «В корзину» — «Оформить предзаказ», рядом — «поступит ориентировочно к дате». Покупатель ясно понимает, что товар приедет не сразу.
  3. Особый статус заказа и коммуникация. Заказы-предзаказы удобно помечать отдельным статусом, чтобы менеджеры и обмен с 1С понимали: это ожидание поставки, а не отгрузка со склада.
  4. Оплата. Решают, брать ли предоплату сразу или списывать при поступлении — это зависит от модели и доверия к срокам поставки.
  5. Уведомление при поступлении. Когда товар приходит (положительный остаток по обмену), предзаказчикам сообщают, что заказ переходит в отгрузку.

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

Сценарий предзаказа 1. Предзаказ остаток 0, покупка разрешена кнопка «Оформить» 2. Ожидание дата поступления, статус заказа «предзаказ» 3. Поступление обмен с 1С даёт остаток > 0 товар пришёл 4. Отгрузка уведомили покупателя, заказ в работе Условие успеха: честная дата поступления и уведомление при сдвиге сроков срыв обещанной даты превращает предзаказ из преимущества в негатив
Схема: предзаказ проходит путь от оформления на отсутствующий товар через ожидание и поступление по обмену до уведомления покупателя и отгрузки; всё держится на честности сроков.

Статус «ожидается» и сроки

«Ожидается» — статус для товара, который сейчас отсутствует, но точно поступит к известной или ориентировочной дате. От «под заказа» он отличается тем, что привязан к конкретной поставке и дате, а не к абстрактному «привезём под заказ». По сути это разновидность предзаказа, оформленная как отдельный статус с датой.

Ключевой элемент этого статуса — дата или срок поступления. Именно она превращает «нет в наличии» в «ожидается»: покупатель видит не тупик, а понятное «поступит к дате» и может либо подождать, либо оформить предзаказ. Дату хранят в свойстве товара и обновляют — вручную или через обмен с учётной системой, если 1С знает плановые даты поставок.

Как показывать сроки честно и полезно:

Отдельно стоит связать «ожидается» с механизмом «уведомить о поступлении»: даже если покупатель не хочет оформлять предзаказ прямо сейчас, он может подписаться и получить письмо в день поступления. Так статус «ожидается» работает и как продающий (предзаказ), и как удерживающий (подписка) одновременно.

Резервы и «доступно к заказу»

До сих пор мы говорили про остаток как про простое число. Но между «сколько лежит на складе» и «сколько можно продать» стоит важная величина — резерв. Резерв — это часть остатка, отложенная под уже оформленные, но ещё не выданные заказы. Игнорировать его — прямой путь к тому, чтобы продать одну и ту же последнюю единицу дважды.

Логика простая: доступно к заказу = остаток − резерв. Именно доступное количество, а не «сырой» остаток, должно определять статус на витрине. Если на складе 3 шт, но 2 уже зарезервированы под оформленные заказы, покупатель должен видеть, что доступна 1 шт, а не 3.

В 1С-Битрикс резервирование настраивается в модуле торгового каталога и в бизнес-процессе заказа:

Резервирование особенно важно там, где несколько каналов продаж делят один остаток: сайт, розница, маркетплейсы. Без резерва и без частого обмена остатками эти каналы неизбежно начнут продавать одно и то же. Подробно связку резервов, самовывоза и брони под конкретную точку мы разбирали в статье про самовывоз и резервирование в 1С-Битрикс.

Уведомить о поступлении

Товар закончился — но интерес покупателя никуда не делся. Механизм «уведомить о поступлении» превращает отсутствие товара из потерянной продажи в отложенную. Вместо кнопки «В корзину» на товаре без остатка показывают «Уведомить о поступлении»: покупатель оставляет e-mail (или телефон), и когда товар возвращается в продажу, система сама присылает ему письмо со ссылкой на карточку.

Ценность механизма в том, что он собирает самую горячую аудиторию — людей, которые уже хотели купить конкретный товар, но не застали его в наличии. Это не холодный трафик, а готовые покупатели, которым нужно лишь напомнить, что товар снова доступен.

Как это устроено в 1С-Битрикс:

  1. Подписка на товар. В модуле каталога есть штатная механика подписки на наличие: покупатель на карточке отсутствующего товара оставляет контакт, подписка сохраняется в базе с привязкой к товару.
  2. Отслеживание остатка. Когда по товару приходит положительный остаток (обычно после обмена с 1С), это фиксируется как событие «товар снова в наличии».
  3. Рассылка уведомлений. Механизм (агент/событие) находит всех подписавшихся на этот товар и отправляет им письмо «товар снова в продаже» со ссылкой; подписка после отправки закрывается.
  4. Возврат на сайт. Покупатель по ссылке из письма возвращается в карточку, где теперь активна кнопка «В корзину».

Что важно для конверсии этого инструмента: кнопка «Уведомить» должна быть заметной (а не спрятанной), форма — короткой (в идеале один e-mail), а письмо о поступлении — быстрым (уходить в тот же день, когда пришёл остаток) и вести прямо в карточку. И, конечно, механизм должен корректно связываться с обменом: остаток обновился в 1С → пришёл на сайт → сработала рассылка. Если обмен остатками настроен плохо, уведомления либо не уходят, либо уходят с задержкой, когда товар снова успел закончиться.

«Уведомить о поступлении» Нет в наличии покупатель жмёт «Уведомить», оставляет e-mail Подписка сохранена в базе с привязкой к товару Обмен с 1С приносит остаток > 0 — товар вернулся Письмо «снова в продаже» + ссылка покупатель возвращается в карточку — кнопка «В корзину» уже активна
Схема: подписка на отсутствующий товар → обмен приносит остаток → система рассылает письма подписавшимся → покупатель возвращается в карточку с активной кнопкой заказа.

Уведомить о снижении цены

Рядом с «уведомить о поступлении» логично стоит родственный инструмент — «уведомить о снижении цены». Механика та же (подписка + событие + рассылка), но триггер другой: письмо уходит не когда товар вернулся в наличие, а когда его цена опустилась. Это работает для аудитории, которую устраивает товар, но не устраивает текущая цена: она подписывается и ждёт скидки.

Как это устроено и чем полезно:

Этот инструмент менее универсален, чем «уведомить о поступлении»: он полезен там, где цены действительно меняются и покупатели готовы ждать выгоды (техника, сезонные товары). Для магазинов со стабильными ценами он избыточен. Но там, где он уместен, он превращает пассивных «пока дорого» посетителей в базу, которую можно активировать одним снижением цены. Оба механизма — про наличие и про цену — строятся на одной идее: не терять заинтересованного покупателя, а дать ему способ вернуться, когда изменится то, что его останавливает.

Скрывать или показывать без остатка

Один из самых спорных вопросов работы с наличием: что делать с товарами, которых нет на складе — скрывать их с витрины или оставлять со статусом «нет в наличии»? Неверное решение бьёт либо по SEO, либо по UX, поэтому разберём его внимательно.

Сначала — почему нельзя действовать по принципу «нет остатка — прячем»:

Правильный подход — разделять товары по причине отсутствия:

СитуацияЧто делатьПочему
Временно закончился, вернётсяОставить на витрине, статус «нет в наличии» + «уведомить»Сохраняем позиции и собираем подписки
Под заказ у поставщикаПоказывать со статусом «под заказ» и срокомПродаём без остатка на складе
Снят с производства, замена естьСкрыть, 301-редирект на аналогПередаём вес и трафик на замену
Снят навсегда, замены нетСкрыть, корректный 404/410Не копим «мёртвые» страницы

Итог: временно отсутствующие товары не скрывают — их оставляют на витрине со статусом и подпиской, чтобы не терять ни позиции, ни покупателей. Скрывают только то, что действительно ушло навсегда, и делают это аккуратно — с редиректами на аналоги или корректным кодом ответа. Такая политика одновременно бережёт SEO и не показывает покупателю тупиковых страниц с активной кнопкой «Купить» на несуществующем товаре.

Важно для SEO: сама по себе страница товара «нет в наличии» не вредит индексу, если она честная и полезная (описание, характеристики, кнопка «уведомить»). Вредит другое — активная кнопка «Купить» на товаре, которого нет, и массовое удаление страниц с трафиком. Первое подрывает доверие, второе рушит позиции.

Фильтр «только в наличии»

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

Как это реализуется в 1С-Битрикс:

Тонкий момент — производительность и корректность фасета. Фильтр по наличию должен работать быстро даже на больших каталогах, а значит, признак наличия должен входить в фасетный индекс умного фильтра, а не вычисляться на лету для каждого товара. И он должен своевременно пересчитываться при изменении остатков — иначе фильтр «только в наличии» покажет товар, который уже закончился. Как устроен сам механизм фасетов и его индекс, мы подробно разбирали в статье про умный фильтр в 1С-Битрикс — фильтр по наличию встраивается в ту же систему.

С точки зрения UX «только в наличии» лучше делать заметным переключателем в шапке фильтра или над списком товаров, а не прятать в глубине опций. А сортировку «сначала доступные» многие магазины включают по умолчанию — так покупатель в первую очередь видит то, что может купить сразу, но при этом отсутствующие товары остаются в каталоге и собирают подписки.

Наличие на витрине: карточка и список

Мы разобрали логику статусов — теперь про то, как наличие показывают покупателю в интерфейсе. Наличие живёт не только в карточке товара: оно должно быть согласованно видно на всех уровнях витрины.

В списке товаров

В каталоге и результатах поиска у каждой карточки-плитки показывают компактный индикатор наличия: цветной бейдж «в наличии» / «под заказ» / «нет в наличии» и кнопку заказа в соответствующем состоянии. Это помогает покупателю ещё на этапе просмотра списка понять, что доступно, и не заходить в карточки отсутствующих товаров зря. Здесь же работает сортировка «сначала в наличии» и фильтр по наличию.

В карточке товара

В карточке наличие раскрывают подробнее: статус, доступное количество или «мало осталось», срок поставки для «под заказ», дату для «ожидается», а для мультискладовых магазинов — наличие по складам или пунктам выдачи. Рядом — кнопка в правильном состоянии и, при отсутствии, форма «уведомить о поступлении». Важно, чтобы информация о наличии была на видном месте, рядом с ценой и кнопкой, а не спрятана внизу.

В корзине и оформлении

Наличие проверяется и в корзине: если товар успел закончиться между добавлением и оформлением, покупателя предупреждают, а не дают оформить недоступное. Битрикс перепроверяет доступность при оформлении заказа — задача интерфейса в том, чтобы это происходило мягко и понятно, а не ошибкой на финальном шаге.

Сквозной принцип — согласованность. Один и тот же товар должен иметь один и тот же статус в списке, в карточке, в корзине и в мини-корзине. Рассогласование («в списке в наличии, в карточке нет») — верный признак того, что логику наличия дублировали в разных шаблонах вместо единого источника. Поэтому вычисление статуса выносят в общий код (функцию/сервис), а шаблоны только отображают готовый результат.

Снят с продажи и архив

Отдельный статус, который часто забывают, — «снят с продажи». Это товары, которые больше не продаются и не вернутся: сняты с производства, выведены из ассортимента, замена отсутствует. Их нельзя просто удалить из базы (они нужны в истории заказов), но и держать как обычный товар с кнопкой «Купить» бессмысленно.

Как правильно обращаться со снятыми товарами:

Разница между «нет в наличии» и «снят с продажи» принципиальна: первое — временно и обратимо (товар вернётся, есть смысл в подписке и сохранении страницы), второе — окончательно (товара больше не будет, задача — увести покупателя на замену и не копить мусор в индексе). Смешивать их — значит либо терять позиции временно отсутствующих товаров, либо держать на витрине вечные тупики.

Обмен статусов и остатков с 1С

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

Как устроен обмен остатками. Стандартный обмен 1С-Битрикса с 1С (через коммерческую информацию, CommerceML) передаёт на сайт не только товары и цены, но и остатки. В зависимости от настройки это могут быть общие количества или остатки в разрезе складов. Битрикс обновляет количество у товаров, а логика статусов уже пересчитывает наличие из свежих цифр.

Ключевые вопросы, которые определяют, будет ли наличие честным:

Обмен остатками — большая тема сама по себе, особенно когда складов несколько или подключён WMS с адресным хранением. Как собрать корректную цифру наличия из нескольких источников и не рассинхронизировать каналы, мы подробно разобрали в статье про обмен остатками с нескольких складов и WMS. Если же интеграция с 1С только проектируется, надёжный обмен остатками мы закладываем в рамках услуги по созданию интернет-магазина с интеграцией 1С — потому что честное наличие невозможно без правильно настроенного обмена.

Реализация в 1С-Битрикс

Соберём в одном месте, какими штатными средствами реализуется всё описанное, — чтобы было понятно, что где настраивается.

ЗадачаИнструмент 1С-Битрикс
Хранение остаткаМодуль «Торговый каталог», поле количества товара/предложения
Покупка при отсутствииНастройка «Разрешить покупку при отсутствии» (глобально и по товару)
Остатки по складамСкладской учёт, остатки в разрезе складов
РезервированиеНастройки резерва в торговом каталоге и в статусах заказа
Статусы и срокиПользовательские свойства (порог «мало», дата, флаги) + логика в шаблоне карточки
Карточка и списокbitrix:catalog.element, bitrix:catalog.section (шаблоны)
Уведомить о поступленииШтатная подписка на товар (модуль каталога) + рассылка при появлении остатка
Фильтр «только в наличии»Признак наличия в умном фильтре (bitrix:catalog.smart.filter) + фасетный индекс
Актуальность остатковОбмен с 1С (CommerceML), частая выгрузка количеств, привязка по XML_ID

Как это связывается на практике. Остаток и флаг покупки при отсутствии — это фундамент: Битрикс сам решает, можно ли купить товар. Свойства (порог «мало», дата поступления, флаг «снят с продажи», срок «под заказ») добавляют статусам смысл, которого нет «из коробки». Шаблон карточки собирает из остатка, флагов и свойств готовый статус, подпись и состояние кнопки; ту же логику выносят в общий код, чтобы список, карточка и корзина показывали одно и то же. Подписка на товар обеспечивает «уведомить о поступлении». Умный фильтр даёт «только в наличии». А обмен с 1С держит всё это в актуальном состоянии, регулярно обновляя количества. Задача разработчика — связать эти части так, чтобы статус всегда был честным и вычислялся автоматически из свежих данных.

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

Пошагово: настраиваем наличие

Сведём всё в практическую последовательность — так мы настраиваем работу с наличием на реальных проектах, от политики статусов до приёмки.

  1. Определить набор статусов. Решить, какие статусы нужны магазину: минимум «в наличии / под заказ / нет в наличии», при необходимости — «мало осталось», «ожидается», «снят с продажи». Описать смысл каждого.
  2. Настроить учёт количества. Включить учёт остатков в торговом каталоге, при нескольких складах — складской учёт; задать, что показывать как витринное наличие (сумма, выбранный склад, по точкам).
  3. Задать политику «покупка при отсутствии». Осмысленно по категориям: где разрешаем «под заказ» и предзаказ, где — запрещаем и показываем «нет в наличии».
  4. Завести свойства статусов. Порог «мало осталось», срок «под заказ», дата «ожидается», флаг «снят с продажи», признак наличия для фильтра.
  5. Реализовать логику статуса. В общем коде вычислять статус, подпись и состояние кнопки из остатка, резерва, флагов и свойств; подключить эту логику к карточке, списку и корзине.
  6. Настроить резервирование. Момент постановки резерва, вычитание резерва из доступного, снятие при отгрузке/отмене, срок жизни резерва для неоплаченных заказов.
  7. Подключить «уведомить о поступлении». Кнопка и форма на отсутствующих товарах, сохранение подписок, рассылка при появлении остатка; при необходимости — «уведомить о снижении цены».
  8. Добавить фильтр «только в наличии». Признак наличия в умном фильтре и фасетном индексе; при желании — сортировку «сначала доступные».
  9. Настроить обмен остатками с 1С. Частую выгрузку количеств (чаще, чем товаров), остатки по складам, привязку по XML_ID, согласование резервов.
  10. Определить политику скрытия. Правила для временно отсутствующих (оставляем + подписка), под заказ, снятых с продажи (редиректы/404); не скрывать всё подряд.
  11. Проверить и принять. Пройти по чек-листу: статусы честные и согласованы везде, кнопка соответствует статусу, обмен обновляет остатки, резервы работают, фильтр и уведомления функционируют.

Заметьте, что «включить остатки» — лишь один из одиннадцати шагов. Основная работа — в политике статусов, логике их вычисления, резервах и, главное, в настройке обмена, от частоты которого напрямую зависит, будет ли наличие честным. Наличие — это не галочка, а система, которую проектируют под конкретный магазин.

Частые ошибки

Мини-FAQ. Как часто выгружать остатки из 1С? Настолько часто, насколько быстро уходит товар и насколько критичен рассинхрон: для магазина с общими с розницей остатками — вплоть до нескольких раз в час или по событию; для каталога «под заказ» — реже. Ориентир простой: если в течение дня реально продать последнюю единицу в другом канале, суточного обмена мало.

Чек-лист

Сведём в практический список то, что проверяют при настройке и приёмке работы с наличием перед запуском.

  1. Статусы определены. Набор статусов подобран под магазин, у каждого понятный смысл и оформление.
  2. Наличие честное. Статус на витрине совпадает с реальной возможностью получить товар; ложного «в наличии» нет.
  3. Кнопка соответствует статусу. «В корзину» активна только там, где купить можно; на отсутствующем — «уведомить»; на снятом — кнопки нет.
  4. Остатки по складам настроены. Витринное наличие собирается по заданному правилу; для самовывоза видно наличие по точкам.
  5. Порог «мало» задан осмысленно. Квота подходит под тип товара; «мало осталось» основано на реальном остатке.
  6. Под заказ и предзаказ со сроком. У «под заказ» есть срок, у «ожидается» — дата; сроки честные и обновляются.
  7. Резервы работают. Доступное = остаток − резерв; резерв ставится и снимается корректно, «зависших» нет.
  8. Уведомления функционируют. «Уведомить о поступлении» собирает подписки и рассылает письма при появлении остатка.
  9. Фильтр «только в наличии». Признак наличия в фасетном индексе, фильтр быстрый и актуальный.
  10. Согласованность везде. Один статус в списке, карточке, корзине; логика вынесена в общий код.
  11. Политика скрытия. Временные — на витрине с подпиской; снятые — скрыты с редиректами/404; массового удаления нет.
  12. Обмен остатками настроен. Частая выгрузка количеств, привязка по XML_ID, согласование резервов; наличие на сайте совпадает с учётом.

Вывод

Наличие — это не строчка «есть / нет» под ценой, а система, от которой напрямую зависят доверие и конверсия. Честный статус, совпадающий с реальностью; понятная кнопка, состояние которой соответствует статусу; корректные остатки по складам; «под заказ» и предзаказ с честным сроком; «мало осталось» на основе настоящего остатка; «уведомить о поступлении», возвращающее горячую аудиторию; и, в основе всего, надёжный обмен, который держит остатки актуальными, — вот из чего складывается работающее наличие в 1С-Битрикс. Сделаете это честно и аккуратно — и покупатель будет верить статусам, а магазин перестанет продавать то, чего нет.

Практический вывод один: наличие проектируют осознанно, а не оставляют «по умолчанию». Определите статусы под свой магазин; настройте покупку при отсутствии по категориям, а не глобальной галочкой; вычисляйте статус из остатка и резерва единой логикой; не скрывайте временно отсутствующие товары; и, главное, наладьте частый обмен остатками — потому что даже идеальная логика статусов бесполезна, если на вход ей приходят вчерашние цифры. Сделайте это правильно — и наличие превратится из источника отмен и жалоб в фактор доверия и продаж. А если работу с наличием, статусами и предзаказом нужно настроить с нуля или привести в порядок, мы помогаем с этим в рамках разработки каталога товаров на 1С-Битрикс и создания интернет-магазина с интеграцией 1С. Больше разборов по теме — в рубрике «Каталог и поиск».

Частые вопросы

Что значит «честное наличие» и почему это важно для конверсии?

Честное наличие — это когда статус товара на витрине совпадает с реальной возможностью его получить: «в наличии» означает, что товар есть и его отгрузят сразу; «под заказ» — что его привезут за понятный срок; «нет в наличии» — что купить прямо сейчас нельзя. Важно это потому, что наличие напрямую влияет на доверие и повторные покупки. Если покупатель оформил заказ на товар, помеченный «в наличии», а потом ему звонят и говорят «извините, на самом деле нет», он не вернётся — и расскажет другим. Честное наличие снижает отмены, разгружает менеджеров и повышает конверсию, потому что человек принимает решение, опираясь на правдивую информацию, а не на приятную картинку.

Где в 1С-Битрикс хранятся остатки товара?

В модуле «Торговый каталог» у товарного предложения есть поле количества (остаток) и флаг «Количество товара на сайте» / «Разрешить покупку при отсутствии». В простом варианте остаток — это одно число на товар. Если включён складской учёт, остатки хранятся в разрезе складов: у каждого склада своё количество по каждому товару, а общий остаток на витрине — это сумма (или остаток выбранного склада) по правилам, которые вы задаёте. Обмен с 1С обновляет именно эти количества. На основе остатка и настроек Битрикс вычисляет, доступен ли товар к покупке и какой статус показать в карточке.

Чем статус «под заказ» отличается от предзаказа?

«Под заказ» — это товар, которого нет на складе прямо сейчас, но который поставщик привезёт под конкретный заказ за известный срок; его можно заказать в любой момент, срок отгрузки сдвинут. Предзаказ — это оформление заказа на товар, который ещё не поступил в продажу вообще (новинка, будущая поставка) или временно закончился, с указанием ожидаемой даты появления. По механике они похожи: в обоих случаях покупатель оформляет заказ на отсутствующий на складе товар, а Битрикс разрешает покупку при нулевом остатке. Разница в смысле и коммуникации: «под заказ» — про регулярную поставку под клиента, предзаказ — про ожидание конкретной даты поступления. И там, и там ключевое условие — честно показать срок и не создавать у покупателя ложного ощущения, что товар уедет сегодня.

Как разрешить покупку товара, которого нет в наличии?

В настройках торгового каталога есть параметр «Разрешить покупку при отсутствии товара». Когда он включён (глобально или для конкретных товаров), кнопка «В корзину» остаётся активной даже при нулевом остатке — это и есть механика «под заказ» и предзаказа. Обычно такие товары дополнительно помечают статусом «под заказ» или «предзаказ» и выводят срок поставки, чтобы покупатель понимал, что отгрузка будет не сразу. Важно настроить это осознанно: для одних категорий (например, ходовой ассортимент со стабильной поставкой) покупку при отсутствии разрешают, для других (уникальные позиции, которые больше не привезут) — запрещают и показывают «нет в наличии» без активной кнопки.

Как работает «уведомить о поступлении»?

Это подписка на возврат товара в продажу. У товара, которого нет в наличии, вместо кнопки «В корзину» показывают кнопку «Уведомить о поступлении». Покупатель оставляет e-mail (или телефон), система запоминает подписку. Когда по товару приходит положительный остаток — обычно после обмена с 1С — срабатывает механизм, который отправляет всем подписавшимся письмо «товар снова в наличии» со ссылкой на карточку. В 1С-Битрикс за это отвечает штатная подписка на товар (в модуле каталога есть таблица подписок и агент/событие, рассылающие уведомления при появлении остатка). Это простой инструмент, который возвращает на сайт «горячую» аудиторию — людей, которые уже хотели купить, но не застали товар.

Скрывать или показывать товары, которых нет в наличии?

Универсального ответа нет — решают по ситуации. Полностью скрывать (деактивировать) стоит товары, которые больше никогда не появятся: снятые с производства, разовые позиции. Их убирают с витрины и настраивают корректный ответ по их бывшим URL (301 на аналог или раздел, либо 404/410), чтобы не копить «мёртвые» страницы. Товары, которые временно закончились, но вернутся, лучше не скрывать, а оставлять на витрине со статусом «нет в наличии» и кнопкой «уведомить о поступлении»: страница продолжает собирать трафик и подписки, а её позиции не теряются. Массово удалять или деактивировать всё, чего нет на складе, — частая ошибка: она бьёт по SEO (страницы с трафиком исчезают из индекса) и по продажам (теряются подписки на возврат).

Как настроить порог «мало осталось»?

Статус «мало осталось» показывают, когда остаток товара падает ниже заданного порога (квоты), но ещё больше нуля. Порог задают либо глобально (например, показывать «осталось мало», когда на складе меньше N штук), либо индивидуально для товара/категории через отдельное свойство. Технически это логика в шаблоне карточки: сравнивают текущий остаток с порогом и выводят соответствующий бейдж. Порог подбирают под товар: для штучной дорогой техники «мало» — это 1–2 шт., для расходников — десятки. Статус «мало осталось» работает как честный триггер срочности: он подталкивает к покупке, но, в отличие от накрученных таймеров, основан на реальном остатке и потому не подрывает доверие.

Почему магазин продаёт то, чего нет, и как это предотвратить?

Главная причина — рассинхрон остатков между сайтом и учётной системой. Если обмен с 1С идёт редко (раз в сутки), в течение дня остатки на сайте устаревают: товар уже продали в офлайне или по другому каналу, а на витрине он ещё «в наличии». Вторая причина — отсутствие резервирования: два покупателя одновременно кладут в корзину последнюю единицу. Предотвращают это несколькими мерами: учащают обмен остатками (или переходят на оперативный обмен по событию), включают резервирование товара при оформлении заказа, показывают «мало осталось» при низком остатке и не завышают наличие искусственно. На больших каталогах с несколькими складами помогает нормальная схема обмена остатками и адресного хранения — про это у нас есть отдельный разбор.

Поделиться:

Магазин продаёт то, чего нет, или наличие путает покупателя?

Настроим честное наличие: статусы и предзаказ, остатки по складам, поведение кнопки заказа, «уведомить о поступлении», резервы и частый обмен остатками с 1С — так, чтобы покупатель доверял статусам, а вы не теряли заказы на отменах. Рассчитаем стоимость по вашему проекту.

Услуга «Каталог товаров»

Игорь Воскресенский

Основатель студии B2Bsite. С 2014 года команда разрабатывает и поддерживает интернет-магазины и корпоративные сайты на 1С-Битрикс, настраивает наличие и статусы товаров, предзаказ, остатки по складам, умный фильтр и обмен остатками с 1С для среднего и крупного бизнеса.

← Все статьи блога