- Модуль: sale
- Путь к файлу: ~/bitrix/modules/sale/lib/discount/actions.php
- Класс: BitrixSaleDiscountActions
- Вызов: Actions::wrapFilterToFindMoreProfitableForCumulative
static function wrapFilterToFindMoreProfitableForCumulative($filter, $unit, $value, $limitValue, $maxBound)
{
if (!is_callable($filter))
{
return null;
}
return function($basketItem) use ($filter, $unit, $value, $limitValue, $maxBound) {
if (empty($basketItem['BASE_PRICE']))
{
return false;
}
if (empty($basketItem['DISCOUNT_PRICE']))
{
return true;
}
if (!$filter($basketItem))
{
return false;
}
$prevPrice = $basketItem['PRICE'];
$basketItem['PRICE'] = $basketItem['BASE_PRICE'];
list(, $newPrice) = self::calculateDiscountPrice(
$value,
$unit,
$basketItem,
$limitValue,
$maxBound
);
return $newPrice < $prevPrice;
};
}