IABACAttribute.Attributes

Синтаксис

Attributes: IABACAttributes;

Attributes: Prognoz.Platform.Interop.ABAC.IABACAttributes;

Описание

Свойство Attributes возвращает коллекцию атрибутов.

Комментарии

Свойство доступно только для чтения.

Для работы с коллекцией атрибутов используйте интерфейс IABACAttributes.

Пример

Для выполнения примера разместите на форме компонент Button и два компонента Memo (для примера на Fore.NET используйте два компонента ListBox) с наименованиями «Button1», «Memo1»/«listBox1» и «Memo2»/«listBox2» соответственно. Для «Memo1» установите свойству ScrollBars значение «Vertical».

Добавьте ссылки на системные сборки:

Пример является обработчиком события OnClick для компонента «Button1».

Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Var
    MB: IMetabase;
    MS: IMetabasePolicy;
    AttrObj: IMetabaseSecurityObjectsAttributes;
    ABACAttributes: IABACAttributes;
    ABACAttribute: IABACAttribute;
Begin
    MB := MetabaseClass.Active;
    MS := MB.Security.Policy;
    
// Получим атрибуты объектов
    AttrObj := MS.ObjectsAttributes;
    ABACAttributes := AttrObj.Global;
    
// Выведем свойства каждого атрибута
    
For Each ABACAttribute In ABACAttributes Do
        Memo1.Lines.Add(
"Ключ: " + ABACAttribute.Key.ToString);
        Memo1.Lines.Add(
"Идентификатор: " + ABACAttribute.Id);
        Memo1.Lines.Add(
"Наименование: " + ABACAttribute.Name(MB.CurrentLocale));
        Memo1.Lines.Add(
"Описание: " + ABACAttribute.Description(MB.CurrentLocale));
        Memo1.Lines.Add(
"Тип данных: " + ABACAttribute.DataType.ToString);
        Memo1.Lines.Add(
"Значение по умолчанию: " + ABACAttribute.DefaultValue);
        Memo1.Lines.Add(
"=========================================");
        Memo2.Lines.Add(
"Всего в коллекции: " + ABACAttribute.Attributes.Count.ToString + " атрибутов");
    
End For;
End Sub Button1OnClick;

Imports Prognoz.Platform.Forms.Net;
Imports Prognoz.Platform.Interop.ABAC;
Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.Dal;

Private Sub button1_Click(sender: System.Object; e: System.EventArgs);
Var
    MB: IMetabase;
    MS: IMetabasePolicy;
    AttrObj: IMetabaseSecurityObjectsAttributes;
    ABACAttributes: IABACAttributes;
    ABACAttribute: IABACAttribute;
Begin
    MB := Self.Metabase;
    MS := MB.Security.Policy;
    
// Получим атрибуты объектов
    AttrObj := MS.ObjectsAttributes;
    ABACAttributes := AttrObj.Global;
    
// Выведем свойства каждого атрибута
    
For Each ABACAttribute In ABACAttributes Do
        listBox1.Items.Add(
"Ключ: " + ABACAttribute.Key.ToString());
        listBox1.Items.Add(
"Идентификатор: " + ABACAttribute.Id);
        listBox1.Items.Add(
"Наименование: " + ABACAttribute.Name[MB.CurrentLocale]);
        listBox1.Items.Add(
"Описание: " + ABACAttribute.Description[MB.CurrentLocale]);
        listBox1.Items.Add(
"Тип данных: " + ABACAttribute.DataType.ToString());
        listBox1.Items.Add(
"Значение по умолчанию: " + ABACAttribute.DefaultValue);
        listBox1.Items.Add(
"=========================================");
        listBox2.Items.Add(
"Всего в коллекции: " + ABACAttribute.Attributes.Count.ToString() + " атрибутов");
    
End For;        
End Sub;

После нажатия на кнопку будут отображены свойства системных и пользовательских атрибутов объектов:

См. также:

IABACAttribute