• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/discount/analyzer.php
  • Класс: BitrixSaleDiscountAnalyzer
  • Вызов: Analyzer::canCalculateSeparately
public function canCalculateSeparately(array $discount)
{
	if(
		!isset($discount['LAST_DISCOUNT']) ||
		!isset($discount['LAST_LEVEL_DISCOUNT']) ||
		!isset($discount['EXECUTE_MODULE'])
	)
	{
		return false;
	}

	if ($discount['EXECUTE_MODULE'] !== 'all' && $discount['EXECUTE_MODULE'] !== 'catalog')
	{
		return false;
	}

	if ($discount['LAST_DISCOUNT'] === 'Y' || $discount['LAST_LEVEL_DISCOUNT'] === 'Y')
	{
		return false;
	}

	$tryToFindAppliedCondition = $this->tryToFindAppliedCondition($discount);
	if ($tryToFindAppliedCondition === true || $tryToFindAppliedCondition === null)
	{
		return false;
	}

	if (!$this->emptyConditionsList($discount))
	{
		return false;
	}

	if (!$this->isExistOnlySaleDiscountAction($discount))
	{
		return false;
	}

	return true;
}