На одном из проектов потребовалось получить цену товаров/услуг по применению определенного промокода
Выглядело это так:
$discount_price = (array)\CCatalogProduct::GetOptimalPrice($item['ID'], 1, $ar_user_group, 'N', [], SITE_ID, [$promocode]);
Версия ядра 15.0.16.
В итоге на выходе мы получали оптимальную цену на товар независимо от того, по какому промокоду хотели получить цену. Т.е. параметр №7 не учитывался никак.
Решение было принято такое: по промокоду получаем скидку, к которой он привязан. Проверяем активность скидки, да и самого промокода.
После этого используем конструкцию
\CCatalogProduct::CountPriceWithDiscount($item['PRICE']['PRICE'], $item['PRICE']['CURRENCY'], [$ar_discount]);
По переменным все понятно, что приходит на вход.
Комментарии