Подарки и акции в Битриксе

Заказчики часто задают вопрос — возможно ли настроить, или нужно переписывать модули для маркетинговых акций. Например при покупке товаров из определенной группы от 10 т.р. выдаются подарки за каждые 3 штуки (Акция 3+1). Подарки из другой товарной группы, подбираются различные, но с учетом остатков. Есть ли возможность при оформлении заказа подсказывать чтоб добрали "еще парочку" для получения скидок и т.д?

К сожалению нельзя и данную логику придется делать в обход маркетинговых акций.

 Дело в том, что акция применяется либо 1 раз либо не применяется вообще. То есть, если за покупку 3х товаров вы получили 1 подарок, то если вы купите еще 3 товара (т.е. всего 6), то не сможете получить 2 подарка.

 К тому же, Вы не можете сделать акцию купи 3 и получи 4 в подарок (баг зарегистрирован в 2017 году вроде как и до сих пор не исправлен).

Если Вы хотите реализовать подарки, то рекомендую сделать следующим образом (мы так делали у нашего клиента):
  1.  Создаете акцию на получение подарка, но в условие добавляете заведомо невыполнимое. Обязательно проставляете XML_ID (внешний код)
  2.  Через API парсите все активные скидки с нужными внешними кодами и формируете список на выдачу. Выводите его в публичной части.
  3.  Пишете скрипт который проверяет корзину пользователя на соответствие правилам
  4.  Создаете свой провайдер для таких товаров
  5.  Подписываетесь на событие сохранения заказа, проверяете условие выполнения акции и добавляете подарок в корзину и отгрузки.
  6.  Создаете отдельное поле на хранение выбранных пользователем подарков (в случае пересчета заказа менеджером). И при сохранении в обработчике (п.5) учитываете этот список.
Распиливать не придется, но процесс достаточно трудоемкий.

Возврат к списку


-----
-----