Настройка правил работы с корзиной 1С-Битрикс
Правила работы с корзиной — расширенный механизм, который регулирует не только скидки, но и поведение корзины: минимальные/максимальные суммы заказа, ограничение количества определённых товаров, запрет добавления конкурирующих позиций, обязательные сопутствующие товары. Это надстройка над базовыми правилами корзины модуля sale, которая позволяет реализовать бизнес-логику, недоступную через стандартные скидки.
Ограничения суммы и количества
Минимальная сумма заказа. Настраивается в свойствах сайта: Настройки → Настройки главного модуля → Минимальная сумма заказа. Но это глобальная настройка. Для ограничения минимальной суммы по группе пользователей или для конкретного раздела каталога — нужно правило корзины с условием и действием «Запретить оформление заказа».
Обработчик события для программного ограничения:
AddEventHandler('sale', 'OnSaleComponentOrderOneStepProcess', function(&$arParams, &$arResult) {
$basket = $arResult['BASKET_ITEMS'];
$total = array_sum(array_column($basket, 'PRICE'));
if ($total < 1000) {
$arResult['ERROR_MESSAGE'] = 'Минимальная сумма заказа — 1000 рублей';
$arResult['ERROR'] = 'Y';
}
});
Лимит количества на одного покупателя. Акционный товар, который нельзя купить более 2 штук в одном заказе или более 5 штук за всё время. Второй вариант требует запроса к b_sale_basket или истории заказов пользователя — реализуется только через обработчик события.
Правила для B2B-сегмента
В B2B-магазинах правила корзины работают с группами пользователей. Типичные задачи:
- Оптовые пороги: при количестве ≥ 10 штук цена снижается до оптовой. Реализуется через правила корзины с условием на количество товара и действием «Скидка на товар» с конкретным кодом товара или разделом.
-
Запрет смешивания поставщиков: в корзине могут быть товары только от одного поставщика. При добавлении второго — предупреждение или автоочистка. Реализуется через обработчик
OnSaleBasketItemOnBeforeSetField. - Обязательный минимальный ассортимент: при оформлении заказа менеджер-дистрибьютор должен взять не менее 3 SKU из категории. Валидация при попытке перейти к оформлению.
Сопутствующие и обязательные товары
Правило «добавить сопутствующий товар» (например, зарядное устройство к телефону) работает через действие «Добавить подарок/сопутствующий товар». Разница между подарком (цена 0) и сопутствующим товаром (полная цена) — в действии правила.
Обязательные товары — например, страховка при покупке техники — это уже кастомная логика. Стандартного механизма «обязательного товара» в корзине Битрикс нет. Реализуется через обработчик и блокировку перехода к оформлению при отсутствии обязательной позиции.
Тестирование правил
После настройки каждое правило нужно проверить в нескольких сценариях: правило применяется когда должно, не применяется когда не должно, корректно снимается при изменении корзины. Особое внимание — к комбинациям правил: два правила вместе не должны давать неожиданный результат (например, 110% скидки).
Сроки настройки
Настройка правил работы с корзиной через административный интерфейс — половина–2 дня в зависимости от количества правил и их сложности. Разработка нестандартных ограничений через обработчики событий — 1–3 дня, включая тестирование всех сценариев.







