/** * Initilizate AbstractProduct by order xml. * @param SimpleXmlElement $orderProduct * @param AbstractProduct $inventory * @param CmlSalesOrder $salesOrder * @return AbstractProduct */ private function initilizateOrderInventory($orderProduct, $inventory, $salesOrder) { $name = $this->getMandatoryChildContent($orderProduct, 'Наименование', 'Not product name in order! Order number - ' . $salesOrder->getNumber()); $oneEsIdentifier = $this->getMandatoryChildContent($orderProduct, 'Ид', 'Not product identificator in order. Order number - ' . $salesOrder->getNumber()); $price = $this->getMandatoryChildContent($orderProduct, 'ЦенаЗаЕдиницу', 'Not product price in order. Order number - ' . $salesOrder->getNumber()); $count = $this->getMandatoryChildContent($orderProduct, 'Количество', 'Not product count in order. Order number - ' . $salesOrder->getNumber()); $unitName = $this->getChildContent($orderProduct, 'БазоваяЕдиница'); $article = $this->getChildContent($orderProduct, 'Артикул'); $NDS = $this->getTaxRate($orderProduct); $name = $this->filter($name); $article = $this->filter($article); $inventory->orderInitilizate($oneEsIdentifier, $name, $article, $unitName, $price, $count, $NDS); return $inventory; }