• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/security/querybuilder.php
  • Класс: Bitrix\Crm\Security\QueryBuilder
  • Вызов: QueryBuilder::getController
protected function getController(): Controller
{
	if ($this->controller)
	{
		return $this->controller;
	}

	foreach ($this->permissionEntityTypes as $permissionEntityType)
	{
		$resolvedController = Manager::resolveController($permissionEntityType);
		if ($resolvedController === null)
		{
			throw new NotSupportedException("Permission entity type '{$permissionEntityType}' is not supported in current context");
		}
		if ($this->controller && $this->controller !== $resolvedController)
		{
			throw new NotSupportedException("Set of entity types '". implode(', ', $this->permissionEntityTypes) . "' served by several different controllers");
		}
		$this->controller = $resolvedController;
	}

	return $this->controller;
}