Налаштування інтервалів часу доставки 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С-Бітрікс

Вибір часового інтервалу доставки — «з 10 до 14», «з 14 до 18», «з 18 до 22» — у 1С-Бітрікс реалізується не через стандартні налаштування служб доставки, а через властивості замовлення або кастомну форму оформлення. Стандартна служба доставки не має вбудованого механізму слотів — це поширена хибна думка.

Реалізація через властивість замовлення

Найпростіший варіант — додати властивість замовлення з типом «Список»:

Магазин → Налаштування → Властивості замовлення → Додати:

  • Назва: «Інтервал доставки»
  • Код: DELIVERY_TIME
  • Тип: Список
  • Значення: 10:00–14:00, 14:00–18:00, 18:00–22:00

Властивість прив'язується до конкретної служби доставки через умову в компоненті оформлення замовлення. У стандартному sale.order.ajax властивість відображається при виборі потрібної служби через JS-обробник.

Динамічне управління слотами

Реальний сценарій: кожен слот має обмежену місткість — 10 замовлень на інтервал. Реалізація через highload-блок:

Поле Тип Опис
UF_DATE Дата Дата доставки
UF_SLOT Рядок Інтервал (10:00–14:00)
UF_CAPACITY Число Максимум замовлень
UF_BOOKED Число Заброньовано

При виборі дати та слота в кошику — AJAX-запит перевіряє доступність:

$entity = \Bitrix\Highloadblock\HighloadBlockTable::compileEntity('DeliverySlots');
$slots = $entity::getList([
    'filter' => [
        'UF_DATE' => $date,
        '<=UF_BOOKED' => 'UF_CAPACITY - 1',
    ],
    'select' => ['UF_SLOT', 'UF_CAPACITY', 'UF_BOOKED'],
]);

Після підтвердження замовлення — інкремент UF_BOOKED у транзакції для уникнення подвійного бронювання.

Інтеграція з інтерфейсом оформлення замовлення

Для React/Vue-оформлення замовлення слоти завантажуються через окремий API-endpoint. Компонент відображає доступні слоти у вигляді кнопок або select — недоступні сірі, виключені з вибірки на сервері.

Терміни налаштування

Варіант Термін
Статичний список через властивість замовлення 2–4 години
Динамічні слоти з обмеженням місткості 1–2 дні
+ інтеграція з календарем кур'єрів 2–4 дні