+7 499 938 8452 пн.-пт. 10:00 – 17:00
Есть идея по этому модулю?

Опишите доработку или сценарий — обсудим вместе с другими клиентами.

Все идеи для обсуждения

Отправка доступна после входа или регистрации. Текст формы сохранится.

Доставка за КАД: расчёт по километрам

Менее 50 раз установок
от Xlogic
Ставится из 1С-Битрикс Marketplace за пару минут — вкладка «Установка».

Скриншоты

Технические данные

Число установок:
Менее 50 раз
Версия:
1.2.0
Адаптивность:
Нет
Поддержка композита:
Нет
Дата публикации:
14.10.2026

Совместимые редакции

Описание

Доставка за КАД: расчёт по километрам

Служба доставки для модуля «Интернет-магазин», стоимость которой зависит от расстояния по дорогам от кольцевой дороги города до адреса покупателя. Адрес внутри кольцевой — 0 км, за ней — расстояние по реальному маршруту, а не по прямой. Контур КАД Санкт-Петербурга встроен в модуль, контур любого другого города (МКАД, ЦКАД, кольцевые Казани, Екатеринбурга и др.) загружается из файла.

Кому подходит
  • Магазинам с курьерской доставкой за КАД или МКАД, где цена растёт с каждым километром: стройматериалы, мебель, техника, вода, корма.
  • Доставке еды и цветов: зона «центр» со своей ценой, бесплатная доставка от суммы заказа, срок доставки.
  • Магазинам с несколькими городами: у каждой службы доставки свой контур и свой тариф.

Как считается стоимость
  1. Адрес из свойства заказа вместе с городом из местоположения покупателя переводится в координаты геокодером Яндекса. Если найден не дом, а улица или посёлок, покупателя просят уточнить адрес.
  2. Если точка внутри контура кольцевой дороги, расстояние равно 0 км.
  3. Иначе одним запросом к серверу маршрутов OSRM (данные OpenStreetMap) считаются маршруты от нескольких ближайших точек кольцевой дороги, берётся самый короткий.
  4. Стоимость считается по тарифу службы доставки и условиям: базовая цена, километры, наценка за вес, бесплатная доставка от суммы, минимальная стоимость, округление.

Тариф
  • Три способа расчёта: по цене за километр; фиксированная цена по диапазонам («до 10 км — 500 руб., до 30 км — 900 руб.»); своя цена километра в каждом диапазоне — более дальняя доставка никогда не стоит дешевле более близкой.
  • Базовая цена, бесплатные километры, максимальное расстояние доставки, округление расстояния до целого километра или до 0,1 км.
  • Условия: минимальная стоимость, округление цены вверх до 10 или 50 руб., бесплатная доставка от суммы заказа (можно только в пределах заданного расстояния), наценка за каждый килограмм сверх веса, входящего в цену.
  • Срок доставки: общий или свой у каждого диапазона расстояний — покупатель видит его рядом с доставкой.
  • Зоны: район города со своей базовой ценой, например центр дороже или дешевле остального города.
  • Ограничения по местоположению, сумме, весу и платёжной системе — штатные ограничения служб доставки.

Несколько городов
  • Все контуры собраны в одной таблице на вкладке «Контуры» настроек модуля: кольцевая дорога любого города или зона внутри города.
  • Контур добавляется вручную, из файла GeoJSON или KML (нарисованного в Конструкторе карт Яндекса или на geojson.io) или кнопкой встроенного контура КАД Санкт-Петербурга.
  • Каждая служба доставки считает от своего контура: для двух городов — две службы с разными контурами и ограничениями по местоположению.

Оформление заказа
  • Покупатель видит расстояние, цену и срок доставки, а если до бесплатной доставки не хватает суммы — сколько осталось добрать.
  • Адрес можно ввести текстом или выбрать меткой на карте Яндекса в оформлении заказа (sale.order.ajax): адрес подставляется в заказ, стоимость пересчитывается.
  • Если адрес не найден, указан неточно или дальше максимального расстояния, покупатель видит причину, и заказ не оформляется.
  • При сбое сервисов заказ принимается с пометкой «Проблемный», чтобы не останавливать продажи; поведение настраивается.

Контроль
  • Проверка расчёта по любому адресу в настройках модуля: найденный адрес, точность, расстояние, цена и срок по каждой службе доставки, ошибки в настройках тарифа.
  • Журнал расчётов: адрес покупателя, найденная точка на карте, расстояние и причина ошибки — чтобы ответить на вопрос «почему доставка столько стоит». Срок хранения настраивается.
  • Уведомление администратору, если геокодер или сервер маршрутов перестали отвечать или не настроены; снимается само, когда расчёт снова работает.
  • Кеширование расчётов по адресу и ограничение числа новых адресов на посетителя: квота геокодера не расходуется на повторы и перебор адресов.
  • Все настройки модуля, контуры и журнал — на одной странице; тариф — в карточке службы доставки.

Что нужно для работы
  • Модуль «Интернет-магазин» (sale) и оформление заказа на штатном компоненте sale.order.ajax.
  • Ключ API Яндекса с доступом к HTTP-геокодеру. Условия использования бесплатного ключа, в том числе для интернет-магазинов, уточняйте у Яндекса.
  • Сервер маршрутов OSRM: публичный router.project-osrm.org подходит для небольшой нагрузки, для высокой — свой сервер (инструкция по развёртыванию в Docker есть в настройках модуля).

Что нужно знать
  • Маршруты строятся по данным OpenStreetMap и могут отличаться от Яндекс Карт, особенно в сельской местности.
  • Расчёт выполняется во время оформления заказа: при медленном ответе сервисов оформление замедляется.
  • Для каждого контура, от которого считает служба доставки, новый адрес — отдельный запрос к геокодеру.
  • Журнал расчётов содержит адреса покупателей (персональные данные); срок их хранения задаётся в настройках, журнал можно отключить.

Перед установкой
  • Установлен модуль «Интернет-магазин» (sale), заказ оформляется штатным компонентом sale.order.ajax.
  • Есть ключ API Яндекса с доступом к HTTP-геокодеру (кабинет разработчика Яндекса). Можно использовать ключ, уже указанный в настройках модуля «Управление структурой».
  • У свойства заказа «Адрес доставки» стоит флажок «Использовать как адрес» (или символьный код ADDRESS). Желательно свойство «Местоположение»: город из него подставляется к адресу.

1. Установка
  1. Установите модуль из Маркетплейса или в разделе «Настройки > Настройки продукта > Модули».
  2. При установке в таблицу контуров автоматически добавляется КАД Санкт-Петербурга (код kad) и регистрируется агент: он раз в час удаляет старые записи журнала и проверяет сервисы после сбоя.

2. Настройки модуля

Откройте «Магазин > Доставка за КАД» (или «Настройки > Настройки продукта > Настройки модулей > Доставка за КАД: расчёт по километрам»).

  1. Вкладка «Настройки»: укажите ключ API Яндекса и адрес сервера OSRM. Для начала подойдёт публичный router.project-osrm.org; свой сервер — на вкладке «Свой сервер OSRM». Остальные значения можно оставить по умолчанию.
  2. Вкладка «Контуры»: для Санкт-Петербурга контур КАД уже есть. Для другого города заполните форму «Новый контур»: название для покупателя (например, МКАД), код латиницей (mkad) и точки — из файла GeoJSON или KML либо вручную, затем нажмите «Добавить контур». Как нарисовать контур — на вкладке «Как нарисовать контур».
  3. Для зоны со своей ценой (например, центра города) добавьте её контур так же — многоугольником вокруг района.
  4. Нажмите «Сохранить».

3. Служба доставки
  1. Откройте «Магазин > Настройки > Службы доставки», нажмите «Добавить» и выберите «Доставка за КАД: расчёт по километрам».
  2. На вкладке «Тариф» выберите контур (по умолчанию — первый в списке), способ расчёта и задайте базовую цену, бесплатные километры, цену за километр или диапазоны расстояний, округление и максимальное расстояние.

    Диапазоны — по одному в строке: «до км: цена» или «до км: цена: срок в днях», например «10: 500» и «30: 900: 1-2».

    Зоны — по одной в строке: «код контура: базовая цена», например «center: 500».
  3. На вкладке «Условия» при необходимости задайте минимальную стоимость, округление цены, бесплатную доставку от суммы заказа, наценку за вес и срок доставки.
  4. На вкладке «Ограничения» ограничьте службу по местоположению (особенно если городов несколько), сумме, весу или платёжным системам.
  5. Сохраните службу. Для второго города создайте ещё одну службу и выберите в ней другой контур.

4. Проверка
  1. В настройках модуля на вкладке «Проверка расчёта» введите адрес с городом: модуль покажет найденный адрес, расстояние, цену и срок по каждой службе доставки, а также ошибки в строках диапазонов и зон.
  2. Проверьте адрес в центре города (0 км) и адрес сразу за кольцевой дорогой.
  3. Оформите тестовый заказ с адресом за кольцевой дорогой. Расчёт попадёт на вкладку «Журнал».

Карта в оформлении заказа

Карта не обязательна: адрес, введённый текстом, пересчитывается при выходе из поля. Чтобы покупатель мог выбрать адрес меткой на карте, включите в компоненте sale.order.ajax карту в свойствах заказа (параметры SHOW_MAP_IN_PROPS и SHOW_MAP_FOR_DELIVERIES со службой модуля) и укажите ключ JavaScript API Яндекс Карт в настройках модуля «Управление структурой».

Удаление

При удалении можно сохранить настройки модуля, контуры и журнал расчётов. Службы доставки модуля деактивируются с сохранением тарифа и включаются обратно при повторной установке.

Техническая поддержка: e-mail xlogic.studio@yandex.ru
Сайт: xlogic.ru
Время работы: пн–пт с 10:00 до 19:00 (МСК, UTC+3).
Время реакции на заявку: в течение 1 рабочего дня

Установите этот модуль прямо сейчас!

Для этого укажите адрес сайта:

пример: https://www.site.ru

Подтвердите что сама лицензия у вас куплена

Доставка за КАД: расчёт по километрам
Доставка за КАД: расчёт по километрам
4 900 руб

Каталог для ИИ