Настройка минимальной суммы заказа для B2B 1С-Битрикс

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Настройка минимальной суммы заказа для B2B 1С-Битрикс
Простая
~1 рабочий день
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1250
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    849
  • 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
    582
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    751
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    657
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    983

Настройка минимальной суммы заказа для B2B 1С-Битрикс

Минимальная сумма заказа в B2B — это не просто ограничение, это экономическая необходимость: обработка заказа на 500 рублей при стоимости логистики 300 рублей убыточна. Задача — реализовать проверку так, чтобы разные клиенты имели разные минимумы и чтобы ограничение применялось до, а не после оформления.

Стандартный способ через настройки магазина

В Битриксе есть базовое ограничение минимальной суммы заказа: Магазин → Настройки → Основные настройки → поле «Минимальная сумма заказа». Это единое значение для всех пользователей. При попытке оформить заказ ниже порога выводится сообщение об ошибке, кнопка «Оформить» недоступна.

Для B2B с единым минимумом этого достаточно. Но на практике оптовые компании имеют разные минимумы для разных групп: новый клиент — 10К, постоянный оптовик — 5К, VIP-дилер — без ограничений.

Групповые минимумы через обработчик события

Реализуется через обработчик OnBeforeSaleOrderAdd. Логика:

  1. Определяем группу пользователя или его дилерскую компанию
  2. Получаем минимальную сумму для этой группы из настроек (опции модуля или Highload-блок)
  3. Сравниваем с суммой заказа $order->getPrice()
  4. Если сумма ниже — добавляем ошибку через $event->addError(), заказ не создаётся

Хранение минимумов по группам: таблица опций модуля или Highload-блок b2b_order_limits с полями UF_GROUP_ID / UF_COMPANY_ID, UF_MIN_ORDER_AMOUNT, UF_CURRENCY.

Предупреждение в корзине

Блокировать на этапе создания заказа — поздно. Пользователь должен видеть предупреждение прямо в корзине, когда набирает позиции. Это делается в компоненте корзины: в result_modifier.php вычисляем сумму текущей корзины и минимум для пользователя, добавляем в $arResult флаг IS_BELOW_MINIMUM и сумму до достижения порога. Шаблон показывает информер: «До минимальной суммы заказа не хватает 3 200 руб.»

Минимум по категориям

Иногда минимум задаётся не для всего заказа, а для конкретных категорий товаров (например, категория «Хрупкие товары» отгружается минимум на 15К). Реализуется через то же событие OnBeforeSaleOrderAdd: группируем позиции корзины по IBLOCK_SECTION_ID, проверяем минимум для каждой категории из Highload-блока правил.

Настройка базового ограничения минимальной суммы через интерфейс: 1 день. Разработка групповых минимумов с предупреждением в корзине: 3-5 дней.