- Модуль: sale
- Путь к файлу: ~/bitrix/modules/sale/lib/rest/entity/order.php
- Класс: BitrixSaleRestEntityOrder
- Вызов: Order::checkRequiredFieldsModify
public function checkRequiredFieldsModify($fields)
{
$r = new 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']]]);
$required = $this->checkRequiredFields($fields['ORDER'],
$this->isNewItem($fields['ORDER'])? $listFieldsInfoAdd:$listFieldsInfoUpdate
);
if($required->isSuccess() == false)
{
$r->addError(new Error(implode(', ', $required->getErrorMessages()).'.'));
}
$required = $propertyValue->checkRequiredFieldsModify($fields);
if($required->isSuccess() == false)
{
$r->addError(new Error(implode(', ', $required->getErrorMessages())));
}
if(isset($fields['ORDER']['BASKET_ITEMS']))
{
$required = $basketItem->checkRequiredFieldsModify($fields);
if($required->isSuccess() == false)
{
$r->addError(new Error(implode(', ', $required->getErrorMessages())));
}
}
if(isset($fields['ORDER']['PAYMENTS']))
{
$required = $payment->checkRequiredFieldsModify($fields);
if($required->isSuccess() == false)
{
$r->addError(new Error(implode(', ', $required->getErrorMessages())));
}
}
if(isset($fields['ORDER']['SHIPMENTS']))
{
$required = $shipment->checkRequiredFieldsModify($fields);
if($required->isSuccess() == false)
{
$r->addError(new Error(implode(', ', $required->getErrorMessages())));
}
}
if(isset($fields['ORDER']['TRADE_BINDINGS']))
{
$required = $tradeBinding->checkRequiredFieldsModify($fields);
if($required->isSuccess() == false)
{
$r->addError(new Error(implode(', ', $required->getErrorMessages())));
}
}
return $r;
}