• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/rest/entity/order.php
  • Класс: BitrixSaleRestEntityOrder
  • Вызов: Order::internalizeFieldsImport
protected function internalizeFieldsImport($fields)
{
	$result = [];

	$payment = new Payment();
	$shipment = new Shipment();
	$shipmentItem = new ShipmentItem();
	$basketItem = new BasketItem();
	$tradeBinding = new TradeBinding();
	$propertyValue = new PropertyValue();
	$basketProperties = new BasketProperties();


	if(isset($fields['ORDER']))
	{
		$result['ORDER'] = $this->internalizeFields($fields['ORDER'], $this->getFields());//only for importAction PERSON_TYPE_XML_ID, STATUS_XML_ID
	}

	if(isset($fields['ORDER']['BASKET_ITEMS']))
	{
		$result['ORDER']['BASKET_ITEMS'] = $basketItem->internalizeListFields($fields['ORDER']['BASKET_ITEMS']);

		foreach ($fields['ORDER']['BASKET_ITEMS'] as $k=>$items)
		{
			if(isset($items['PROPERTIES']))
			{
				$result['ORDER']['BASKET_ITEMS'][$k]['PROPERTIES'] = $basketProperties->internalizeListFields($items['PROPERTIES']);
			}
		}
	}

	if(isset($fields['ORDER']['PROPERTY_VALUES']))
	{
		$result['ORDER']['PROPERTY_VALUES'] = $propertyValue->internalizeListFields($fields['ORDER']['PROPERTY_VALUES']);//only for importAction ORDER_PROPS_XML_ID
	}

	if(isset($fields['ORDER']['PAYMENTS']))
	{
		$result['ORDER']['PAYMENTS'] = $payment->internalizeListFields($fields['ORDER']['PAYMENTS']);//only for importAction PAY_SYSTEMS_XML_ID
	}

	if(isset($fields['ORDER']['SHIPMENTS']))
	{
		$result['ORDER']['SHIPMENTS'] = $shipment->internalizeListFields($fields['ORDER']['SHIPMENTS']);//only for importAction DELIVERY_XML_ID, STATUS_XML_ID

		foreach ($fields['ORDER']['SHIPMENTS'] as $k=>$items)
		{
			if(isset($items['SHIPMENT_ITEMS']))
			{
				$result['ORDER']['SHIPMENTS'][$k]['SHIPMENT_ITEMS'] = $shipmentItem->internalizeListFields($items['SHIPMENT_ITEMS']);
			}
		}
	}

	if(isset($fields['ORDER']['TRADE_BINDINGS']))
	{
		$result['ORDER']['TRADE_BINDINGS'] = $tradeBinding->internalizeListFields($fields['ORDER']['TRADE_BINDINGS']);//only for importAction TRADING_PLATFORM_XML_ID
	}

	return $result;
}