• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/exchange/entity/paymentimport.php
  • Класс: BitrixSaleExchangeEntityPaymentImport
  • Вызов: PaymentImport::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())
        {
            /** @var Order $parentEntity */
            $parentEntity = $this->getParentEntity();

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

            /** @var Payment $payment*/
            if(!empty($payment))
            {
                $this->setEntity($payment);
            }
            else
            {
                $this->setExternal();
            }
        }
	return new SaleResult();
    }