Настройка оформления заказа 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 рабочих дня.







