• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/orm/query/query.php
  • Класс: BitrixMainORMQueryQuery
  • Вызов: Query::checkForPrivateFields
protected function checkForPrivateFields()
{
	// check in filter
	foreach ($this->filter_chains as $chain)
	{
		if (static::isFieldPrivate($chain->getLastElement()->getValue()))
		{
			$columnField = $chain->getLastElement()->getValue();

			throw new SystemException(sprintf(
				'Private field %s.%s is restricted in filter',
				$columnField->getEntity()->getDataClass(),
				$columnField->getName()
			));
		}
	}

	// check in general
	if ($this->private_fields_on !== true)
	{
		foreach ($this->global_chains as $chain)
		{
			if (static::isFieldPrivate($chain->getLastElement()->getValue()))
			{
				$columnField = $chain->getLastElement()->getValue();

				throw new SystemException(sprintf(
					'Private field %s.%s is restricted in query, use Query::enablePrivateFields() to allow it',
					$columnField->getEntity()->getDataClass(),
					$columnField->getName()
				));
			}
		}
	}
}