• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/compatible/discountcompatibility.php
  • Класс: BitrixSaleCompatibleDiscountCompatibility
  • Вызов: DiscountCompatibility::getStepResult
static function getStepResult($order)
{
	$publicMode = self::usedByClient();
	$result = array();
	$stepResult = &$order['DISCOUNT_RESULT'];
	if (!empty($stepResult['DELIVERY']) && is_array($stepResult['DELIVERY']))
	{
		$result['DELIVERY'] = array(
			'APPLY' => 'Y',
			'DELIVERY_ID' => (isset($order['DELIVERY_ID']) ? $order['DELIVERY_ID'] : false),
			'SHIPMENT_CODE' => (isset($order['SHIPMENT_CODE']) ? $order['SHIPMENT_CODE'] : false),
			'DESCR' => SaleOrderDiscountManager::formatArrayDescription($stepResult['DELIVERY']),
			'DESCR_DATA' => $stepResult['DELIVERY'],
			'ACTION_BLOCK_LIST' => array_keys($stepResult['DELIVERY'])
		);
		if (is_array($result['DELIVERY']['DESCR']))
			$result['DELIVERY']['DESCR'] = implode(', ', $result['DELIVERY']['DESCR']);
	}
	if (!empty($stepResult['BASKET']) && is_array($stepResult['BASKET']))
	{
		if (!isset($result['BASKET']))
			$result['BASKET'] = array();
		foreach ($stepResult['BASKET'] as $basketCode => $basketResult)
		{
			$code = ($publicMode ? $order['BASKET_ITEMS'][$basketCode]['ID'] : $basketCode);
			$result['BASKET'][$code] = array(
				'APPLY' => 'Y',
				'DESCR' => SaleOrderDiscountManager::formatArrayDescription($basketResult),
				'DESCR_DATA' => $basketResult,
				'MODULE' => $order['BASKET_ITEMS'][$basketCode]['MODULE'],
				'PRODUCT_ID' => $order['BASKET_ITEMS'][$basketCode]['PRODUCT_ID'],
				'BASKET_ID' => $code,
				'ACTION_BLOCK_LIST' => array_keys($basketResult)
			);
			if (is_array($result['BASKET'][$code]['DESCR']))
				$result['BASKET'][$code]['DESCR'] = implode(', ', $result['BASKET'][$code]['DESCR']);
		}
		unset($code, $basketCode, $basketResult);
	}
	unset($stepResult);

	return $result;
}