Настройка одностраничного оформления заказа (checkout) в 1С-Битрикс

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Настройка одностраничного оформления заказа (checkout) в 1С-Битрикс
Простой
~1 день
Часто задаваемые вопросы

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

Этапы разработки

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1330
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    924
  • 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 Appointment Booking Widget for a Medical Center
    672
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    815
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    714
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1051

Когда пользователь доходит до оформления заказа, каждый дополнительный шаг отсеивает 5–10% покупателей?

Многостраничный checkout из 3–4 этапов даёт гарантированную потерю 15–25% клиентов на пути к оплате. Одностраничный режим ONE_PAGE компонента bitrix:sale.order.ajax решает эту проблему: все блоки — данные покупателя, доставка, оплата — отображаются на одной странице и обновляются через AJAX без перезагрузок. Мы реализовали десятки таких checkout'ов для проектов с каталогами от 50 000 до 500 000 товаров и знаем все подводные камни. Настройка одностраничного оформления заказа (checkout) в 1С-Битрикс требует не просто включения режима, но и доработок — сохранения данных в localStorage, кэширования расчётов доставки, обработки таймаутов AJAX-запросов. Подробнее о технологии AJAX можно прочитать в Wikipedia. Официальная документация по компоненту — dev.1c-bitrix.ru. Закажите настройку checkout и сократите отвал на 15% прямо сейчас.

Подключение режима ONE_PAGE

В параметрах компонента на странице оформления заказа:

$APPLICATION->IncludeComponent(
    'bitrix:sale.order.ajax',
    '',
    [
        'DELIVERY_MODE' => 'ONE_PAGE',
        'SHOW_DELIVERY_PICTURE' => 'Y',
        'SHOW_DELIVERY_DESCRIPTION' => 'N',
        'PAY_FROM_ACCOUNT' => 'N',
        'SHOW_VAT' => 'N',
    ]
);

В режиме ONE_PAGE компонент при изменении любого поля (смена города, выбор службы доставки) отправляет AJAX-запрос и обновляет зависимые блоки — стоимость доставки, доступные платёжные системы.

Настройка AJAX-обновления блоков

В шаблоне одностраничного checkout за AJAX-обновление отвечает объект orderAjax — он инициализируется в order_ajax.php шаблона. При изменении поля «Город» вызывается orderAjax.updateDelivery(), которая:

  1. Запрашивает доступные службы доставки для указанного города через \Bitrix\Sale\Delivery\Services\Manager::getRestrictedObjectsList()
  2. Рассчитывает стоимость каждой через \Bitrix\Sale\Delivery\Services\Base::calculate()
  3. Обновляет блок доставки без перезагрузки страницы

Если расчёт занимает больше 1–2 секунд (например, внешний API СДЭК медленно отвечает) — пользователь видит крутящийся лоадер. Это нормально, но стоит добавить таймаут и кеширование расчётов по коду города и весу корзины.

Как ускорить одностраничный checkout?

Самое узкое место — расчёт доставки через внешние сервисы. Мы используем кэширование с ключом {city_id}_{weight}_{price} и TTL 30 минут. Это снизило время загрузки checkout на 40% на одном из проектов. Дополнительно внедряем отложенную загрузку блоков оплаты — они подгружаются только после выбора доставки. Сравнение режимов: ONE_PAGE лучше MULTI_STEP, так как сокращает отвал на 10–15% и ускоряет оформление в 2-3 раза.

Почему стандартный checkout теряет данные при F5?

Компонент не хранит введённые данные ни в сессии, ни в localStorage. При перезагрузке страницы все поля становятся пустыми — для пользователя это катастрофа. Решение: добавить обработчик onchange на все поля формы, который пишет данные в localStorage, и при DOMContentLoaded восстанавливать их. Реализация занимает 2–3 часа и dramatically улучшает UX.

Сравнение режимов: ONE_PAGE vs MULTI_STEP

Параметр ONE_PAGE MULTI_STEP
Количество страниц 1 3–4
Обновление AJAX Перезагрузка
Отвал пользователей 5–10% 15–25%
Время до оплаты 30–60 сек 60–120 сек
Сложность настройки Средняя Низкая
Сохранение данных Требуется доработка Встроено

ONE_PAGE сокращает количество страниц в 3–4 раза и уменьшает отвал на 10–15% по сравнению с MULTI_STEP.

Подробнее о кэшировании расчётов доставки Кэширование реализуется через `Bitrix\Main\Data\Cache`. Ключ формируется как `delivery_calc_{city_id}_{weight}_{price}`. TTL устанавливается 30 минут. Это позволяет сократить время ответа на 40% и снизить нагрузку на внешние API.

Типичные проблемы и их решения

Проблема Решение
Потеря данных при F5 Сохранение полей в localStorage
Медленные расчёты доставки Кэширование по городу/весу
Конфликт с SEO-плагинами noindex страницы checkout
Некорректные несколько отгрузок Кастомная разработка подсекций

Что входит в работу

  1. Аудит текущего checkout и конфигурации компонента.
  2. Переключение на режим ONE_PAGE с настройкой шаблона под дизайн.
  3. Реализация localStorage-сохранения данных формы.
  4. Кэширование расчётов доставки (по городу, весу, цене).
  5. Доработка AJAX-логики (таймауты, лоадеры, исключения).
  6. Тестирование на корзинах различного объёма (до 500+ товаров).
  7. Передача документации и доступов.

Сроки настройки

Переключение на режим ONE_PAGE и настройка шаблона — от 1 до 2 рабочих дней. Добавление localStorage-сохранения, кэширования расчётов доставки и доработок AJAX-логики — от 2 до 4 дней. Сроки уточняются после анализа вашего проекта.

Компания и опыт

Мы занимаемся разработкой на 1С-Битрикс и Битрикс24 более 7 лет. Реализовали 40+ checkout'ов для интернет-магазинов с товарооборотом до 2 млн ₽/мес. Гарантируем стабильность решения: предоставляем страховку от сбоев — если после внедрения checkout работает некорректно, исправляем бесплатно в течение 30 дней. Средняя экономия клиентов составляет существенную сумму за счёт снижения отвала. Получите консультацию по вашему проекту — свяжитесь с нами для оценки checkout.