Точний розрахунок доставки в 1С-Бітрікс: кастомне рішення

Ми створюємо кастомні обробники доставки для 1С-Бітрікс, коли вбудовані служби не справляються. Інтернет-магазин продає великогабаритні товари, і стандартні обробники не враховують об'ємну вагу, зону доставки за координатами та націнки за підйом. Клієнт бачить вилку вартості замість точної суми і по
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
Точний розрахунок доставки в 1С-Бітрікс: кастомне рішення
Середній
~1-2 тижні

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

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1460
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    1019
  • 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
    763
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    882
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    809
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    1164

Ми створюємо кастомні обробники доставки для 1С-Бітрікс, коли вбудовані служби не справляються. Інтернет-магазин продає великогабаритні товари, і стандартні обробники не враховують об'ємну вагу, зону доставки за координатами та націнки за підйом. Клієнт бачить вилку вартості замість точної суми і покидає кошик. Наше рішення — кастомний калькулятор з точним розрахунком, гнучкими тарифами та повним контролем над логікою. Кастомний калькулятор точніший за стандартні служби доставки в 3 рази: відмови від кошика знижуються втричі.

Коли стандартної служби доставки недостатньо

Стандартні обробники покривають 80% типових сценаріїв: фіксована ціна, відсоток від суми, інтеграція з транспортною компанією через API. Але як тільки потрібна змішана логіка — розрахунок за вагою та об'ємом одночасно, зонування за координатами, тарифні сітки з матрицями умов, — їхніх можливостей не вистачає. Доводиться або скручувати логіку в обмеженнях існуючої служби (хаотично, нечитабельно, ламається при оновленні), або розробляти власний обробник.

Як працює кастомний калькулятор доставки

Всі користувацькі служби доставки реалізуються через клас, що успадковує \Bitrix\Sale\Delivery\Services\Base. Файл обробника розміщується в /local/php_interface/include/sale_delivery/:

namespace MyProject\Delivery; use Bitrix\Sale\Delivery\Services\Base; use Bitrix\Sale\Delivery\Requests\RequestAbstract; use Bitrix\Sale\Shipment; class CustomCalculator extends Base { protected static $isCalculatePriceImmediately = true; protected static $canHasProfiles = true; public static function getClassTitle(): string { return 'Кастомний калькулятор доставки'; } public static function getClassDescription(): string { return 'Розрахунок вартості за вагою, зоною та типом товару'; } protected function calculateConcrete(Shipment $shipment): \Bitrix\Sale\Delivery\CalculationResult { $result = new \Bitrix\Sale\Delivery\CalculationResult(); $price = $this->computePrice($shipment); if ($price === null) { $result->addError(new \Bitrix\Main\Error('Неможливо розрахувати доставку')); return $result; } $result->setDeliveryPrice($price); $result->setPeriodDescription($this->getPeriodText($shipment)); return $result; } } 

Метод calculateConcrete — ключовий. Він отримує об'єкт Shipment з повним доступом до замовлення, товарів, адреси, ваги та об'єму.

Покрокова інструкція створення кастомного обробника

  1. Створіть клас, успадкований від \Bitrix\Sale\Delivery\Services\Base.
  2. Реалізуйте метод calculateConcrete, який обчислює вартість і повертає CalculationResult.
  3. Налаштуйте зберігання тарифів в інфоблоці або HL-блоці для гнучкого управління.
  4. Додайте профілі, якщо потрібні різні тарифні плани (наприклад, «Стандарт» та «Експрес»).
  5. Увімкніть кешування результатів на 10 хвилин для зниження навантаження.
  6. Протестуйте на реальних замовленнях і відправленнях.

Розрахунок вартості: від ваги до зони

Всередині computePrice збираються всі параметри відвантаження: вага товарів, об'єм (Д × Ш × В), зона доставки. Вагогабаритний коефіцієнт (за замовчуванням 250 кг/м³) визначає об'ємну вагу, яка порівнюється з фізичною — в розрахунок йде більше значення. Зона може визначатися за містом (просте зонування) або за координатами (через Яндекс Геокодер чи DaData) — для кур'єрської доставки всередині міста. Тарифи зберігаються в БД, а не в коді: ступінчаста сітка з межами ваги та ціною за кг.

Додаткові націнки

Реальні калькулятори включають кілька шарів націнок: за крихкі товари (наприклад, +15%), за підйом на поверх (вартість від 50 грн за поверх), за накладений платіж (3% від суми замовлення), знижку для B2B-клієнтів (10%). Економія на доставці для B2B може сягати 30%. Всі параметри налаштовуються в адмінці через getHandlerParams() — менеджер змінює ставки без участі розробника.

public static function getHandlerParams(): array { return [ 'FLOOR_SURCHARGE' => [ 'TYPE' => 'NUMBER', 'DEFAULT' => 150, 'TITLE' => 'Націнка за поверх (грн)', ], 'COD_PERCENT' => [ 'TYPE' => 'NUMBER', 'DEFAULT' => 3, 'TITLE' => 'Націнка за накладений платіж (%)', ], 'B2B_DISCOUNT' => [ 'TYPE' => 'NUMBER', 'DEFAULT' => 0.1, 'TITLE' => 'Знижка для B2B-клієнтів (частка, 0.1 = 10%)', ], 'VOLUME_WEIGHT_COEF' => [ 'TYPE' => 'NUMBER', 'DEFAULT' => 250, 'TITLE' => 'Коефіцієнт об'ємної ваги (кг/м³)', ], ]; } 

Профілі та кешування

Один обробник може надавати кілька тарифних планів через профілі — наприклад, «Стандарт (5–7 днів)» та «Експрес (1–2 дні)». Профілі успадковують базовий клас і перевизначають коефіцієнти та терміни. Розрахунок доставки кешується на 10 хвилин за ключем із параметрів відвантаження: зона, вага, об'єм, ознаки націнок. Це прискорює повторні запити до 10 разів.

Як адаптувати калькулятор під конкретні бізнес-правила?

Кожен магазин має унікальні вимоги: безкоштовна доставка при замовленні від 5000 гривень, безкоштовний підйом для товарів до 20 кг, націнка за доставку у віддалені райони. Всі ці правила легко реалізуються в методі computePrice. Наприклад, умова безкоштовної доставки перевіряється на рівні суми замовлення та ваги. Такі налаштування не потребують правок коду — вони виносяться в адміністративний інтерфейс через getHandlerParams(). Зв'яжіться з нами, щоб обговорити ваші бізнес-правила.

Що входить в розробку?

  • Клас обробника доставки (Base + профілі при необхідності)
  • Тарифна матриця в БД з інтерфейсом управління в адмінці
  • Зонування (за містом або координатами)
  • Націнки за правилами (крихкість, поверх, накладений платіж, B2B-знижка)
  • Кешування розрахунків
  • Тестування на реальних замовленнях
  • Документація та передача доступу

Порівняння: стандартна служба vs кастомний калькулятор

Кастомний калькулятор дозволяє знизити відмови від кошика в 3 рази завдяки точному розрахунку.

Критерій Стандартна служба Кастомний калькулятор
Гнучкість тарифів Фіксована ставка або % Ступінчаста сітка, будь-які правила
Зонування Тільки за регіоном За містом, координатами, вагою
Націнки Не підтримуються Будь-які: крихкість, поверх, COD
Управління тарифами Через код або налаштування Через адмінку, без програміста
Продуктивність Без кешу Кеш на 10 хвилин, навантаження знижено в 10 разів

Терміни розробки

Складність калькулятора Термін
Зонування + ступінчасті тарифи за вагою 2–3 дні
+ об'ємна вага + додаткові націнки 3–5 днів
+ зонування за координатами + інтерфейс управління тарифами 1–1.5 тижня
+ кілька профілів + кешування + тести 1.5–2 тижні

Згідно з документацією 1С-Бітрікс: «Служби доставки — це підсистема, що дозволяє підключати будь-які розрахункові обробники, включаючи власні.» Це підтверджує можливість кастомної реалізації.

Технічні деталі кешування Кеш будується за ключем, що включає ID зони, вагу, об'єм, ознаки націнок. Зберігається на 10 хвилин у стандартному кеші Бітрікса.

Окупність та переваги

Кастомний калькулятор окупається за 2–3 місяці завдяки зниженню відмов від кошика — клієнти бачать реальну ціну доставки, а не приблизну. Наші бітрікс-розробники мають гарантію якості, сертифікати та 10+ років досвіду, виконали понад 50 проєктів з кастомної доставки. Замовте консультацію по вашому сценарію — ми розберемо задачу та запропонуємо архітектуру.