Налаштування безкоштовної доставки за умовами 1С-Бітрікс

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

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

Етапи розробки

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

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

Налаштування безкоштовної доставки за умовами в 1С-Бітрікс

Безкоштовна доставка при виконанні умов — один з найефективніших інструментів підвищення середнього чека. Покупець докладає товари, щоб досягти порога. У 1С-Бітрікс це реалізується кількома способами залежно від складності умов.

Спосіб 1: Окрема служба з обмеженням за сумою

Найчистіший підхід. Створюємо службу доставки «Безкоштовна доставка» з нульовою ціною. В обмеженнях задаємо мінімальну суму замовлення.

Магазин → Налаштування → Служби доставки → Додати → Ручна (фіксована вартість) → Ціна: 0

Потім: [служба] → Обмеження → Додати обмеження → Сума замовлення → min: 3000

Цей спосіб працює через b_sale_delivery_restriction — при розрахунку доступних служб 1С-Бітрікс перевіряє обмеження та приховує службу, якщо умова не виконана.

Спосіб 2: Знижка 100% через маркетинг

Магазин → Маркетинг → Правила роботи з кошиком → Додати:

  • Умова: Вартість замовлення >= 3000
  • Дія: Знижка на доставку 100%

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

Рішення: в правилі обмежуємо список служб, до яких застосовується знижка — «тільки стандартна доставка».

Складні умови: кілька критеріїв

Безкоштовна доставка тільки для зареєстрованих користувачів від 5000 гривень, або для всіх від 7000 гривень — таке не закривається стандартними обмеженнями. Реалізація через кастомний обробник:

public function isCompatible(\Bitrix\Sale\Shipment $shipment): bool
{
    $order = $shipment->getOrder();
    $price = $order->getPrice();
    $userId = $order->getUserId();

    // Зареєстрований користувач + від 5000
    if ($userId > 0 && $price >= 5000) return true;

    // Будь-хто + від 7000
    if ($price >= 7000) return true;

    return false;
}

Віджет «До безкоштовної доставки залишилося»

Це UX-елемент у кошику: «Додайте ще 1 200 ₽ і отримайте безкоштовну доставку». Не входить до стандартного шаблону 1С-Бітрікс — кастомізація компонента кошика.

// У шаблоні компонента кошика
$threshold = \Bitrix\Main\Config\Option::get('my_shop', 'free_delivery_threshold', 3000);
$currentSum = $arResult['PRICE'];
$remaining = max(0, $threshold - $currentSum);

if ($remaining > 0) {
    echo 'До безкоштовної доставки залишилося: ' . \CCurrencyLang::CurrencyFormat($remaining, 'UAH');
}

Поріг зберігається в налаштуваннях модуля або в налаштуваннях сайту (b_option), а не в шаблоні — щоб менеджер міг змінювати його без розробника.

Прогрес-бар до безкоштовної доставки

Візуальний прогрес-бар замість текстового рядка конвертує краще. Реалізація — смужка заповнення у відсотках:

const threshold = 3000;
const current = parseFloat(document.getElementById('basket-sum').dataset.sum);
const pct = Math.min(100, Math.round((current / threshold) * 100));
document.getElementById('free-delivery-bar').style.width = pct + '%';
document.getElementById('free-delivery-remaining').textContent =
    pct < 100 ? 'Ще ' + (threshold - current) + ' ₽' : 'Безкоштовна доставка!';

Прогрес-бар оновлюється при додаванні товарів до кошика через стандартну подію 1С-Бітрікс basket:update.

Безкоштовна доставка за промокодом

Ще один варіант — безкоштовна доставка як бонус до промокоду. Реалізація через правило маркетингу з умовою «Застосовано купон X» і дією «Знижка на доставку 100%». Купон створюється в розділі Маркетинг → Купони, прив'язується до правила кошика.

Обмеження по регіонах

Безкоштовна доставка тільки по Москві та СПб — поширений сценарій. Реалізація: служба «Безкоштовна доставка» обмежується двома місцезнаходженнями через вкладку «Місцезнаходження». По інших регіонах ця служба не показується, застосовується стандартна.

Терміни виконання

Базове налаштування (окрема служба або знижка через маркетинг) — 2–4 години. З віджетом «До безкоштовної доставки» та прогрес-баром — 1 робочий день. З промокодами та регіональними обмеженнями — 1–1.5 дня.