Накопительная скидка не должна складываться с ценой по акции — иначе постоянный покупатель уводит маржу в ноль на и без того уценённом товаре. В 1С-Битрикс это решается не «галочкой», а правильной настройкой условий, приоритетов и флага остановки скидок. Разберём три рабочих способа и то, как проверить результат.
Почему акционные товары нужно исключать
Накопительная скидка в Битрикс — это правило работы с корзиной, которое даёт процент от накопленной суммы покупок клиента. Оно применяется к позициям корзины после формирования цены. Если товар уже участвует в акции (специальная цена, распродажа, спецпредложение), то накопительный процент ляжет поверх акционной цены — и клиент получит скидку на скидку.
Последствия предсказуемы:
- Потеря маржи. На товаре с акционной ценой −30% и накопительной −10% итог легко уходит ниже закупки.
- Конфликт с договорённостями по акции. Поставщик или маркетинг фиксировали конкретную акционную цену, а сайт отдаёт её ещё дешевле.
- Непрозрачный расчёт для клиента. Итоговая цена «пляшет» и вызывает вопросы в поддержку.
Как в магазине помечены акционные товары
Прежде чем настраивать исключение, нужно понять, по какому признаку система отличает акционный товар от обычного. От этого зависит условие в правиле. В Битрикс встречаются четыре типовых схемы разметки:
| Признак | Где хранится | Как использовать в условии |
|---|---|---|
| Раздел «Акции» | Привязка товара к разделу инфоблока | Условие «Раздел каталога» |
| Свойство-флаг | Свойство ИБ, напр. AKCIYA (Да/Нет) | Условие «Свойство инфоблока» |
| Спецпредложение | Поле каталога SPECIALOFFER | Флаг «специальное предложение» |
| Отдельный тип цены | Тип цены «Акция» / спеццена (SALE) | Условие по типу цены |
Чаще всего у магазина это раздел «Акции» или отдельное свойство, которое приезжает из 1С при обмене каталогом. Определите свой признак — дальше все способы строятся вокруг него.
Способ 1: условие-исключение в самом правиле
Самый чистый вариант — не давать накопительной скидке даже «дотянуться» до акционных позиций. Открываем Магазин → Маркетинг → Скидки (в объединённых скидках это /bitrix/admin/sale_discount.php), заходим в нужное накопительное правило и правим блок условий.
В группе «Скидка на товары корзины, для которых выполнено условие» добавляем ограничение, отсекающее акцию:
- если товары в разделе — условие
Раздел каталогасо связкой «не равно» разделу «Акции»; - если помечены свойством — условие
Значение свойствас проверкойAKCIYA≠ «Да»; - логику группы условий держим на «И», чтобы исключение работало вместе с остальными.
Так накопительный процент физически не начисляется на позиции с акционным признаком: они остаются по своей цене, а обычные товары получают скидку как раньше.
Способ 2: приоритет и флаг «Прекратить применение»
Когда акционную цену задаёт отдельная скидка (а не спеццена или свойство), удобнее управлять очередью применения. У каждого правила в Битрикс есть поле Приоритет и флаг «Прекратить применение других скидок» (в старых магазинах — «Последняя скидка», LAST_DISCOUNT).
Схема такая:
- Акционному правилу ставим больший приоритет, чем у накопительного.
- Включаем у него флаг «Прекратить применение».
- Битрикс, применив акцию к позиции, останавливает дальнейший перебор скидок для неё — накопительная до товара уже не доходит.
Важно понимать порядок: система сортирует правила по приоритету (по убыванию), применяет подходящие и, встретив флаг остановки, завершает обработку для этой позиции. Поэтому акционное правило должно стоять выше накопительного.
Способ 3: разнести по группам скидок
В объединённых (новых) скидках Битрикс правила можно объединять в группы скидок с настройкой взаимодействия внутри группы. Это помогает, когда акционных механик несколько и нужна предсказуемая логика «или акция, или накопительная».
- Помещаем акционные и накопительное правила в одну группу.
- Для группы задаём режим, при котором применяется только одна скидка (по приоритету), а не сумма всех.
- Между группами при этом сохраняется независимость — скидки других категорий не затрагиваются.
Подход масштабируется: добавляя новую акцию, вы просто кладёте её в ту же группу, и она автоматически конкурирует с накопительной, а не складывается с ней. Это удобнее, чем расставлять флаги остановки на каждом правиле по отдельности.
Проверка и отладка результата
Настройку обязательно проверяют на реальной корзине — «на глаз» логика скидок в Битрикс не читается. Порядок проверки:
- Соберите тестовую корзину из акционного и обычного товара под покупателем, у которого набрана накопительная скидка.
- Оформите тестовый заказ и откройте его в админке: блок «Применённые скидки» покажет, какие правила сработали на каждую позицию.
- Убедитесь, что на акционной строке нет накопительного правила, а на обычной — есть.
Если изменения «не видны», почти всегда виноват кэш: скидки кэшируются, поэтому после правки правил сбросьте кэш в Настройки → Настройки продукта → Автокэширование и очистите корзину. Также пересчёт срабатывает при повторном добавлении товара в корзину.
Частые ошибки
Типовые грабли, из-за которых «исключение не работает»:
- Неверный признак акции. Условие настроено на раздел, а товары помечены свойством (или наоборот) — фильтр никого не отсекает.
- Логика «ИЛИ» вместо «И». В группе условий исключение соединено через «ИЛИ», и правило всё равно применяется.
- Приоритеты наоборот. Накопительное правило стоит выше акционного, флаг остановки срабатывает уже после начисления.
- Спеццена вместо скидки. Если акция реализована через спеццену (SALE), накопительная скидка от неё не отличает товар — нужен явный признак в условии.
- Забытый кэш. Правило поправили, а на витрине старый расчёт.
Итог
Чтобы накопительная скидка не складывалась с акцией, в 1С-Битрикс есть три опоры: условие-исключение в самом правиле (когда акция размечена разделом или свойством), приоритет с флагом «Прекратить применение» (когда акцию задаёт отдельная скидка) и группы скидок для сложных наборов механик. Выбор зависит от того, как у вас помечены акционные товары, и от того, должны ли на них действовать другие правила. Обязательный финальный шаг — проверка на тестовом заказе через блок «Применённые скидки» и сброс кэша.
Если акции приезжают из 1С, скидочная матрица разрослась, а расчёт в корзине стал непредсказуемым — мы наведём порядок: разберём текущие правила, выстроим приоритеты и настроим исключения так, чтобы маржа не утекала. Помогаем и с разработкой магазина, и с сопровождением уже работающего каталога.
Частые вопросы
Можно ли одной галочкой запретить складывать акцию и накопительную скидку?
Единой глобальной галочки нет. Поведение задаётся условиями конкретного правила, приоритетами и флагом «Прекратить применение». Настраивать нужно адресно под вашу разметку акций.
Как понять, по какому признаку у меня помечены акционные товары?
Посмотрите карточку товара: акция может быть разделом каталога, свойством инфоблока, полем «специальное предложение» или отдельным типом цены. Часто этот признак приходит из 1С при обмене.
Флаг «Прекратить применение» отключит вообще все скидки на товар?
Да, он останавливает перебор всех последующих правил для этой позиции, а не только накопительной. Если на акционный товар должны действовать купоны, этот способ их тоже отсечёт.
Почему после правки правила скидка на витрине не изменилась?
Скорее всего сработал кэш скидок. Сбросьте автокэширование в настройках продукта и заново пересоберите корзину — расчёт обновится.
Где увидеть, какие скидки реально применились к позиции?
В карточке оформленного заказа в админке есть блок «Применённые скидки». Он показывает по каждой строке, какие правила сработали, и удобен для отладки исключений.
Работает ли исключение, если акция сделана через спеццену (SALE)?
Спеццена не даёт накопительной скидке отдельного признака «это акция». Чтобы исключить такие товары, добавьте явный атрибут — раздел или свойство — и стройте условие по нему.
Чем группы скидок лучше флага остановки?
Группы задают правило взаимодействия сразу для набора скидок — внутри группы применяется только одна по приоритету. Это масштабируемее, чем расставлять флаги остановки на каждом правиле.
Отличается ли настройка до и после конвертации на объединённые скидки?
Да. В старых магазинах это «Последняя скидка» и правила корзины, в объединённых — единый раздел «Скидки» с приоритетами и группами. Логика исключения похожа, но интерфейс и возможности отличаются.
Поможем с настройкой и поддержкой 1С-Битрикс: Управление сайтом
Поможем с настройкой, доработкой и поддержкой 1С-Битрикс: Управление сайтом.