• Модуль: catalog
  • Путь к файлу: ~/bitrix/modules/catalog/lib/Access/Component/PermissionConfig.php
  • Класс: BitrixCatalogAccessComponentPermissionConfig
  • Вызов: PermissionConfig::getAccessRightsWithInventoryManagement
private function getAccessRightsWithInventoryManagement(): array
{
	$res = [];

	$sections = $this->getSections(true);
	$storeDocumentsMap = $this->getStoreDocumentSectionCodesMap();
	foreach ($sections as $sectionName => $permissions)
	{
		$isStoreSectionName = isset($storeDocumentsMap[$sectionName]);
		$rights = [];
		foreach ($permissions as $permissionId)
		{
			if ($isStoreSectionName)
			{
				[$permissionId, $documentId] = explode('_', $permissionId);
				$rights[] = PermissionDictionary::getStoreDocumentPermission($permissionId, $documentId);
			}
			else
			{
				$rights[] = PermissionDictionary::getPermission($permissionId);
			}
		}

		$res[] = [
			'sectionCode' => $sectionName,
			'sectionTitle' => Loc::getMessage('CATALOG_CONFIG_PERMISSIONS_' . $sectionName) ?? $sectionName,
			'sectionHint' => Loc::getMessage('HINT_CATALOG_CONFIG_PERMISSIONS_' . $sectionName),
			'rights' => $rights
		];
	}

	$res = $this->appendArticleLinks($res);

	return $res;
}