Главная » Интернет-магазин » Каталог » Товары под заказ и предзаказ в Битрикс

Товары под заказ и предзаказ в Битрикс

Схема реализации товаров под заказ и предзаказ с уведомлением о поступлении в 1С-Битрикс

Товар, которого временно нет на складе, не обязательно должен исчезать из каталога и терять потенциальные продажи — сценарии "под заказ" и "предзаказ" позволяют принимать заявки на товар до его физического наличия. Разберём, как реализовать оба сценария в 1С-Битрикс.

Разница между "под заказ" и "предзаказ"

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

Реализация через свойство статуса товара

<?php

$el = new CIBlockElement;
$el->Update($productId, [
    'PROPERTY_VALUES' => [
        'AVAILABILITY_STATUS' => 'ON_ORDER', // или PREORDER, IN_STOCK
        'DELIVERY_DAYS' => 14,
    ],
]);

Отдельное свойство статуса доступности, независимое от штатного учёта остатков (QUANTITY), даёт больше гибкости в отображении, чем просто "остаток равен нулю" — товар с нулевым остатком по умолчанию может выглядеть как "нет в наличии" без возможности заказать, тогда как явный статус "под заказ" позволяет показать отдельную кнопку и сообщение о сроке поставки вместо обычной кнопки "в корзину".

Нужна помощь с Битрикс?





    Оформление заказа с товаром под заказ

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

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

    <?php
    
    use Bitrix\Main\Entity\DataManager;
    
    class StockNotifyTable extends DataManager
    {
        public static function getTableName(): string
        {
            return 'vendor_stock_notify';
        }
    
        public static function getMap(): array
        {
            return [
                new \Bitrix\Main\Entity\IntegerField('ID', ['primary' => true, 'autocomplete' => true]),
                new \Bitrix\Main\Entity\IntegerField('PRODUCT_ID', ['required' => true]),
                new \Bitrix\Main\Entity\StringField('EMAIL', ['required' => true]),
            ];
        }
    }

    Отдельная форма "уведомить о поступлении" для товара под заказ или предзаказ, сохраняющая email заинтересованного покупателя в отдельную таблицу, — распространённый способ конвертировать интерес в будущую продажу: при реальном поступлении товара на склад (обновление остатка через синхронизацию с 1С) агент проверяет список ожидающих и рассылает уведомления, а не полагается на то, что заинтересованный покупатель сам вернётся проверить наличие.

    Рассылка при поступлении на склад

    <?php
    
    use Bitrix\Main\Mail\Event;
    
    function notifyStockArrival(int $productId): string
    {
        $waiting = StockNotifyTable::getList([
            'filter' => ['PRODUCT_ID' => $productId],
        ]);
    
        while ($row = $waiting->fetch()) {
            Event::send([
                'EVENT_NAME' => 'STOCK_ARRIVAL_NOTIFY',
                'LID' => 's1',
                'C_FIELDS' => ['EMAIL' => $row['EMAIL'], 'PRODUCT_ID' => $productId],
            ]);
    
            StockNotifyTable::delete($row['ID']);
        }
    
        return 'notifyStockArrival(' . $productId . ');';
    }

    Отображение даты предзаказа на карточке

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

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

    • Товар под заказ выглядит идентично "нет в наличии". Покупатель не видит возможности оформить заказ на товар, доступный под заказ.
    • Полная предоплата списывается автоматически для товара, которого физически ещё нет. Не учтена специфика оплаты для отложенной поставки.
    • Нет уведомления о поступлении для заинтересованных покупателей. Упущенная продажа тем, кто не вернулся сам проверить наличие.

    Итог

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

    Нужна помощь с Битрикс?

    Исправим ошибку, доработаем сайт, ускорим Битрикс или поможем разобраться с проблемой.

    Услуги
    База знаний