• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/exchange/exportonecpackage.php
  • Класс: BitrixSaleExchangeExportOneCPackage
  • Вызов: ExportOneCPackage::addItemOrderDelivery
protected function addItemOrderDelivery(array $items)
{
	$orderImport = $this->getEntityByTypeId(static::getParentEntityTypeId(), $items);

	//region shipment.items ORDER_DELIVERY
	$orderFields = $orderImport->getFieldValues();
	foreach ($items as $item)
	{
		if($item instanceof ShipmentImport)
		{
			$shipmentFields = $item->getFieldValues();
			/** @var Shipment $shipmemt */
			$shipmemt = $item->getEntity();
			if($shipmemt->getPrice()>0)
			{

				$shipmentFields['ITEMS'][] = array_merge(
					array(
						'PRODUCT_XML_ID'=>ImportOneCBase::DELIVERY_SERVICE_XMLID,
						'NAME'=>DocumentBase::getLangByCodeField(ImportOneCBase::DELIVERY_SERVICE_XMLID),
						'MEASURE_CODE'=>Converter::MEASURE_CODE_DEFAULT,
						'KOEF'=>Converter::KOEF_DEFAULT,
						'PRICE'=>$shipmemt->getPrice(),
						'QUANTITY'=>1
					),
					$this->getVatRateByShipment($item, $this->getSummOrderTaxes($orderFields['TAXES']))
				);
			}
			$item->setFields($shipmentFields);
		}
	}
	//endregion

	//region order.items ORDER_DELIVERY
	$orderFields = $orderImport->getFieldValues();
	foreach ($items as $item)
	{
		if($item instanceof ShipmentImport)
		{
			$shipmentItems = $this->getProductsItems($item->getFieldValues());
			if($this->deliveryServiceExists($shipmentItems))
			{
				$orderFields['ITEMS'][] = $this->getDeliveryServiceItem($shipmentItems);
			}
		}
	}
	$orderImport->setFields($orderFields);
	//endregion
}