ATG — Можно ли применить скидку уровня заказа к товарам?

Допустим, у меня в корзине два товара по 50 долларов каждый, а также купон «20 долларов на 100». когда я применю это, моя корзина будет выглядеть так, как показано ниже (для простоты и сфокусированности я исключаю налоги и доставку)


Элемент 1 50 X1 = 50
Элемент 2 50 X1 = 50
промежуточный итог =100
скидка (-)20
**Всего 80

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

Я понимаю, что класс ReturnManager от ATG предоставляет множество методов для расчета возвратов и учитывает все скидки и налоги при доставке товара.

но есть ли способ разделить скидку на заказ на товары из коробки на основе алгоритма средневзвешенного значения.

Спасибо


person Sumit Juyal    schedule 27.03.2014    source источник


Ответы (2)


Самый простой способ сделать это — выполнить алгоритм разделения в обработчике конвейера заказов (настраиваемый процессор) и сохранить разделенные доли скидок на уровне элемента в элементе репозитория ApportionmentInfo. Всякий раз, когда происходит возврат, вам необходимо получить доступ к этому элементу репозитория через заказ и отобразить его пользователю.

С уважением, Гаурав Э.

person GauravEdekar    schedule 18.02.2015

Вы не можете

В основном OrderPricingEngine устанавливает корректировку в соответствии с OrderPriceInfo. вы не можете распределить это по уровню элемента, потому что триггер находится в порядке.

Лучшей практикой является предоставление заказа на переоценку в качестве услуги третьей стороне. Перезапустите расчет

и определить возвращаемое значение. Если вы настроите уровень продвижения, это откроет ящик Пандоры с проблемой заказа на переоценку.

person Alex Raj    schedule 07.05.2014