Name(Locale: LocaleCodeID): String;
Name[Prognoz.Platform.Interop.ForeSystem.LocaleCodeID]: System.String;
Locale. Язык наименования.
Свойство Name определяет наименование атрибута.
Данное свойство актуально при добавлении нового атрибута пользователям, группам пользователей, классам объектов, отдельным типам объектов.
Для выполнения примера добавьте ссылки на системные сборки: ABAC, Metabase, Dal, ForeSystem (для примера на Fore.NET).
Sub UserProc;
Var
ABACAttribute: IABACAttribute;
ABACAttributes: IABACAttributes;
MB: IMetabase;
MS: IMetabaseSecurity;
Lic: Object;
Begin
MB := MetabaseClass.Active;
// Получим лицензию для возможности работы с менеджером безопасности
Lic := MB.RequestLicense(UiLicenseFeatureType.Adm);
MS := MB.Security;
// Добавим атрибут для пользователей
ABACAttributes := MS.Users.Attributes;
ABACAttribute := ABACAttributes.Add;
ABACAttribute.Name(MB.CurrentLocale) := "Пользователи";
ABACAttribute.Id := "WorkDays";
ABACAttribute.Description(MB.CurrentLocale) := "Количество трудодней";
ABACAttribute.DefaultValue := 20;
ABACAttribute.DataType := DbDataType.Integer;
// Выведем
в консоль ключ нового атрибута
Debug.WriteLine("Ключ нового атрибута: " + ABACAttribute.Key.ToString);
// Сохраним изменения в менеджере безопасности
MS.Apply;
// Освободим лицензию
Lic := Null;
End Sub UserProc;
Imports Prognoz.Platform.Interop.ABAC;
Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.Dal;
Imports Prognoz.Platform.Interop.ForeSystem;
…
Public Shared Sub Main(Params: StartParams);
Var
ABACAttribute: IABACAttribute;
ABACAttributes: IABACAttributes;
MB: IMetabase;
MS: IMetabaseSecurity;
Lic: Object;
Begin
MB := Params.Metabase;
//
Получим лицензию для возможности работы с менеджером безопасности
Lic := MB.RequestLicense(UiLicenseFeatureType.lftAdm);
MS := MB.Security;
// Добавим атрибут для пользователей
ABACAttributes := MS.Users.Attributes;
ABACAttribute := ABACAttributes.Add();
ABACAttribute.Name[MB.CurrentLocale] := "Пользователи";
ABACAttribute.Id := "WorkDays";
ABACAttribute.Description[MB.CurrentLocale] := "Количество трудодней";
ABACAttribute.DefaultValue := 20;
ABACAttribute.DataType := DbDataType.ddtInteger;
// Выведем
в консоль ключ нового атрибута
System.Diagnostics.Debug.WriteLine("Ключ нового атрибута: " + ABACAttribute.Key.ToString());
// Сохраним изменения в менеджере безопасности
MS.Apply();
// Освободим лицензию
Lic := Null;
End Sub;
В результате выполнения примера в менеджере безопасности будет добавлен атрибут для пользователей:
В консоль будет выведен ключ нового атрибута:
Ключ нового атрибута: 17
См. также: