IRubricatorSegment.GetEffectiveRights

Синтаксис

GetEffectiveRights: Integer;

Описание

Метод GetEffectiveRights возвращает эффективные права текущего пользователя на сегмент.

Комментарии

Эффективные права включают в себя все операции, на которые для пользователя установлено явное разрешение. Значение, возвращаемое данным методом, представляет из себя маску доступа. Значение маски является 8-ми байтовым двоичным числом, приведенным в десятичную форму. Для проверки значения маски необходимо использовать значения перечислимого типа MetabaseObjectPredefinedRights в комбинации с CubeSpecificRights. Для разбора значения маски необходимо реализовать пользовательскую функцию, которая позволит сопоставить отдельные биты маски соответствующим значениям перечислений. Пример работы с маской доступа представлен в разделе Примеры: Работа с маской доступа. При раздаче прав на сегмент используются соответствующие операции Read и Write.

Пример

Для выполнения примера предполагается наличие в репозитории базы данных временных рядов с идентификатором «OBJ_RUBRICATOR», в которой должны быть определены сегменты.

Sub Main;

Var

mb: IMetabase;

rubInst: IRubricatorInstance;

Rub: IRubricator;

Segs: IRubricatorSegments;

Seg: IRubricatorSegment;

Begin

mb := MetabaseClass.Active;

Rub := mb.ItemById("OBJ_RUBRICATOR").Bind As IRubricator;

rubInst := (Rub As IMetabaseObjectDescriptor).Open(Null) As IRubricatorInstance;

Segs := rubInst.Segments;

Seg := Segs.Item(0);

Debug.WriteLine(Seg.GetEffectiveRights);

End Sub Main;

После выполнения примера эффективные права текущего пользователя на первый сегмент данных будут выведены в окно консоли в десятичной форме.

См. также:

IRubricatorSegment