• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/controller/controller.php
  • Класс: BitrixSaleControllerController
  • Вызов: Controller::processBeforeAction
protected function processBeforeAction(EngineAction $action)
{
	$r = $this->checkPermission($action->getName());
	if($r->isSuccess())
	{
		if($this->isCrmModuleInstalled() && Loader::includeModule('crm'))
		{
			$internalizer = BitrixCrmOrderRestInternalizer::buildByAction($action, [], $this->getScope());
		}
		else
		{
			$internalizer = BitrixSaleRestInternalizer::buildByAction($action, [], $this->getScope());
		}

		$r = $internalizer->process();

		if($r->isSuccess())
		{
			$action->setArguments($r->getData()['data']);
			return parent::processBeforeAction($action);
		}
		else
		{
			$this->addErrors($r->getErrors());
			return null;
		}
	}
	else
	{
		$this->addErrors($r->getErrors());
		return null;
	}
}