- Модуль: sale
- Путь к файлу: ~/bitrix/modules/sale/lib/rest/entity/order.php
- Класс: BitrixSaleRestEntityOrder
- Вызов: Order::internalizeFieldsModify
public function internalizeFieldsModify($fields, $fieldsInfo=[])
{
$result = [];
$payment = new Payment();
$shipment = new Shipment();
$basketItem = new BasketItem();
$propertyValue = new PropertyValue();
$tradeBinding = new TradeBinding();
$listFieldsInfoAdd = $this->getListFieldInfo($this->getFields(), ['filter'=>['ignoredAttributes'=>[Attributes::Hidden, Attributes::ReadOnly]]]);
$listFieldsInfoUpdate = $this->getListFieldInfo($this->getFields(), ['filter'=>['ignoredAttributes'=>[Attributes::Hidden, Attributes::ReadOnly, Attributes::Immutable], 'skipFields'=>['ID']]]);
$result['ORDER'] = $this->internalizeFields($fields['ORDER'],
$this->isNewItem($fields['ORDER'])? $listFieldsInfoAdd:$listFieldsInfoUpdate
);
if(isset($fields['ORDER']['BASKET_ITEMS']))
{
$result['ORDER']['BASKET_ITEMS'] = $basketItem->internalizeFieldsModify($fields)['ORDER']['BASKET_ITEMS'];
}
if(isset($fields['ORDER']['PROPERTY_VALUES']))
{
$result['ORDER']['PROPERTY_VALUES'] = $propertyValue->internalizeFieldsModify($fields)['ORDER']['PROPERTY_VALUES'];
}
if(isset($fields['ORDER']['PAYMENTS']))
{
$result['ORDER']['PAYMENTS'] = $payment->internalizeFieldsModify($fields)['ORDER']['PAYMENTS'];
}
if(isset($fields['ORDER']['SHIPMENTS']))
{
$result['ORDER']['SHIPMENTS'] = $shipment->internalizeFieldsModify($fields)['ORDER']['SHIPMENTS'];
}
if(isset($fields['ORDER']['TRADE_BINDINGS']))
{
$result['ORDER']['TRADE_BINDINGS'] = $tradeBinding->internalizeFieldsModify($fields)['ORDER']['TRADE_BINDINGS'];
}
return $result;
}