+7 499 938 8452 пн.-пт. 10:00 – 17:00
Загрузка...

Не нашли ответы на свои вопросы в наших публикациях? Задайте вопрос в службу техподдержки!


С версии модуля 3.7.100 в заказ можно сохранять служебные данные (в свойствах заказа). Это помогает отлаживать начисление нескольких бонусов и решает проблему отложенной обработки заказов — например, когда свойства товаров могут измениться до расчёта бонусов и повлиять на размер начисляемых бонусов.

Рассмотрим на примере. 

Чтобы включить данный механизм нужно активировать в настройках модуля событие \Acrit\Bonus\EventHandler::SaveToOrderBonusProps:


2025-12-07_13-18-46.png

В качестве тестовых бизнес-правил возьмем, что у нас бонус на женские туфли должен быть 250рублей, а за все не-акционные товары бонус должен быть в размере 10% от стоимости заказа:

2025-12-07_13-21-39.png

В данных профилях удобно использовать фильтрацию, чтобы указать, какие товары попадают под необходимые условия. Акцию  будем определять списочным свойством в инфоблоке:

2025-12-07_13-24-42.png

А для нашего примера в туфлях также уберем начисление на акционные товары:

2025-12-07_13-29-27.png

Теперь формируем заказ, штаны "жизнь в абстракции" у нас акционные, за них не должно быть начисления бонуса:

2025-12-07_13-34-16.png
Итоговый бонус, расчитанный по 2м профилям наших бизнес-задач составляет 528 рублей.

2025-12-07_13-37-13.png

После оформления заказа смотрим заказ в админке, видно что начисления бонусов за Штаны "Жизнь в Абстракции" не происходило, а также видна подробная картина расчета бонусов для двух профилей начисления за заказы:

2025-12-07_13-40-14.png

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

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

Снимаем акцию со штанов:

2025-12-07_13-53-57.png

Начисление бонусов у нас настроено в наших профилях при переводе заказа в статус "[F] Выполнен", переводим заказ в этот статус. При этом будет произведена сверка расчетного бонуса по текущим свойствам товаров и значения в свойстве заказа из свойства "Будет начислен бонус за заказ".

Будьте внимательны! 
Значение поля "Будет начислен бонус за заказ" должно быть определенного формата и менять его нужно осознанно! Если укажите сюда не корректный бонус - будет применен именно он.

Переводим заказ в нужный статус, тем самым начисляем бонус:

2025-12-07_13-55-23.png

Смотрим транзакции начисления бонусов по этому заказу, сработали именно нужные суммы бонусных профилей. А на товар, снятый с акции, бонусы не начислялись:

2025-12-07_13-59-31.png

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

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





Назад в раздел



Часто задаваемые вопросы по модулям экспорта

Видео плейлист по настройке модулей экспорта