• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/access/permission/accesspermissiontable.php
  • Класс: BitrixMainAccessPermissionAccessPermissionTable
  • Вызов: AccessPermissionTable::validateRow
static function validateRow(array $data): bool
{
	if ((int) $data['VALUE'] === PermissionDictionary::VALUE_NO)
	{
		return true;
	}

	$parentPermissions = PermissionDictionary::getParentsPath($data['PERMISSION_ID']);
	if (!$parentPermissions)
	{
		return true;
	}

	$res = static::getList([
		'select' => ['VALUE'],
		'filter' => [
			'=ROLE_ID' 			=> (int) $data['ROLE_ID'],
			'%=PERMISSION_ID' 	=> $parentPermissions,
			'=VALUE' 			=> PermissionDictionary::VALUE_NO
		],
		'limit' => 1
	])->fetchAll();

	if (is_array($res) && !empty($res))
	{
		return false;
	}

	return true;
}