IABACAttributeInstance.Value

Синтаксис

Value: Variant;

Value: System.Object;

Описание

Свойство Value определяет значение атрибута.

Комментарии

Данное свойство актуально при редактировании значения пользовательского атрибута.

Для определения значения атрибута по умолчанию используйте свойство IABACAttribute.DefaultValue.

Пример

Для выполнения примера убедитесь, что для пользователей добавлен целочисленный пользовательский атрибут с идентификатором «WORKDAYS».

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

Sub UserProc;
Var
    Insts: IABACAttributeInstances;
    Inst: IABACAttributeInstance;
    MB: IMetabase;
    MS: IMetabaseSecurity;
    User: IMetabaseUser;
    Lic: Object;
Begin
    MB := MetabaseClass.Active;
    
// Получим лицензию для возможности работы с менеджером безопасности
    Lic := MB.RequestLicense(UiLicenseFeatureType.Adm);
    MS := MB.Security;
    
// Получим атрибуты первого пользователя
    User := MS.Users.Item(0);
    Insts := User.Attributes;
    
// Найдем атрибут с идентификатором «WORKDAYS»
    Inst := Insts.FindById("WORKDAYS");
    
// Проверим множественное ли значение найденного атрибута
    If Inst.IsArray = False Then
        
// Изменим значение атрибута, если оно не множественное
        Inst.Value := 20;
    
End If;
    
// Сохраним изменения в менеджере безопасности
    MS.Apply;
    
// Освободим лицензию
    Lic := Null;
End Sub UserProc;

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

Public Shared Sub Main(Params: StartParams);
Var
    Insts: IABACAttributeInstances;
    Inst: IABACAttributeInstance;
    MB: IMetabase;
    MS: IMetabaseSecurity;
    User: IMetabaseUser;
    Lic: Object;
Begin
    MB := Params.Metabase;
    
// Получим лицензию для возможности работы с менеджером безопасности
    Lic := MB.RequestLicense(UiLicenseFeatureType.lftAdm);
    MS := MB.Security;
    
// Получим атрибуты первого пользователя
    User := MS.Users.Item[0];
    Insts := User.Attributes;
    
// Найдем атрибут с идентификатором «WORKDAYS»
    Inst := Insts.FindById("WORKDAYS");
    
// Проверим множественное ли значение найденного атрибута
    If Inst.IsArray = False Then
        
// Изменим значение атрибута, если оно не множественное
        Inst.Value := 20;
    
End If;
    
// Сохраним изменения в менеджере безопасности
    MS.Apply();
    
// Освободим лицензию
    Lic := Null;
End Sub;

В результате выполнения примера для указанного пользователя будет изменено значение атрибута с идентификатором «WORKDAYS».

См. также:

IABACAttributeInstance