• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/discount/result/compatibleformat.php
  • Класс: BitrixSaleDiscountResultCompatibleFormat
  • Вызов: CompatibleFormat::getStepResult
static function getStepResult(array $currentOrder, array $oldOrder)
{
	$result = array();
	if (isset($oldOrder['PRICE_DELIVERY']) && isset($currentOrder['PRICE_DELIVERY']))
	{
		if ($oldOrder['PRICE_DELIVERY'] != $currentOrder['PRICE_DELIVERY'])
		{
			$descr = self::createResultDescription(
				$currentOrder['PRICE_DELIVERY'],
				$oldOrder['PRICE_DELIVERY'],
				$oldOrder['CURRENCY']
			);
			$result['DELIVERY'] = array(
				'APPLY' => 'Y',
				'DELIVERY_ID' => (isset($currentOrder['DELIVERY_ID']) ? $currentOrder['DELIVERY_ID'] : false),
				'SHIPMENT_CODE' => (isset($currentOrder['SHIPMENT_CODE']) ? $currentOrder['SHIPMENT_CODE'] : false),
				'DESCR' => implode(', ', DiscountFormatter::formatList($descr)),
				'DESCR_DATA' => $descr
			);
			unset($descr);
		}
	}
	if (!empty($oldOrder['BASKET_ITEMS']) && !empty($currentOrder['BASKET_ITEMS']))
	{
		foreach ($oldOrder['BASKET_ITEMS'] as $basketCode => $item)
		{
			if (!isset($currentOrder['BASKET_ITEMS'][$basketCode]))
				continue;
			if ($item['PRICE'] != $currentOrder['BASKET_ITEMS'][$basketCode]['PRICE'])
			{
				if (!isset($result['BASKET']))
					$result['BASKET'] = array();
				$descr = self::createResultDescription(
					$currentOrder['BASKET_ITEMS'][$basketCode]['PRICE'],
					$item['PRICE'],
					$oldOrder['CURRENCY']
				);
				$result['BASKET'][$basketCode] = array(
					'APPLY' => 'Y',
					'DESCR' => implode(', ', DiscountFormatter::formatList($descr)),
					'DESCR_DATA' => $descr,
					'MODULE' => $currentOrder['BASKET_ITEMS'][$basketCode]['MODULE'],
					'PRODUCT_ID' => $currentOrder['BASKET_ITEMS'][$basketCode]['PRODUCT_ID'],
					'BASKET_ID' => (
						isset($currentOrder['BASKET_ITEMS'][$basketCode]['ID'])
						? $currentOrder['BASKET_ITEMS'][$basketCode]['ID']
						: $basketCode
					)
				);
				unset($descr);
			}
		}
	}
	return $result;
}