• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/exchange/entity/shipmentimport.php
  • Класс: BitrixSaleExchangeEntityShipmentImport
  • Вызов: ShipmentImport::load
public function load(array $fields)
    {
        $r = $this->checkFields($fields);
        if(!$r->isSuccess())
        {
            throw new MainArgumentException('ORDER_ID is not defined');
        }

        if(!$this->isLoadedParentEntity() && !empty($fields['ORDER_ID']))
        {
		$this->setParentEntity(
			$this->loadParentEntity(['ID'=>$fields['ORDER_ID']])
		);
        }

        if($this->isLoadedParentEntity())
        {
            $parentEntity = $this->getParentEntity();

            if(!empty($fields['ID']))
            {
                $shipment = $parentEntity->getShipmentCollection()->getItemById($fields['ID']);
            }

            /** @var Shipment $shipment*/
            if(!empty($shipment) && !$shipment->isSystem())
            {
                $this->setEntity($shipment);
            }
            else
            {
                $this->setExternal();
            }
        }
	return new SaleResult();
    }