Как запретить скидку если действует другая скидка?
Есть 3 скидки:
скидка А 15% - для всех в группе А, приоритет 550
Скидка Б 30% - для всех в группе Б, приоритет 500
т.е. если пользователь будет в двух группах, то получит обе, поэтому приоритеты разные, к тому же есть десяток скидок которые идут из серии прекратить на текущем уровне с приоритетами 500 и 550 (скидка Х приоритет 550 и сортировка 1 и прекратить скидки на текущем уровне приоритетов)
И есть скидка Н 10% - скидка для всех, но с условием если в корзине есть товар-услуга(тут все штатно), но
вот она должна быть если не сработала ни скидка А, ни скидка Б, но остальные на этих приоритетах (550 и 500) должны отработать
Значит если ей дать один из этих приоритетов, то отсеить обе скидки не могу, если дать приоритет ниже, то вообще никакого взаимодействия.
Прихожу к выводу что нужно кастомное правило проверки применилась ли скидка уже или нет. Может кто-то делал или подскажет как решить без кастомного варианта, так как пока не понимаю как такое правило создать.
т.е. если пользователь будет в двух группах, то получит обе, поэтому приоритеты разные,
Это никак не связано, если приоритеты были бы одинаковыми, то все равно обе скидки бы сработали, если у вас не стоит прекратить дальнейшее применение скидок на тек. уровне приоритетов.
Что касается вашего вопроса: не внятно расписано, что вы хотите. Если скидка Н приоритетна и должна срабатывать тогда когда не сработали скидки А и Б, то нужно ставить ее по приоритетам выше чем эти скидки. Скидка Н для всех поэтому сначала сработает она и ставим этой скидке прекратить дальнейшее применение правил и уже она не просуммируется со скидками А и Б.
Итого, должно получиться так.
Я написал, что у каждой из них стоит прекратить на текущем уровне.
Возможно сумбурно получилось, сорри.
На сайте на текущим момент активных 132 скидки
примерно по 10-20 на приоритетах 500 и 550. Последовательность применения и ограничения соответственно выставляются сортировками , и у большинства из них стоит прекратить на текущем ур.
Скидку А и Скидку Б нельзя на один приоритет так как есть скидки которые должны быть исключены с одной или другой, но не с двумя сразу.
вот пример, так будет понятнее
и вот нужна скидка Н которая отработает только если не применилась ни скидка А, ни скидка Б,
а вот остальные не играют роль будут или нет