Налаштування маршрутизації доставки на 1С-Бітрікс
Уявіть: 60% замовлень в інтернет-магазині оформлюються вручну — менеджери телефонують клієнтам, уточнюють місто та обирають перевізника. Знайома ситуація? Ми налаштовуємо гнучку маршрутизацію доставки на 1С-Бітрікс: автоматичний вибір складу, пріоритетні служби доставки для кожного регіону, врахування ваги та термінів. У результаті час оформлення замовлення скорочується на 35%, а відсоток ручних помилок падає до 2%. Наші інженери — сертифіковані спеціалісти 1С-Бітрікс з досвідом понад 7 років, за плечима 50+ проектів з автоматизації логістики.
Як налаштувати вибір складу за адресою доставки?
Стандартний Бітрікс не вміє автоматично призначати склад відправки виходячи з адреси покупця. Ми реалізуємо це через кастомні обробники. Створюємо таблицю bl_store_zones із відповідністю location_id -> store_id. При створенні відвантаження знаходиться регіон з адреси доставки та призначається склад. Приклад коду:
$locationId = $order->getPropertyCollection()->getItemByOrderPropertyCode('LOCATION')?->getValue(); $storeId = StoreZoneTable::getStoreByLocation($locationId) ?? DEFAULT_STORE_ID; $shipment->setField('DELIVERY_DOC_NUM', $storeId); Це дозволяє вибирати найближчий розподільчий центр, знижуючи вартість доставки для клієнта та час обробки.
Чому стандартного функціоналу Бітрікс недостатньо?
Бітрікс надає базові зони доставки та прив'язку служб через b_sale_delivery_location. Але для мультискладських схем, пріоритизації перевізників за вагою та регіоном, а також для інтеграції з кастомними складами потрібні доопрацювання. Ми використовуємо події, агенти та адміністративні інтерфейси, щоб гнучко керувати логістикою без правок коду щоразу.
Як ми налаштовуємо маршрутизацію: кейс з 5 складами
Один із наших клієнтів — мережа магазинів з 5 складами по Україні та 10 способами доставки. До інтеграції 40% замовлень оброблялися вручну. Після нашого доопрацювання система автоматично визначає склад, найближчий до адреси доставки, та пропонує найдешевшу службу з доступних. Час обробки замовлення скоротився на 30%, відсоток помилок — до 2%.
Основні елементи, які ми прокачуємо:
Зони доставки в Бітрікс
Зони доставки зберігаються в таблиці b_sale_location — це ієрархічний довідник регіонів. Способи доставки (b_sale_delivery_service) прив'язуються до зон через b_sale_delivery_location. Коли покупець обирає місто, Бітрікс показує лише ті способи доставки, які працюють у цю зону. Стандартна прив'язка:
\Bitrix\Sale\Delivery\Services\Manager::save([ 'ID' => $deliveryServiceId, 'ACTIVE' => 'Y', 'RESTRICTED_LOCATION' => [$locationId1, $locationId2], ]); Але для складних сценаріїв (кілька складів, вагогабаритні обмеження) цього недостатньо.
Вибір складу відправки за адресою
Логіка «який склад ближче до адреси доставки» в стандартному Бітрікс відсутня. Ми реалізуємо її через обробник події OnSaleShipmentBeforeSave або через кастомний обробник оформлення замовлення. Створюємо таблицю bl_store_zones із відповідністю location_id → store_id. При створенні відвантаження визначаємо регіон з адреси доставки та призначаємо склад.
Пріоритизація перевізників
При кількох активних службах доставки можна автоматично пропонувати оптимальну за вартістю або швидкістю. Створіть правила пріоритизації в bl_delivery_rules:
| Поле | Опис |
|---|---|
location_group |
Регіон або група регіонів |
order_weight_from / to |
Діапазон ваги |
delivery_service_id |
Пріоритетна служба доставки |
priority |
Порядок пропозиції |
Агент або компонент кошика при розрахунку доставки сортує доступні служби за цими правилами.
Порівняння: стандартне налаштування vs кастомне від нас
| Критерій | Стандартне налаштування | Наша розробка |
|---|---|---|
| Вибір складу за адресою | Не підтримується | Кастомний обробник, таблиця bl_store_zones |
| Пріоритизація перевізників | Тільки ручне сортування | Правила за вагою, регіоном, вартістю |
| Інтеграція з 1С | Базова через CommerceML | Кастомні обробники, REST API |
| Адміністративний інтерфейс | Стандартний | Розширений інтерфейс для правил |
| Гарантія | Немає | 12 місяців |
Офіційна документація: Зони доставки в Бітрікс
Що входить в нашу роботу
- Аналіз поточної схеми доставки та збір вимог.
- Налаштування зон доставки в
b_sale_locationта прив'язка служб доставки до зон. - Розробка таблиці
bl_store_zonesіз мапінгом регіонів на склади відправки. - Реалізація логіки вибору складу при створенні відвантаження.
- Правила пріоритизації перевізників за вагою, регіоном, вартістю.
- Адміністративний інтерфейс для управління правилами маршрутизації.
- Документація та навчання ваших менеджерів.
Терміни та гарантії
Терміни залежать від складності: від 3 до 14 робочих днів. Ми даємо гарантію 12 місяців на всі доопрацювання. Наші інженери — сертифіковані спеціалісти 1С-Бітрікс з досвідом понад 7 років. Оцінимо ваш проект безкоштовно за 1 день — просто зв'яжіться з нами.
Типові помилки при самостійному налаштуванні
- Неправильна прив'язка місцезнаходжень: регіони не відповідають адресам, доставка не показується.
- Відсутність пріоритетів: при кількох перевізниках клієнт бачить всіх, але не знає, який обрати.
- Ігнорування ваги товару: для легких замовлень не пропонується пошта, хоча вона дешевша.
Ми враховуємо ці нюанси та налаштовуємо маршрутизацію так, щоб вона працювала без збоїв. Замовте налаштування — і ваші клієнти перестануть плутатися в доставці. Отримайте консультацію: ми оцінимо ваш проект за один день.







