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

	//region order stories
	$orderFields = $orderImport->getFieldValues();
	foreach ($items as $item)
	{
		if($item instanceof ShipmentImport)
		{
			$shipmentFields = $item->getFieldValues();
			$orderFields['STORIES'][] = $shipmentFields['STORIES'];
		}
	}
	$orderImport->setFields($orderFields);
	//endregion

	//region shipment taxes from order taxes
	foreach ($items as $item)
	{
		if($item instanceof ShipmentImport)
		{
			$shipmentFields = $item->getFieldValues();
			$shipmentFields['TAXES'] = $orderFields['TAXES'];
			$item->setFields($shipmentFields);
		}
	}
	//endregion

	//region cash box checks payment
	foreach ($items as $item)
	{
		if($item instanceof PaymentImport)
		{
			$this->prepareEntityFieldsCashBoxChecks($item, $orderFields['CASH_BOX_CHECKS']);
		}
	}
	//endregion

	//region order.shipment fields
	$shipmentImport = $this->getEntityByTypeId(static::getShipmentEntityTypeId(), $items);
	if($shipmentImport instanceof ShipmentImport)
	{
		$shipmentFields = $shipmentImport->getFieldValues();

		$orderFields = $orderImport->getFieldValues();
		$orderFields['TRAITS']['DELIVERY_SERVICE'] = $shipmentFields['TRAITS']['DELIVERY_NAME'];
		$orderFields['TRAITS']['DELIVERY_ID'] = $shipmentFields['TRAITS']['DELIVERY_ID'];
		$orderImport->setFields($orderFields);
	}
	//endregion

	//region order.payment fields
	$orderFields = $orderImport->getFieldValues();
	$paymentFields = array();
	foreach ($items as $item)
	{
		if($item instanceof PaymentImport)
		{
			$paymentFields = $item->getFieldValues();
			break;
		}
	}
	if(count($paymentFields)>0)
	{
		$orderFields['TRAITS']['PAY_SYSTEM'] = $paymentFields['TRAITS']['PAY_SYSTEM_NAME'];
		$orderFields['TRAITS']['PAY_SYSTEM_ID'] = $paymentFields['TRAITS']['PAY_SYSTEM_ID'];
		$orderImport->setFields($orderFields);
	}
	//endregion

	return parent::convertEntityFields($items);
}