Настройка интервалов времени доставки 1С-Битрикс

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Настройка интервалов времени доставки 1С-Битрикс
Простая
~1 рабочий день
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1173
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    811
  • 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
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    745
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    976

Настройка интервалов времени доставки 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 дня