• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/controller/action/entity/saveorderaction.php
  • Класс: BitrixSaleControllerActionEntitySaveOrderAction
  • Вызов: SaveOrderAction::run
public function run(array $fields)
{
	$checkFieldsResult = $this->checkFields($fields);
	if (!$checkFieldsResult->isSuccess())
	{
		$this->addErrors($checkFieldsResult->getErrors());
		return null;
	}

	$saveOrderResult = $this->saveOrder($fields);
	if ($saveOrderResult->isSuccess())
	{
		$saveOrderData = $saveOrderResult->getData();

		/** @var SaleOrder $order */
		$order = $saveOrderData['ORDER'];

		/** @var array $user */
		$user = $saveOrderData['USER'];

		return array_merge(
			SaleHelpersControllerActionEntityOrder::getAggregateOrder($order),
			[
				'USER' => $user,
				'HASH' => $order->getHash(),
			]
		);
	}

	$this->addErrors($saveOrderResult->getErrors());
	return null;
}