• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/userfield/visibility/visibilitymanager.php
  • Класс: Bitrix\Crm\UserField\Visibility\VisibilityManager
  • Вызов: VisibilityManager::getNotAccessibleFields
static function getNotAccessibleFields(int $entityTypeId, ?array $userAccessCodes = null): array
{
	if ($userAccessCodes === null)
	{
		$userAccessCodes = self::getUserAccessCodes();
	}

	if (self::isAdmin($userAccessCodes))
	{
		return [];
	}

	$accessCodes = static::getUserFieldsAccessCodes($entityTypeId);

	$excludedFields = [];
	foreach ($accessCodes as $name => $item)
	{
		if (isset($item['accessCodes']) && !empty($name))
		{
			$fieldAccessCodes = array_keys($item['accessCodes']);
			if (!count(array_intersect($userAccessCodes, $fieldAccessCodes)))
			{
				$excludedFields[] = $name;
			}
		}
	}

	return $excludedFields;
}