Скидка на отдельный товар или целый раздел каталога — базовая маркетинговая механика, и в 1С-Битрикс её можно собрать без единой строки кода. Ключ к результату — правильно выбрать инструмент (скидка каталога или правило корзины) и корректно задать привязку к товару или разделу инфоблока.
Два инструмента для одной задачи
В 1С-Битрикс скидку на товар можно оформить двумя разными механизмами, и путать их не стоит. Скидки на каталог (раздел Магазин → Настройки → Торговый каталог → Скидки) меняют саму цену товара ещё в каталоге — до попадания в корзину. Правила работы с корзиной (модуль sale, раздел Магазин → Маркетинг → Правила работы с корзиной) срабатывают уже над содержимым корзины и заказа.
- Скидка каталога — проще выводится на карточку и в списки как перечёркнутая цена, работает быстро, но условия ограничены товаром, разделом и группой покупателей.
- Правило корзины — гибкие условия (количество, сумма, свойства, бренд), гибкие действия, но требует, чтобы товар оказался в корзине.
Скидка на конкретный товар
Проще всего оформить скидку на один товар через скидку каталога. Создайте новую скидку, задайте размер (процент или фиксированная сумма), а в блоке условий выберите Товар и укажите нужную позицию через поиск по каталогу. Такая скидка сразу отразится в цене на карточке и в выдаче списков.
Если же скидка должна зависеть от корзины (например, «−10% на этот товар только при заказе от 3 штук»), используйте правило корзины. В конструкторе условий добавьте ветку Товары в корзине и внутри неё условие по конкретному товару, а действием выберите Применить скидку к товару.
- Откройте
Магазин → Маркетинг → Правила работы с корзинойи нажмите «Добавить». - Заполните название, сортировку и период действия.
- В условиях выберите «Товар» → нужный элемент инфоблока.
- В действии задайте процент или сумму скидки на этот товар.
Скидка на категорию (раздел каталога)
Для скидки на целый раздел работает та же логика, но привязка идёт не к элементу, а к разделу инфоблока. В скидке каталога в условиях выберите Раздел и укажите нужную ветку каталога — скидка автоматически распространится на все товары внутри, включая вложенные разделы (это регулируется настройкой учёта подразделов).
В правилах корзины откройте ветку Товары в корзине и добавьте условие Значение поля → Раздел (привязка к разделам). Здесь система проверяет поле IBLOCK_SECTION_ID и все разделы привязки товара, поэтому скидка сработает для любого товара выбранной категории.
Тонкая настройка условий
Сила правил корзины — в комбинировании условий. К привязке по товару или разделу можно добавить фильтры, чтобы скидка не задевала лишнее:
| Условие | Что задаёт |
|---|---|
| Свойство товара | Скидка только на позиции с нужным значением свойства (например, «Распродажа = Да») |
| Бренд / производитель | Ограничение по свойству-привязке к бренду внутри раздела |
| Группа пользователей | Скидка только для оптовиков или зарегистрированных покупателей |
| Количество / сумма | Порог срабатывания по товару или всей корзине |
Логические группы И / ИЛИ позволяют собрать сложное правило — например, «−15% на раздел «Обувь», но только для бренда X и при покупке от 2 пар».
Приоритеты, суммирование и ограничения
Когда на товар претендует несколько скидок, вступает в силу приоритет и сортировка. У каждой скидки есть поля «Приоритет» и «Сортировка», а флаг Прекратить дальнейшее применение скидок останавливает перебор после срабатывания текущего правила — так вы не даёте скидкам суммироваться бесконтрольно.
- Скидки каталога считаются первыми и влияют на базовую цену;
- затем к содержимому корзины применяются правила корзины по приоритету;
- при равном приоритете решает поле сортировки.
Проверка и вывод на сайте
После настройки обязательно протестируйте механику на реальной корзине под нужной группой пользователей, а не только в админке. Проверьте, что скидка применяется к правильным позициям и не задевает соседние товары раздела.
- Убедитесь, что период действия скидки актуален и она активна;
- очистите кэш каталога и компонентов — старые цены нередко «залипают» в кэше;
- для скидок каталога проверьте вывод перечёркнутой цены и процента в карточке товара;
- для правил корзины проверьте итог именно на странице оформления заказа.
Если товар не попадает под скидку раздела — почти всегда причина в привязке к разделам или в фильтре по свойству, который отсекает позицию.
Итог
Скидка на товар или категорию в 1С-Битрикс решается штатно: для простого снижения цены — скидка каталога с привязкой к товару или разделу, для условной механики — правило корзины с условием по товару, разделу или свойству. Ключевые нюансы — множественные привязки к разделам, приоритеты и остановка суммирования, а также кэш при проверке.
Если акций много и они начинают конфликтовать между собой или тормозить каталог, мы помогаем спроектировать прозрачную систему скидок, отладить приоритеты и проверить её под нагрузкой — от разработки до сопровождения магазина.
Частые вопросы
Чем скидка каталога отличается от правила корзины?
Скидка каталога меняет цену товара ещё до корзины и легко выводится как перечёркнутая цена. Правило корзины срабатывает над содержимым корзины и позволяет задавать сложные условия по количеству, сумме и свойствам.
Как сделать скидку сразу на весь раздел каталога?
В скидке каталога выберите условие «Раздел» и укажите нужную ветку, либо в правиле корзины добавьте условие по привязке к разделу. Скидка распространится на все товары внутри, включая вложенные разделы при соответствующей настройке.
Почему скидка на категорию не применяется к некоторым товарам?
Чаще всего товар привязан к другому разделу или имеет несколько привязок, а также его может отсекать дополнительный фильтр по свойству. Проверьте фактические разделы товара в его карточке.
Можно ли дать скидку на товар только для оптовиков?
Да, добавьте в условиях правила ограничение по группе пользователей. Тогда скидка сработает только для покупателей из выбранной группы.
Как запретить суммирование скидки на товар с акцией на раздел?
Задайте точечной скидке более высокий приоритет и включите флаг «Прекратить дальнейшее применение скидок». После её срабатывания остальные правила к этому товару применяться не будут.
Где настраиваются правила работы с корзиной?
В административной части в разделе «Магазин → Маркетинг → Правила работы с корзиной». Там создаются условия и действия для скидок над содержимым корзины.
Почему после настройки скидка не видна на сайте?
Обычно причина в кэше каталога и компонентов или в неактивном периоде действия скидки. Очистите кэш и проверьте, что скидка активна и её даты актуальны.
Можно ли ограничить скидку конкретным брендом внутри раздела?
Да, в правиле корзины скомбинируйте условие по разделу с условием по свойству-привязке к бренду через логическую группу «И». Скидка сработает только для нужного производителя.
Поможем с настройкой и поддержкой 1С-Битрикс: Управление сайтом
Поможем с настройкой, доработкой и поддержкой 1С-Битрикс: Управление сайтом.