Розробка функціоналу попереднього замовлення на 1С-Бітрікс

Товар ще не надійшов на склад, але картка вже в каталозі. Середній магазин втрачає 15-20% замовлень через відсутність попереднього замовлення. Стандартний Бітрікс показує кнопку «Немає в наявності» та пропонує підписку на сповіщення. Клієнт іде: він хоче купити зараз, а не чекати листа через тиждень
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
Розробка функціоналу попереднього замовлення на 1С-Бітрікс
Середній
~1-2 тижні

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

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1454
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    1018
  • 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
    760
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    879
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    803
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    1162

Товар ще не надійшов на склад, але картка вже в каталозі. Середній магазин втрачає 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С-Бітрікс.

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