Главная » Интернет-магазин » Заказы » Правила скидок каталога в Битрикс

Правила скидок каталога в Битрикс

Схема применения нескольких правил скидок с приоритетом и суммированием в 1С-Битрикс

Система скидок 1С-Битрикс — конструктор условий и действий, способный выразить почти любую маркетинговую акцию без написания кода, но при сложной логике условий требующий понимания, в каком порядке и по каким правилам применяются несколько скидок одновременно. Разберём базовую структуру правил и типичные ловушки при комбинировании.

Условие и действие — два независимых блока

Каждое правило скидки состоит из условия (когда скидка применяется: сумма корзины больше N, товар определённого раздела, покупатель из конкретной группы) и действия (что происходит: процентная скидка, фиксированная сумма, скидка на определённый товар в подарок). Условие и действие настраиваются независимо друг от друга — это позволяет комбинировать одно действие с разными условиями для разных сценариев без дублирования логики скидки.

Приоритет применения нескольких правил

Если у товара или заказа выполняется сразу несколько правил скидок, порядок их применения определяется настроенным приоритетом каждого правила и признаком, продолжать ли проверку следующих правил после срабатывания текущего. Без явно настроенного приоритета порядок применения может оказаться не тем, что ожидал маркетолог, — особенно если правила создавались в разное время разными сотрудниками без общего понимания их взаимного влияния.

Нужна помощь с Битрикс?





    Суммирование скидок vs. применение только большей

    В настройках модуля продаж (Маркетинг → Скидки → Настройки) задаётся общее поведение при пересечении нескольких применимых скидок: суммировать их эффект или применять только наибольшую. Это глобальная настройка, влияющая на все правила сразу, — если бизнесу нужно исключение для конкретной акции (не суммировать именно с ней, при том что остальные суммируются), это требует более тонкой настройки на уровне самого правила, а не общей опции.

    Программное создание правила скидки

    <?php
    
    use Bitrix\Main\Loader;
    
    Loader::includeModule('sale');
    
    $discountId = CCatalogDiscount::Add([
        'NAME' => 'Скидка 10% на раздел Акции',
        'ACTIVE' => 'Y',
        'SITE_ID' => ['s1'],
        'VALUE_TYPE' => 'P', // процент
        'VALUE' => 10,
        'CURRENCY' => 'RUB',
        'CONDITIONS' => serialize([...]), // сериализованное дерево условий
    ]);

    Программное создание скидок используется реже настройки через интерфейс — в основном для миграции правил из внешней системы или массовой генерации однотипных акций, где ручное создание каждой через админку было бы неоправданно трудоёмким.

    Скидки на конкретный товар vs. скидка на корзину

    Важно различать скидку, применяемую к цене конкретного товара (видна прямо на карточке товара как "было/стало"), и скидку, применяемую к сумме всей корзины или заказа целиком (видна только на этапе оформления). Первая формирует ожидание у покупателя ещё на этапе просмотра каталога, вторая раскрывается только в процессе оформления — выбор типа скидки стоит соотносить с тем, на каком этапе воронки продаж она должна повлиять на решение покупателя.

    Отладка неожиданно не сработавшей скидки

    Если скидка не применяется, хотя условие визуально выполнено, стоит проверить: активность самого правила и срок его действия, корректность привязки к сайту (правило может быть настроено только для одного из нескольких сайтов на площадке), и не перебивает ли его другое правило с более высоким приоритетом и признаком "не проверять дальше".

    Частые ошибки

    • Приоритет правил не настроен явно. Порядок применения нескольких скидок оказывается не тем, что ожидалось.
    • Правило привязано не к тому сайту на мультисайтовой площадке. Скидка не срабатывает там, где её ожидают увидеть.
    • Не учтена глобальная настройка суммирования скидок. Несколько акций взаимно перебивают друг друга вместо ожидаемого сложения.

    Итог

    Система скидок 1С-Битрикс разделяет условие и действие как независимые блоки конструктора, а поведение при пересечении нескольких правил определяется приоритетом и глобальной настройкой суммирования. Большинство случаев "скидка не сработала" объясняется не ошибкой в самом условии, а взаимодействием с другими активными правилами или привязкой к не тому сайту.

    Нужна помощь с Битрикс?

    Исправим ошибку, доработаем сайт, ускорим Битрикс или поможем разобраться с проблемой.

    Услуги
    Инструменты
    База знаний