IMetabasePolicy.RootObject

Синтаксис

RootObject: IMetabaseObjectDescriptor;

RootObject: Prognoz.Platform.Interop.Metabase.IMetabaseObjectDescriptor;

Описание

Свойство RootObject определяет папку, которая будет являться корневой при входе в репозиторий.

Комментарии

В качестве значения свойства необходимо указать описание одной из папок репозитория.

Указанная папка будет использована в качестве корневой папки репозитория если вход осуществляется под пользователем, который не является администратором или администратором информационной безопасности (АИБ).

По умолчанию свойство принимает значение Null, при этом пользователям доступен весь репозиторий.

Примечание. Для доступа к объектам пользователь должен обладать соответствующими правами.

Пример

Для выполнения примера предполагается наличие в репозитории папки с идентификатором «ROOT_PROJECT_FOLDER».

Добавьте ссылки на системные сборки: Metabase, ForeSystem (для примера на Fore.NET).

Sub UserProc;
Var 
    MB: IMetabase;
    MS: IMetabaseSecurity;
    Policy: IMetabasePolicy;
    Lic: Object;
Begin
    MB := MetabaseClass.Active;
    
// Получим лицензию для возможности работы с менеджером безопасности
    Lic := MB.RequestLicense(UiLicenseFeatureType.Adm);
    MS := MB.Security;
    Policy := MS.Policy;
    
// Зададим корневую папку
    Policy.RootObject := Mb.ItemById("ROOT_PROJECT_FOLDER");
    
// Сохраним изменения
    MS.Apply;
    
// Освободим лицензию
    Lic := Null;
End Sub UserProc;

Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.ForeSystem;

Public Shared Sub Main(Params: StartParams);
Var 
    MB: IMetabase;
    MS: IMetabaseSecurity;
    Policy: IMetabasePolicy;
    Lic: Object;
Begin
    MB := Params.Metabase;
    
// Получим лицензию для возможности работы с менеджером безопасности
    Lic := MB.RequestLicense(UiLicenseFeatureType.lftAdm);
    MS := MB.Security;
    Policy := MS.Policy;
    
// Зададим корневую папку
    Policy.RootObject := 
Mb.ItemById["ROOT_PROJECT_FOLDER"];
    
// Сохраним изменения
    MS.Apply();
    
// Освободим лицензию
    Lic := Null;
End Sub;

После выполнения примера для репозитория будет задана корневая папка.

См. также:

IMetabasePolicy