Name(Locale: LocaleCodeID): String;
Name[Prognoz.Platform.Interop.ForeSystem.LocaleCodeID]: System.String;
Свойство Name определяет наименование атрибута.
Locale. Язык наименования.
Данное свойство актуально при добавлении нового атрибута пользователям, группам пользователей, классам объектов, отдельным типам объектов.
Для выполнения примера добавьте ссылки на системные сборки: 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
См. также: