Разработка функционала предзаказа на 1С-Битрикс

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Разработка функционала предзаказа на 1С-Битрикс
Средний
~1-2 недели
Часто задаваемые вопросы

Наши компетенции:

Этапы разработки

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1322
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    915
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    663
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    811
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    710
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1043

Товар ещё не поступил на склад, но карточка уже в каталоге. Средний магазин теряет 15-20% заказов из-за отсутствия предзаказа. Стандартный Битрикс показывает кнопку «Нет в наличии» и предлагает подписку на уведомление. Клиент уходит: он хочет купить сейчас, а не ждать письма через неделю. Мы решаем эту задачу функционалом предзаказа — клиент оформляет заказ на отсутствующий товар, фиксирует цену и место в очереди. Магазин получает прогнозируемый спрос и меньше потерянных лидов. На практике это увеличивает конверсию на 30% и снижает отток клиентов в 3 раза по сравнению с подпиской на уведомление.

Почему предзаказ лучше уведомления о поступлении?

Модуль catalog.subscribe — это только подписка на email. Когда CATALOG_AVAILABLE становится Y, клиенту приходит письмо. Ни заказа, ни фиксации цены, ни очереди. Предзаказ — полноценный заказ со специальным статусом. Товар резервируется, оплата может быть полной, частичной (задаток) или отложенной. При поступлении заказ переводится в обработку. По нашим данным, внедрение предзаказа увеличивает число успешных покупок отсутствующего товара на 40-60%.

Как обойти ограничение корзины Битрикс?

Главная техническая проблема: ядро не позволяет добавить в корзину товар с нулевым остатком. Метод \Bitrix\Catalog\Product\Basket::addProduct() проверяет CATALOG_AVAILABLE и возвращает ошибку. Два рабочих подхода:

Виртуальный склад предзаказов. Создаётся отдельный склад «Предзаказ» в Магазин → Склады. Для товаров, помеченных для предзаказа, на этом складе устанавливается количество, равное лимиту. Товар становится CATALOG_AVAILABLE = Y, а реальный склад пуст. При обработке менеджер видит резерв на складе «Предзаказ» и понимает ситуацию. Плюс: не требует модификации ядра. Минус: искажает остатки в отчётах, нужна дисциплина обмена с 1С.

Обработчик события. Подписка на OnBeforeBasketAdd или OnSaleBasketItemBeforeSaved перехватывает проверку наличия. Если товар помечен PREORDER_AVAILABLE = Y, валидация остатков пропускается. Этот способ в 5 раз чище архитектурно, но требует тестирования с каждым обновлением модуля sale, так как механизм проверки меняется.

Инструкция: настройка предзаказа за 7 шагов

  1. Включите свойство PREORDER_AVAILABLE для инфоблока товаров.
  2. Создайте дополнительные статусы заказа: PP (предзаказ принят), PW (ожидание поставки), PR (товар поступил).
  3. Реализуйте обработчик OnBeforeBasketAdd, который разрешает добавление товара с PREORDER_AVAILABLE = Y.
  4. Настройте автоматический переход PP → PR через OnStoreProductUpdate при поступлении товара.
  5. Добавьте поле PREORDER_LIMIT в карточку товара и проверяйте его при добавлении в корзину.
  6. Реализуйте очередь: ORDER BY DATE_INSERT ASC в выборке предзаказов.
  7. Протестируйте сценарии: полная оплата, задаток, частичная оплата при поступлении.

Статусы заказа

Для предзаказов создаются дополнительные статусы в Магазин → Статусы заказов:

Код Название Описание
PP Предзаказ принят Заказ создан, товар отсутствует
PW Ожидание поставки Товар заказан у поставщика
PR Товар поступил Можно переводить в сборку

Автоматизация перехода PP → PR реализуется через обработчик OnStoreProductUpdate. При изменении остатка на основном складе проверяются заказы в статусе PP с этим товаром. Если остаток достаточен — статус меняется на PR, клиенту отправляется уведомление.

Как настроить частичную оплату?

Три стратегии:

Полная предоплата. Клиент платит сразу. Простая схема, но рискованная для покупателя — при срыве поставки нужен возврат.

Задаток. При оформлении создаётся оплата на фиксированный процент (обычно 10-20%). Реализуется через кастомное правило корзины или два Payment: первый — задаток (активный), второй — остаток (отложенный). \Bitrix\Sale\Payment::setField('SUM', $depositAmount).

Оплата при поступлении. Заказ без оплаты. Когда товар приходит, менеджер активирует платёж, клиент получает ссылку. Для онлайн-оплаты используется \Bitrix\Sale\PaySystem\Service::initiatePay().

Лимиты и очередь

Без лимитов предзаказ превращается в проблему: 500 клиентов оформили, а поставка — 50 единиц. Лимит задаётся через свойство товара PREORDER_LIMIT. Текущее количество предзаказов считается запросом к b_sale_basket с фильтром IS_PREORDER = Y и связью с незавершёнными заказами. Очередь формируется по дате создания заказа — ORDER BY DATE_INSERT ASC. При поступлении товара приоритет отдаётся ранним заказам.

Что входит в работу

  • Анализ требований: определение триггеров предзаказа, лимитов, схем оплаты.
  • Проектирование архитектуры: выбор подхода (виртуальный склад или обработчик).
  • Реализация: доработка шаблона компонента catalog.element, настройка статусов, событий.
  • Интеграция с платёжными системами (задаток/полная предоплата).
  • Тестирование сценариев: от добавления в корзину до перехода статусов.
  • Документация по поддержке и передача доступов.
  • Обучение менеджеров работе с предзаказами.

Сроки

Масштаб Что входит Срок
Базовый Кнопка предзаказа, виртуальный склад, статусы от 4 дней
Полный Задаток, автосмена статусов, лимиты, уведомления, интеграция с 1С от 8 дней

Стоимость рассчитывается индивидуально после аудита текущего проекта. Если хотите получить консультацию или оценить проект — свяжитесь с нами. Наш опыт в разработке под Битрикс позволяет гарантировать стабильную работу даже при высоких нагрузках.

Подробнее о статусах заказов: документация 1С-Битрикс.

Закажите разработку предзаказа и получите консультацию инженера бесплатно. Мы реализуем функционал, который увеличит выручку и сократит количество упущенных заказов.