Налаштування оформлення замовлення 1С-Бітрікс
Сторінка оформлення замовлення в Бітрікс керується компонентом bitrix:sale.order.ajax. Найчастіше до нас звертаються з однією з трьох проблем: не працює автопідстановка адреси доставки, неправильно розраховується вартість доставки при зміні міста, або форма не відправляється без помилки в консолі.
Структура компонента оформлення замовлення
Компонент bitrix:sale.order.ajax складається з кількох частин:
-
Кроки оформлення — керуються через параметр
DELIVERY_MODE(SPLIT_DELIVERYдля покрокового,ONE_PAGEдля односторінкового) -
Профілі платника — налаштовуються в
Інтернет-магазин → Покупці → Типи платників -
Служби доставки — підключаються в
Інтернет-магазин → Служби доставки -
Платіжні системи —
Інтернет-магазин → Платіжні системи
Шаблон компонента знаходиться в /bitrix/components/bitrix/sale.order.ajax/templates/. При роботі з сайтом під керуванням шаблону — використовується копія в /local/components/bitrix/sale.order.ajax/templates/.
Типові налаштування через адміністративний інтерфейс
Поля форми замовлення. В Інтернет-магазин → Налаштування → Властивості замовлення налаштовуються поля, які покупець заповнює при оформленні: ПІБ, телефон, email, адреса. Для кожного поля задається тип, обов'язковість, прив'язка до типу платника.
Прив'язка доставки до складів. Якщо в магазині кілька складів (Каталог → Склади), то при оформленні замовлення потрібно налаштувати, з якого складу відвантажується товар. Це впливає на розрахунок вартості доставки та термінів.
Автопідстановка міста. Компонент вміє підтягувати місто з профілю авторизованого користувача — поле UF_CITY з b_user. Для анонімних користувачів — через геолокацію модуля sale.location або зовнішній сервіс (DaData, Яндекс.Карти).
Налаштування прив'язки властивостей замовлення до доставки
Часте завдання — показувати адресу доставки тільки при виборі кур'єрської доставки, а при самовивозі — показувати список пунктів. Це налаштовується через параметри компонента в шаблоні:
// У шаблоні компонента sale.order.ajax
$arParams['DELIVERY_NO_AJAX'] = 'N'; // оновлення доставок без перезавантаження
$arParams['USE_PREPAYMENT'] = 'Y'; // передоплата
Для умовного відображення полів — через JS-події компонента:
BX.addCustomEvent('onSaleOrderAjaxDeliveryChange', function(deliveryId) {
// показати/приховати поля залежно від вибраної доставки
});
Строки налаштування
Базове налаштування оформлення замовлення (поля форми, служби доставки, платіжні системи) — 4–8 годин. Якщо потрібне налаштування умовної видимості полів, геолокації або інтеграція зі службами доставки через API — 1–3 робочі дні.







