IMetabaseUser.ShortName

Синтаксис Fore

ShortName: String;

Синтаксис Fore.NET

ShortName: String;

Описание

Свойство ShortName определяет короткий идентификатор доменного пользователя Oracle.

Комментарии

Идентификатор имеет вид: UYYYYMMDDhhmmsslllrrrrrrrrrr. Где: U - префикс, YYYY - год, MM - месяц, DD - день, hh - часы, mm - минуты, ss - секунды, lll - миллисекунды, rrrrrrrrrr - случайное число.

Пример Fore

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

Добавьте сссылку на системную сборку Metabase.

Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Var
    MB: IMetabase;
    MBSec: IMetabaseSecurity;
    SubSearch: ISecuritySubjectsSearch;
    Subjects: ISecuritySubjects;
    Subject, AddedSubject: ISecuritySubject;
    Date: String;
Begin
    MB := MetabaseClass.Active;
    MBSec := MB.Security;
    
//Объект для поиска пользователей
    SubSearch := MBSec.NewSubjectsSearch;
    SubSearch.NameCriteria := 
"FS\BS*";
    
//Поиск только доменных пользователей
    SubSearch.AreaIncludeDB := False;
    SubSearch.AreaIncludeNT := 
True;
    SubSearch.SubjectCriteria(SecuritySubjectType.User) := 
True;
    SubSearch.ExecuteSearch;
    
//Найденные пользователи
    Subjects := SubSearch.Subjects;
    
//Получаем текущую дату
    Date := DateTime.Now.ToString;
    
//Добавляем пользователя
        For Each Subject In Subjects Do
            AddedSubject := MBSec.AddNTSubject(Subject);
            
//Присваиваем короткое имя из переменной Date и случайное число
            (AddedSubject As IMetabaseUser).ShortName := Date + "1234567891";
        
End For;
        
//Применение политики безопасности  
        MBSec.Apply;
End Sub Button1OnClick;

При выполнении примера будет осуществлен поиск всех доменных пользователей, наименование которых удовлетворяет маске «FS\BS*». Найденные пользователи будут добавлены в список пользователей репозитория, которым будет присвоено короткое имя.

Пример Fore.NET

Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore. Вместо компонентов Fore используйте их Fore.NET аналоги.

Imports Prognoz.Platform.Interop.Metabase;

Private Sub button1_Click(sender: System.Object; e: System.EventArgs);
Var
    MB: IMetabase;
    MBSec: IMetabaseSecurity;
    SubSearch: ISecuritySubjectsSearch;
    Subjects: ISecuritySubjects;
    Subject, AddedSubject: ISecuritySubject;
    Date: String;
Begin
    MB := Self.Metabase;
    MBSec := MB.Security;
    
//Объект для поиска пользователей
    SubSearch := MBSec.NewSubjectsSearch();
    SubSearch.NameCriteria := 
"FS\BS*";
    
//Поиск только доменных пользователей
    SubSearch.AreaIncludeDB := False;
    SubSearch.AreaIncludeNT := 
True;
    SubSearch.SubjectCriteria[SecuritySubjectType.sstUser] := 
True;
    SubSearch.ExecuteSearch();
    
//Найденные пользователи
    Subjects := SubSearch.Subjects;
    //Получаем текущую дату
    Date := DateTime.Now.ToString();

    //Добавляем пользователя
        
For Each Subject In Subjects Do
            //Присваиваем короткое имя из переменной Date и случайное число
            AddedSubject := MBSec.AddNTSubject(Subject);
            (AddedSubject 
As IMetabaseUser).ShortName := Date + "1234567891";
        
End For;
        
//Применение политики безопасности  
    MBSec.Apply();
End Sub;

См. также:

IMetabaseUser