Своя курьерская служба — частый запрос магазинов, которые возят по городу собственными силами. В отличие от подключения СДЭК или DPD, здесь нет готового обработчика от агрегатора: логику доставки вы собираете сами из встроенных инструментов 1С-Битрикс. Разберём на реальном кейсе — магазин бытовой техники, доставка по Москве и области — как из «Простой настройки» получить рабочую курьерскую службу с зонами, весом и ограничениями.
Исходная задача
К нам пришёл магазин крупной и мелкой бытовой техники. Возят собственные курьеры на своих машинах, сторонние службы подключать не хотели. Требования бизнеса были такие:
- по Москве в пределах МКАД — фиксированная стоимость, а от определённой суммы заказа доставка бесплатна;
- за МКАД — цена зависит от удалённости (пояс) и растёт с весом заказа;
- крупногабаритную технику (холодильники, стиральные машины) курьер возит только при предоплате — наложенный платёж по таким заказам недоступен;
- в отдалённые районы области доставку вообще не предлагать.
Всё это реализуется штатными средствами модуля sale без единой строки кода — нужно лишь правильно разложить требования по настройкам службы доставки, местоположениям и ограничениям.
Создание службы на «Простой настройке»
Собственная курьерская доставка в 1С-Битрикс — это служба на базе обработчика «Простая настройка» (внутренний код simple). Идём в Магазин → Настройки → Службы доставки, нажимаем «Добавить службу доставки» и выбираем этот обработчик.
На вкладке «Основные параметры» задаём название («Курьер по Москве и области»), активность, сортировку и логотип. Ключевой момент — периоды расчёта стоимости: именно здесь у «Простой настройки» появляются профили-диапазоны, внутри которых цена зависит от веса, суммы или габаритов заказа. Один профиль = один тариф с собственными условиями срабатывания.
Зоны: группы местоположений
Чтобы развести тарифы «в пределах МКАД» и «область», мы опёрлись на группы местоположений. В разделе Магазин → Настройки → Местоположения → Группы создали две группы: «Москва (в пределах МКАД)» и «Московская область», и наполнили их нужными городами и районами.
Дальше группа используется как ограничение профиля доставки: московский тариф срабатывает только для адресов из первой группы, областной — из второй. Так один и тот же курьер отдаёт покупателю разную цену в зависимости от того, куда он оформляет заказ, а логика остаётся прозрачной и управляемой из админки.
| Зона | Группа местоположений | Принцип цены |
|---|---|---|
| В пределах МКАД | Москва (в пределах МКАД) | Фиксированная, бесплатно от суммы |
| Ближняя область | Московская область → пояс 1 | База + надбавка за пояс |
| Дальняя область | Московская область → пояс 2 | Выше базы, зависит от веса |
Тарифы по весу и сумме заказа
Внутри службы стоимость определяют профили с диапазонами. Для каждого профиля задаётся условие срабатывания (по весу, цене или габаритам заказа) и итоговая цена доставки. Для нашего магазина настроили так:
- Москва, лёгкий заказ — вес до 5 кг, фиксированная цена доставки.
- Москва, тяжёлый заказ — вес от 5 кг, цена выше (курьеру нужен грузчик/лифт).
- Область, по весу — несколько диапазонов веса, цена растёт ступенями.
Бесплатную доставку от суммы заказа по Москве сделали отдельным профилем с ценой 0 и ограничением по цене заказа «от N рублей». Важно, что вес корректно считается только если он проставлен в карточках товаров — свойство Вес заполняется в разделе «Дополнительно» товара либо приходит из обмена с 1С. Если веса нет, все весовые диапазоны схлопнутся в нулевой, и покупатель получит не тот тариф.
Ограничения: где и как доступна служба
Механизм ограничений (вкладка «Ограничения» службы или профиля) — это то, что превращает набор тарифов в живую бизнес-логику. Ограничения работают как фильтры: если условие не выполнено, служба или конкретный профиль просто не показывается покупателю в оформлении заказа.
В нашем кейсе задействовали сразу несколько типов:
- По местоположению — привязка тарифов к группам «Москва» и «область», плюс полное отключение службы для отдалённых районов.
- По весу заказа — разграничение лёгких и тяжёлых профилей.
- По сумме заказа — включение бесплатного профиля от порога.
- По максимальным габаритам — крупногабарит уводили на отдельный профиль с повышенной ценой.
Ограничения можно комбинировать: система применит профиль, только когда выполнены все его условия одновременно. Это удобно, но требует аккуратности — конфликтующие ограничения приводят к тому, что курьер «пропадает» из чекаута.
Связка с оплатой: предоплата на крупногабарит
Требование «крупную технику — только по предоплате» решается на стыке доставки и платёжных систем. В 1С-Битрикс есть матрица соответствия способов оплаты и доставки: в настройках платёжной системы (например, «Наличными курьеру» или наложенного платежа) указывается, с какими службами доставки она сочетается.
Мы вынесли крупногабаритную доставку в отдельный профиль и разрешили для него только безналичную предоплату, исключив оплату курьеру. Для лёгких заказов оставили оба варианта. В результате покупатель, добавивший в корзину холодильник, на шаге оформления видит только предоплату — система сама скрывает несовместимую пару «крупногабарит + наличные».
Тестирование перед запуском
Курьерскую службу нельзя выкатывать «вслепую» — цену видит покупатель, и ошибка в тарифе бьёт по марже или отпугивает заказ. Мы прогнали короткий чек-лист прямо на боевом чекауте:
- Оформили тестовый заказ на адрес в пределах МКАД — сработал фиксированный тариф, а после перехода порога появилась бесплатная доставка.
- Сменили адрес на область — цена выросла по поясу и весу, как задумано.
- Положили в корзину крупногабаритную технику — остался только профиль с предоплатой.
- Указали адрес в отключённом районе — курьер корректно исчез из списка доставок.
- Проверили заказ с тяжёлым товаром без веса — убедились, что вес проставлен и диапазон выбран верно.
Заодно проследили, что стоимость доставки уходит в заказ отдельной строкой и корректно попадает в обмен с 1С — иначе учёт логистики «поедет».
Итог
Собственная курьерская служба в 1С-Битрикс собирается штатными средствами: обработчик «Простая настройка» даёт профили и диапазоны цен, группы местоположений разводят зоны, ограничения по весу, сумме и габаритам формируют бизнес-логику, а матрица совместимости оплат закрывает вопрос предоплаты на крупногабарит. Никакого кода — только аккуратно разложенные требования и обязательная проверка на заполненность веса товаров.
Если тарифная сетка сложнее, чем укладывается в «Простую настройку», нужен расчёт через внешний API логиста или интеграция доставки с 1С — мы в B2Bsite проектируем и настраиваем такие связки под ключ, а затем сопровождаем магазин, чтобы доставка считалась корректно и не ломалась при обновлениях.
Частые вопросы
На каком обработчике делать собственную курьерскую доставку?
На встроенном обработчике «Простая настройка». Он позволяет создавать профили с диапазонами цен по весу, сумме и габаритам заказа. Отдельный класс доставки нужен, только если стоимость считает внешний API.
Как задать разные цены для города и области?
Через группы местоположений. Создайте отдельные группы под зоны и используйте их как ограничение профилей: московский тариф срабатывает для одной группы, областной — для другой.
Почему курьерская цена считается неправильно?
Чаще всего причина — незаполненный вес товаров. Если у позиций в каталоге нет веса, весовые диапазоны схлопываются, и покупатель получает не тот тариф. Проверьте свойство «Вес» в карточках или в обмене с 1С.
Как сделать бесплатную доставку от суммы заказа?
Добавьте отдельный профиль службы с ценой 0 и ограничением по цене заказа «от нужной суммы». Пока сумма ниже порога, работает платный профиль, выше — включается бесплатный.
Можно ли запретить наложенный платёж для крупных товаров?
Да. Выделите крупногабарит в отдельный профиль доставки и в матрице совместимости оплат разрешите для него только предоплату. Несовместимый способ оплаты система скроет в оформлении заказа.
Как полностью отключить доставку в отдельные районы?
Задайте ограничение службы по местоположению так, чтобы отдалённые районы в него не попадали. Для таких адресов курьерская служба просто не будет показана покупателю в чекауте.
Почему в оформлении заказа пропал способ оплаты?
Скорее всего сработала матрица соответствия оплат и доставок. Проверьте настройки совместимости в свойствах способа оплаты — а не шаблон корзины, как думают в первую очередь.
Нужен ли программист для такой настройки?
Для базового кейса — нет, всё делается из админки штатными инструментами. Разработка нужна, когда тарифы считаются через внешний API логиста или требуется нестандартная логика на стороне сайта.
Поможем с настройкой и поддержкой 1С-Битрикс: Управление сайтом
Поможем с настройкой, доработкой и поддержкой 1С-Битрикс: Управление сайтом.