GetAccessSecurity(Options: Integer): IAccessObjectSecurity;
GetAccessSecurity(System.Int32): Prognoz.Platform.Interop.Metabase.IAccessObjectSecurity;
Options. Параметр не используется, зарезервирован на будущее. Для работы метода задайте любое значение.
Метод GetAccessSecurity получает политику доступа к объекту. Имеется в виду получение пользователей/групп, элементов доступа и прав по элементам.
Для выполнения примера убедитесь, что в репозитории содержится репозиторий НСИ с идентификатором «RDSBASE» и табличный справочник НСИ с идентификатором «Dict_1». Пользователь, выполняющий пример, должен обладать привилегией «Изменение метки безопасности и списка контроля доступа любого объекта».
Для выполнения примера добавьте ссылку на системную сборку Metabase.
Sub UserProc;
Var
MB: IMetabase;
Object: IMetabaseObjectDescriptor;
MS: IMetabaseObjectSecurity;
AOS: IAccessObjectSecurity;
Begin
MB := MetabaseClass.Active;
Object := MB.ItemByIdNamespace("Dict_1", MB.ItemById("RDSBASE").Key);
MS := Object As IMetabaseObjectSecurity;
Debug.WriteLine(MS.AccessSecured.ToString);
If MS.AccessSecured Then
AOS := MS.GetAccessSecurity(1);
AOS.RevokeAccessSecured;
End If;
End Sub UserProc;
Imports Prognoz.Platform.Interop.Metabase;
…
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
Object: IMetabaseObjectDescriptor;
MS: IMetabaseObjectSecurity;
AOS: IAccessObjectSecurity;
Begin
MB := Params.Metabase;
Object := MB.ItemByIdNamespace["Dict_1", MB.ItemById["RDSBASE"].Key];
MS := Object As IMetabaseObjectSecurity;
System.Diagnostics.Debug.WriteLine(MS.AccessSecured.ToString());
If MS.AccessSecured Then
AOS := MS.GetAccessSecurity(1);
AOS.RevokeAccessSecured();
End If;
End Sub;
После выполнения примера для табличного справочника НСИ будет отключено использование прав доступа для элементов, если ранее оно было включено.
См. также: