• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/discount.php
  • Класс: BitrixSaleDiscount
  • Вызов: Discount::applyLoadedOrderConfig
protected function applyLoadedOrderConfig(array $data)
{
	parent::applyLoadedOrderConfig($data);

	if (isset($data['OLD_ORDER']))
		$this->setValidState(false);

	/** @var Order $order */
	$order = $this->getOrder();
	if (!empty($data['DELIVERY']))
	{
		$delivery = $data['DELIVERY'];
		$this->orderData['DELIVERY_ID'] = $delivery['DELIVERY_ID'];
		if (isset($delivery['CUSTOM_PRICE_DELIVERY']))
			$this->orderData['CUSTOM_PRICE_DELIVERY'] = $delivery['CUSTOM_PRICE_DELIVERY'];
		if (isset($delivery['SHIPMENT_ID']))
		{
			$delivery['SHIPMENT_ID'] = (int)$delivery['SHIPMENT_ID'];
			if ($delivery['SHIPMENT_ID'] > 0)
			{
				$this->shipmentIds[] = $delivery['SHIPMENT_ID'];
				/** @var ShipmentCollection $orderShipmentList */
				$orderShipmentList = $order->getShipmentCollection();
				$this->shipment = $orderShipmentList->getItemById($delivery['SHIPMENT_ID']);
				if (empty($this->shipment))
				{
					$this->shipment = null;
					$this->shipmentIds = array();
				}
			}
		}
		unset($delivery);
	}

	$this->fillCompatibleOrderFields();
}