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

        $parentEntityId = null;

	$item = $this->getEntityByTypeId(static::getParentEntityTypeId(), $items);
        if($item instanceof ExchangeEntityEntityImport)
	{
		$params = $item->getFieldValues();
		$fields = $params['TRAITS'];

		if($fields['ID']<>'')
		{
			$parentEntityId = $fields['ID'];
		}
		elseif($fields[$item::getFieldExternalId()]<>'')
		{
			$parentEntityId = $fields[$item::getFieldExternalId()];
		}
	}

        if(empty($parentEntityId))
            $result->addErrors(array(new Error('Order not found')));

        foreach($items as $item)
        {
            if($item->getOwnerTypeId() <> static::getParentEntityTypeId())
            {
                $params = $item->getFieldValues();
                $fields = $params['TRAITS'];

                if(!empty($parentEntityId) && $fields['ORDER_ID']<>'')
                {
                    if($parentEntityId <> $fields['ORDER_ID'])
                    {
                        $result->addErrors(array(new Error('Order not found')));
                        break 1;
                    }
                }
            }
        }

        if($result->isSuccess())
		$result = parent::checkFields($items);

        return $result;
    }