• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/exchange/importonecpackage.php
  • Класс: BitrixSaleExchangeImportOneCPackage
  • Вызов: ImportOneCPackage::onBeforePaymentCollectionModify
protected function onBeforePaymentCollectionModify(ExchangeEntityOrderImport $orderImport, $items)
    {
        $result = new Result();

        $paymentItems = array();

        /** @var Order $order */
        $order = $orderImport->getEntity();
        if(empty($order))
            throw new ArgumentNullException('Order');

        foreach($items as $item)
        {
            switch($item->getOwnerTypeId())
            {
                case static::getPaymentCardEntityTypeId():
			case static::getPaymentCashEntityTypeId():
			case static::getPaymentCashLessEntityTypeId():
                    $params = $item->getFieldValues();
                    $fields = $params['TRAITS'];

                    if(!empty($fields['ID']))
                        $paymentItems[] = $fields['ID'];
                    break;
            }
        }

        /** @var BitrixSalePayment $payment */
        $paymentList = array();
        $paymentCollection = $order->getPaymentCollection();
        foreach($paymentCollection as $payment)
        {
            if(!in_array($payment->getId(), $paymentItems))
                $paymentList[$payment->getId()] = $payment;
        }

        if(!empty($paymentList))
        {
            foreach($paymentList as $id=>$payment)
            {
			$result = $this->paymentDelete($payment);
			if(!$result->isSuccess())
				break;
            }
        }

        return $result;
    }