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

Представьте: интернет-магазин на Битрикс растёт, но клиенты жалуются — нельзя выбрать удобное время доставки. Стандартная форма предлагает только дату, а курьерская служба требует слоты «с 10 до 14» или «с 18 до 22». Мы сталкивались с этим десятки раз за 5+ лет работы с Битрикс. Решение неочевидно:
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Настройка интервалов времени доставки 1С-Битрикс
Простой
~1 день

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

Часто задаваемые вопросы

Последние работы

  • Разработка сайта компании B2B ADVANCE
    Разработка сайта компании B2B ADVANCE
    1460
  • Разработка веб-сайта для компании ФИКСПЕР
    Разработка веб-сайта для компании ФИКСПЕР
    1019
  • Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    764
  • Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    882
  • Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    809
  • Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1165

Представьте: интернет-магазин на Битрикс растёт, но клиенты жалуются — нельзя выбрать удобное время доставки. Стандартная форма предлагает только дату, а курьерская служба требует слоты «с 10 до 14» или «с 18 до 22». Мы сталкивались с этим десятки раз за 5+ лет работы с Битрикс. Решение неочевидно: встроенные службы доставки не умеют управлять интервалами. Приходится реализовывать через свойства заказа или кастомный интерфейс. Один из наших клиентов — интернет-магазин продуктов — терял до 30% заказов из-за отсутствия выбора времени. После внедрения динамических слотов конверсия выросла на 15%. Другой клиент, с сезонными пиками, сталкивался с double booking при пиковой нагрузке — решили через транзакции и тегированное кэширование.

Почему стандартная служба доставки не подходит?

Распространённое заблуждение — думать, что в Битрикс достаточно включить опцию «интервал времени» в настройках доставки. На самом деле механизма слотов нет ни в одной штатной службе. Нужно либо использовать свойства заказа (тип «Список»), либо разрабатывать динамическую систему на highload-блоках. Первый вариант — быстрый, но статичный. Второй — гибкий, но требует программирования.

Как реализовать динамические слоты с ограничением вместимости?

Самый частый запрос от клиентов — «слоты с лимитами». Например, на интервал 10:00–14:00 можно принять только 10 заказов. Реализация через highload-блок DeliverySlots:

Поле Тип Описание
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 увеличивается внутри транзакции, чтобы избежать double booking. Это надёжнее, чем проверка на фронте. Для ускорения работы используем тегированное кэширование: список слотов кэшируется на 1 минуту, при обновлении UF_BOOKED кэш сбрасывается.

Как настроить статический список интервалов за 4 шага

  1. Создайте свойство заказа типа «Список» с нужными интервалами (например, «10:00–14:00», «14:00–18:00»).
  2. Привяжите свойство к службе доставки в настройках модуля «Торговый каталог».
  3. В компоненте оформления заказа укажите параметр PROPERTIES с кодом свойства.
  4. Добавьте условие вывода свойства только для нужной службы доставки.

Этот подход подходит для магазинов с простой логистикой до 50 заказов в день. Если нужны лимиты или интеграция с календарём курьеров — используйте динамические слоты.

Что входит в работу?

При заказе настройки интервалов доставки под ключ мы:

  • анализируем требования и текущую архитектуру,
  • выбираем оптимальный вариант (статический список / динамические слоты / интеграция с курьерским API),
  • проектируем highload-блоки и настраиваем кэширование,
  • реализуем кастомный компонент выбора слота с валидацией,
  • тестируем на нагрузку и деплоим в продакшн,
  • передаём документацию и обучаем вашу команду.

Гарантируем, что система не «упадёт» при пиковых заказах — используем тегированное кэширование и асинхронную проверку слотов. Все операции обновления бронирований выполняются в транзакциях, исключая двойные записи.

Какой подход выбрать: статический список или динамические слоты?

Статический список (свойство заказа с типом «Список») — для магазинов с простой логистикой до 50 заказов в день. Динамические слоты с highload-блоком дают контроль вместимости в реальном времени — лучше в 3 раза для интернет-магазинов с сезонными пиками. А интеграция с календарём курьеров (например, через REST API курьерской службы) позволяет полностью автоматизировать планирование.

Типичные ошибки при настройке

  • Double booking: возникает, если не использовать транзакции при обновлении UF_BOOKED. Всегда оборачивайте запись в Bitrix\Main\Application::getConnection()->startTransaction() и коммитьте только после успешного обновления.
  • Тайм-ауты при пиковой нагрузке: решаются кэшированием списка слотов на 1 минуту (тегированный кэш). Настроить можно через \Bitrix\Main\Data\Cache::createInstance().
  • Некорректное отображение устаревших слотов: удаляйте прошедшие слоты через агент ежедневно. Например, CAgent::AddAgent(...).

Сроки настройки

Вариант Срок
Статичный список через свойство заказа 2–4 часа
Динамические слоты с ограничением вместимости 1–2 дня
+ интеграция с календарём курьеров 2–4 дня

Стоимость рассчитывается индивидуально после анализа ваших задач. Мы предлагаем бесплатную консультацию: опишите свою ситуацию — инженер подберёт оптимальное решение. Опыт — 5+ лет, 100+ проектов по Битрикс. Получите консультацию — пишите в чат или на почту. Закажите настройку интервалов и избавьтесь от потерь заказов.