- Модуль: 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
}