Для начисления скидок или бонусов должны быть выполнены созданные Вами условия или их часть в зависимости от настроек.
Входными и выходными данными являются товары из корзины. Даже если проверяется день недели, то в случае его совпадения, результатом будет массив товаров.
Если после проверки всех условий остались товары, значит условия сработали и можно назначать скидку или бонус.
Приоритет проверки условий
Условия проверяются согласно их приоритету, а не по порядку следования.
Приоритет проверки условий (по категориям):
- Пользователь, Выполненные заказы, Дата и время, Переменные, Витрина
- Товар
- Свойства товара
- Корзина
Система условий
Если создано более одного условия, то перед Вами образуется система условий.
Система условий может быть:
- Строгой: все условия должны быть выполнены. От начала и до конца фильтруется один набор товаров. Если после всех условий товаров не остается, значит условия не могут быть выполнены, и фильтр не сработает.
- Не строгой: хотя бы одно условие должно быть выполнено. Каждое условие работает с полным (новым) набором товаров. Условия не влияют друг на друга.
Группа условий
Группа условий дает возможность объеднять несколько систем условий. В каждой группе сохраняются правила приоритета. Набор данных на входе, обрабатываемый в группах, каждый раз полный (новый).
Если в фильтре присутствует группа условий и обычные условия, то сначала будет обработана группа.
Разновидности условий

Условия могут быть:
- Обычные
- Фильтрующие.
Фильтрующие условия ограничивают входной набор товаров.
Рассмотрим пример, указанный на изображении выше.
Когда все условия сработают успешно, то на выходе у нас будут товары из категории Планшеты с ценой более 1000 рублей и общим количеством более 5шт. На эту группу товаров и будет установлена скидка.
Если напротив условия нет иконки фильтра, значит состав товаров, который получит скидку, остается таким же, как в корзине. Необходимо лишь, чтобы эти товары успешно проходили Ваши условия.
Примеры
Предположим, что заказ оформляет зарегистрированный пользователь. Состав его корзины:
- Товар А: 5000р/шт - 5 шт. Итого - 25 000р. Вес 3 кг.
- Товар Б: 4000р/шт - 5 шт. Итого - 20 000р. Вес 9 кг.
- Товар В: 7000р/шт - 3 шт. Итого - 21 000р. Вес 50 кг.
- Товар Г: 10 000р/шт - 4 шт. Итого - 40 000р. Вес 52 кг.
Пример 1

Проследим процесс обработки условий:
- Обрабатывается группа со строгими условиями. На входе 4 товара. Сначала будет обработано условие из второй группы приоритета, затем из четвертой. "Характеристика товара Вес >= 50" - означает, что мы отбираем только те товары, у которых вес больше 50 кг. В нашем случае это товары В и Г. Условие выполнено. "Сумма значений характеристики Вес > 100" - означает, что общий вес отобранных товаров должен быть более 100кг. Товар В + Товар Г = 50 кг * 3 шт + 52 кг * 4 шт = 358 кг. Условие выполнено. "Общее кол-во всех товаров > 5" - мы считаем количество товаров В и Г. Значение равно 7. Условие выполнено. Группа условий выполнена.
- Обрабатываем другие условия. На входе 4 товара + 2 товара, которые вернула группа. Поскольку эти товары уже имеются в наборе, то на входе так и остается 4 товара. ПРИМЕЧАНИЕ: Если бы группа условий не была бы выполнена, то весь фильтр бы не сработал.
- Сначала будет обработано условие из первой группы приоритета, затем из третьей. "Категорий пользователя равно Магазин" - Условие выполнено, поскольку мы уточнили, что заказ оформляет зарегистрированный пользователь. "Общая стоимость всех товаров > 100 000" - Сумма всех товаров равна 106 000р. Условие выполнено.
- Все условия выполнены. Значит скидку получат все 4 товара. ВАЖНО! С товарами ничего не случится вне зависимости от того сработает фильтр или нет.
Пример 2
Посмотрим, как сработает фильтр, если не использовать группу условий.

- На входе 4 товара. Порядок обработки условий: "Категорий пользователя равно Магазин" - Условие выполнено, поскольку мы уточнили, что заказ оформляет зарегистрированный пользователь. "Характеристика товара Вес >= 50" - означает, что мы отбираем только те товары, у которых вес больше 50 кг. В нашем случае это товары В и Г. Условие выполнено. "Сумма значений характеристики Вес > 100" - означает, что общий вес отобранных товаров должен быть более 100кг. Товар В + Товар Г = 50 кг * 3 шт + 52 кг * 4 шт = 358 кг. Условие выполнено. "Общее кол-во всех товаров > 5" - мы считаем количество товаров В и Г. Значение равно 7. Условие выполнено. "Общая стоимость всех товаров > 100 000" - Сумма товаров В и Г равна 61 000р. Условие НЕ выполнено.
- Одно из условий не выполнено. Скидку не получит ни один товар.
ВАЖНО! С товарами ничего не случится. Состав корзины по-прежнему такой же.