Создание скидки на общую сумму покупки в Битрикс корзине

Просмотров: 31463

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

Основные виды манипуляций которые приходится настраивать достаточно часто:

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

Функционал достаточно обширен и позволяет реализовать любые фантазии и условия. Я расскажу на примере "Скидка 15% если товаров в корзине на сумму от 15001 до 20000 рублей"

Скидка на общую сумму покупки

Идем в админпанель, раздел "Магазин", подраздел "Скидки", пункт "Правила работы с корзиной":

идем в правила корзины

Нажимаем "Добавить правило":

добавляем.png

Откроется мастер настройки правила. Здесь минимально необходимо указать понятое название, так как, если таких условий будет много, Вы легко запутаетесь. Я назвал скидку как есть и не выставлял период активности, то есть данное правило навсегда с текущего момента:

называем.png

Переходим на вкладку "Действия условия" и задаем действие которое должно произойти, в моем случае должно произойти "Изменение стоимости товаров в корзине"

выбираем действие

И заполняем действие как на скриншоте. То есть мы пошагово составили "применить скидку 15% ко всем товарам соответствующим условиям"

создаем условие

А теперь необходимо создать условие при котором это действие будет срабатывать. Для этого переходим в поле ниже "Дополнительные условия". И выбираем из заготовок "Общая стоимость товаров":

создаем дополнительно.png

Создаем два таких условия как на скриншоте. То есть мы ограничили суммы в рамки 15001 рубль и 20000 рублей. Если говорить человеческим языком, то получается следующее "Если в корзине набрано товаров от 15001 рубля до 20000 рублей, должна сработать скидка 15% на все товары":

дополнительные условия.png

Переходим на вкладку "Ограничения" и указываем пользователей, для которых будет доступно это условие. То есть можно применять только для авторизованных или для партнеров, а для всех остальных скидок не будет. В моем случае я выбрал все категории пользователей. Администратора выбирайте обязательно, так как Вам нужно будет проверить свою работу.

пользователи.png

Все готово. Но держите за правило: всегда все проверять. Для этого переходим на сайт и кидаем в корзину товаров на сумму в рамках 15000/20000 рублей. Переходим в корзину и видим, что наша скидка применилась.

условие выполнено до 20.png

На всякий случай докладываем в корзину товаров на сумму превышающее наше условие, и видим, что скидка не сработала.

условие не выполнено больше.png

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

Михаил Базаров 08.10.2017
Цитата
ruslan2243 написал:
Михаил, как сделать, чтобы в корзине стояли чекбоксы:
- пенсионерам скидка 5%
- студентам скидка 5%
Покупатель выбирает, и заказ пересчитывается. Такое можно сделать штатно? И если не штатно, то как примерно это должно выглядеть?
Нужно этих пользователей определить в группу "пенсионеры и студенты" - и назначить их эту скидку. Примерно в эту сторону думать
ruslan2243 12.10.2017
Михаил, скажите, а как сделать скидку к товарам в корзине, на основе чекбоксов в корзине?
Например, стоят галочки:
- сезонная скидка
- скидка студенту
Человек отмечает галочки и Итоговая сумма в корзине пересчитывается.
Какой метод использовать? и Где хранить эти скидки, чтобы можно было их редактировать? в инфоблоке?
ruslan2243 12.10.2017
Ой, простите, второй раз задал вопрос.
Не получится разделить на группы, т.к. скидки произволные, не привязаны ни к пользователям и товарам.
Просто чекбоксы. Это может быть всё что угодно, безо всякой логики:
- у меня хорошее настроение (5%)
- просто поставь галочку (10%)
..ну и т.д.
Может быть просто менять стоимость заказа. А скидки хранить в инфоблоке.

Есть такой метод CCatalogDiscount::Add, но мне кажется он относится к скидкам по условию, которые хранятся в разделе скидки.
Павел Ерофеев 21.02.2019
Михаил, добрый день! Очень нужен совет по работе с корзиной. Создал правило, создал купон, перехожу в корзину и применяю купон, скидка действует, нажимаю кнопку "Оформить заказ" и скидка сбрасывается. В чем может быть проблема? Если поможет, вот короткое виде о проблеме 50сек. https://monosnap.com/file/D1BCLE8z7mxWbA2MVJJoLF1kZQNaNB
Михаил Базаров 21.02.2019
Быть может, срабатывает какое-то ограничение? Например: по службе оплаты или доставки- нужно изнутри разбираться
Павел Ерофеев 21.02.2019
Цитата
Михаил Базаров пишет:
Быть может, срабатывает какое-то ограничение? Например: по службе оплаты или доставки- нужно изнутри разбираться
отключил все службы оплаты и доставки, проблема осталась. Может подскажете в какую сторону еще копать?
Роман 14.07.2022
Добрый день, можно ли увидеть сумму всех товаров со скидкой промокода в корзине, а не на этапе оформления, где видны все способы оплаты, это к тому, что у промокода есть правила исключения по поводу способов оплаты. То есть, корзина еще не видит способов оплаты и поэтому не пересчитывает товары.
Михаил Базаров 14.07.2022
Цитата
Роман написал:
Добрый день, можно ли увидеть сумму всех товаров со скидкой промокода в корзине, а не на этапе оформления, где видны все способы оплаты, это к тому, что у промокода есть правила исключения по поводу способов оплаты. То есть, корзина еще не видит способов оплаты и поэтому не пересчитывает товары.

Думаю нет. Но это и логично: корзина еще "не знает", что выберет пользователь в оформлении.
Гость 24.04.2023
Михаил, подскажите пожалуйста, как сделать так, чтобы суммировалась скидка по купону и другие скидки?
Михаил Базаров 25.04.2023
Цитата
Гость написал:
Михаил, подскажите пожалуйста, как сделать так, чтобы суммировалась скидка по купону и другие скидки?  

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