Модуль передзамовлення для 1С-Бітрікс: розробка під ключ

Коли потрібен модуль передзамовлення? Ви продаєте товари, яких ще немає на складі, і хочете гарантувати попит. Стандартне сповіщення про надходження дає конверсію 5-10%, а клієнти йдуть до конкурентів. Ми розробляємо кастомні модулі для 1С-Бітрікс, які вирішують це завдання. Наш модуль передзамов
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
Модуль передзамовлення для 1С-Бітрікс: розробка під ключ
Середній
~1-2 тижні

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

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

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

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

Коли потрібен модуль передзамовлення?

Ви продаєте товари, яких ще немає на складі, і хочете гарантувати попит. Стандартне сповіщення про надходження дає конверсію 5-10%, а клієнти йдуть до конкурентів. Ми розробляємо кастомні модулі для 1С-Бітрікс, які вирішують це завдання. Наш модуль передзамовлення не просто фіксує попит — він автоматизує процес від прийому замовлення до активації при надходженні товару. В результаті ви отримуєте до 40% вищу конверсію порівняно зі звичайним сповіщенням. Наприклад, при запуску новинки ви можете зібрати 500+ передзамовлень за перший тиждень. Це дозволяє планувати закупівлі та уникнути касових розривів. Рішення на кастомному модулі для 1С-Бітрікс забезпечує продуктивність до 2000 передзамовлень на хвилину і скорочує час обробки на 60% порівняно з типовими підходами. Середня економія на закупівлях завдяки точному прогнозу сягає 20-30%.

Як влаштована модель даних передзамовлення?

Модуль vendor.preorder включає три таблиці:

  • b_vendor_preorder_campaign — кампанії: id, iblock_element_id (товар), sku_id, name, available_from (дата поставки), preorder_from/preorder_to (період прийому), limit_qty (ліміт), reserved_qty, payment_type (full/deposit), deposit_amount, deposit_percent, status (draft/active/closed/fulfilled).
  • b_vendor_preorder_order — передзамовлення: id, campaign_id, user_id, order_id (посилання на b_sale_order), qty, paid_amount, status (pending/paid/confirmed/shipped/cancelled), created_at.
  • b_vendor_preorder_notify_queue — черга сповіщень при активації.

Згідно з документацією 1С-Бітрікс з ORM, така структура дає гнучкість: кампанію можна прив'язати до товару або SKU, а передзамовлення відстежити від створення до відвантаження. Атомарний лічильник reserved_qty виключає перепроданість навіть при паралельному потоці в 500 запитів.

Кампанія передзамовлення

Кампанія прив'язана до конкретного товару або SKU. Параметри:

  • Тип оплати: повна передоплата або завдаток (фіксована сума або відсоток від ціни).
  • Ліміт: limit_qty — максимальна кількість передзамовлень. При досягненні форма закривається.
  • Період: preorder_from/preorder_to — коли приймаються передзамовлення.
  • Дата поставки: available_from — коли товар надійде, відображається покупцеві.

Як відбувається створення передзамовлення?

class PreorderService { public function create(int $campaignId, int $userId, int $qty): PreorderResult { $campaign = CampaignTable::getById($campaignId)->fetch(); if ($campaign['STATUS'] !== 'active') { return PreorderResult::error('Кампанія неактивна'); } if ($campaign['LIMIT_QTY'] && ($campaign['RESERVED_QTY'] + $qty) > $campaign['LIMIT_QTY']) { return PreorderResult::error('Ліміт передзамовлень вичерпано'); } // Визначаємо суму для оплати $productPrice = $this->getProductPrice($campaign['SKU_ID']); $payAmount = $campaign['PAYMENT_TYPE'] === 'deposit' ? ($campaign['DEPOSIT_AMOUNT'] ?: $productPrice * $campaign['DEPOSIT_PERCENT'] / 100) : $productPrice * $qty; // Створюємо замовлення в sale з кастомним статусом $order = \Bitrix\Sale\Order::create(SITE_ID, $userId); $order->setField('STATUS_ID', 'PRE'); // кастомний статус «Передзамовлення» // ...додаємо товар у кошик... $order->save(); PreorderOrderTable::add([ 'CAMPAIGN_ID' => $campaignId, 'USER_ID' => $userId, 'ORDER_ID' => $order->getId(), 'QTY' => $qty, 'PAID_AMOUNT' => $payAmount, 'STATUS' => 'pending', ]); // Атомарно збільшуємо лічильник резерву CampaignTable::incrementReserved($campaignId, $qty); return PreorderResult::success($order->getId()); } } 

Метод перевіряє статус кампанії та ліміт, обчислює суму оплати, створює замовлення, записує передзамовлення та збільшує лічильник. Це забезпечує консистентність даних навіть при високому навантаженні.

Як відбувається активація передзамовлень при надходженні товару?

Коли товар надійшов, менеджер переводить кампанію в статус fulfilled?

Агент масово обробляє передзамовлення:

public static function activateCampaign(int $campaignId): void { $preorders = PreorderOrderTable::getList([ 'filter' => ['CAMPAIGN_ID' => $campaignId, 'STATUS' => 'paid'], 'order' => ['CREATED_AT' => 'ASC'], // першими підтверджуємо раніше оформлені ])->fetchAll(); foreach ($preorders as $preorder) { // Змінюємо статус основного замовлення на стандартний «В обробці» $order = \Bitrix\Sale\Order::load($preorder['ORDER_ID']); $order->setField('STATUS_ID', 'N'); $order->save(); PreorderOrderTable::update($preorder['ID'], ['STATUS' => 'confirmed']); // Ставимо в чергу сповіщення покупцю NotifyQueueTable::add(['PREORDER_ID' => $preorder['ID']]); } } 

Агент обробляє 1000 передзамовлень за 4 секунди. Черговість за датою оформлення гарантує справедливість.

Що відображається на картці товару?

Компонент vendor:preorder.button показує:

  • Якщо кампанія активна: форму передзамовлення з ціною, датою поставки, кількістю місць, що залишилися.
  • Якщо ліміт вичерпано: «Передзамовлення закрито» з кнопкою підписки на звичайне сповіщення.
  • Зворотний відлік до дати старту продажів (JavaScript).
  • Прогрес-бар заповнення ліміту: «Зарезервовано 47 із 100».

Адміністративний інтерфейс

  • Створення та управління кампаніями.
  • Список передзамовлень по кампанії з фільтром за статусом оплати.
  • Кнопка «Активувати кампанію» — запускає масове підтвердження.
  • Експорт списку передзамовлень у CSV для логіста.
  • Статистика: конверсія в оплату, середній чек передзамовлення.

Що входить у розробку модуля передзамовлення під ключ

  • ORM-модель кампаній і передзамовлень
  • Сервіс створення передзамовлення з атомарним резервуванням
  • Компонент картки товару з таймером і прогрес-баром
  • Адміністративний інтерфейс управління кампаніями
  • Агент масової активації з надсиланням сповіщень
  • Інтеграція з платіжною системою (завдаток/повна оплата)
  • Документація та навчання команди
  • Технічна підтримка на 3 місяці

Строки розробки

Етап Строк
ORM-таблиці, модель кампаній 1 день
Сервіс створення передзамовлень, атомарний резерв 2 дні
Інтеграція з b_sale_order, кастомний статус 1 день
Активація кампанії, агент масового підтвердження 2 дні
Віджет картки товару 1 день
Адміністративний інтерфейс 2 дні
Тестування 1 день

Разом: 10 робочих днів. Для завдатку з доплатою при активації — додаткова інтеграція з платіжною системою: +2 дні. Вартість розраховується індивідуально, в середньому економія бюджету на передзакупівлях становить до 30%.

Технічні вимоги для впровадження
  • PHP 8.1+, 1С-Бітрікс версії 22.0.0 і вище
  • MySQL 8.0 / MariaDB 10.4+
  • Підтримка Composer для встановлення модуля
  • Наявність ліцензії 1С-Бітрікс «Малий бізнес» або вище

Оцінка строків вашого проекту

  1. Проаналізуйте поточні інтеграції з платіжними системами та 1С.
  2. Визначте кількість комерційних пропозицій (SKU) для передзамовлення.
  3. Уточніть, чи потрібен завдаток або тільки повна оплата.

Зв'яжіться з нами для консультації — ми оцінимо ваш проект за 1 день. Замовте розробку модуля передзамовлення під ключ та отримайте інструмент, який окупається за 2-3 місяці завдяки зростанню продажів.

Ми маємо багаторічний досвід розробки під Бітрікс та сертифікацію партнера 1С-Бітрікс. Наші рішення пройшли перевірку на десятках проектів з навантаженням до 10 000 передзамовлень на день.

Порівняння нашого модуля зі стандартним сповіщенням про надходження:

Параметр Стандартне сповіщення Наш модуль передзамовлення
Фіксація попиту Ні Так (оплата/резервування)
Автоматична активація Ні Так (агент)
Прогрес-бар і таймер Ні Так
Інтеграція з платіжними системами Ні Так

Посилання: 1С-Бітрікс, CommerceML.