IWinApplication.GetPluginTarget

Синтаксис

GetPluginTarget(PluginName: String): IUiCommandTarget;

GetPluginTarget(PluginName: System.String): Prognoz.Platform.Interop.Ui.IUiCommandTarget;

Параметры

PluginName. Наименование используемого плагина.

Описание

Метод GetPluginTarget создает объект, осуществляющий выполнение команды заданного плагина.

Комментарии

Доступны следующие плагины:

Пример

Для выполнения примера убедитесь, что в менеджере безопасности содержится пользователь USER.

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

Sub UserProc;
Var
    Mb: IMetabase;
    MbSec: IMetabaseSecurity;

    User: ISecuritySubject;
    Target: IUiCommandTarget;
    Context: IUiCommandExecutionContext;
    Lic: Object;
Begin
    MB := MetabaseClass.Active;
    
// Получим лицензию для возможности работы с менеджером безопасности
    Lic := Mb.RequestLicense(UiLicenseFeatureType.Adm);
    MbSec := MB.Security;

    User := MbSec.ResolveName("USER");
    Target := WinApplication.Instance.GetPluginTarget(
"Adm");
    Context := Target.CreateExecutionContext;
    Context.Data := User;
    Target.Execute(
"ShowHoursPolicy", Context);
    
// Сохраним изменения
    MbSec.Apply;
    
// Освободим лицензию
    Lic := Null;
End Sub UserProc;

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

Public Shared Sub Main(Params: StartParams);
Var
    Mb: IMetabase;
    MbSec: IMetabaseSecurity;
    User: ISecuritySubject;
    Target: IUiCommandTarget;
    Context: IUiCommandExecutionContext;
    WinApp: WinApplicationClassClass;
    Lic: Object;
Begin
    MB := Params.Metabase;
    
// Получим лицензию для возможности работы с менеджером безопасности
    Lic := Mb.RequestLicense(UiLicenseFeatureType.lftAdm);
    MbSec := MB.Security;
    User := MbSec.ResolveName(
"USER");
    WinApp := 
New WinApplicationClassClass();
    Target := WinApp.Instance[
Null].GetPluginTarget("Adm");
    Context := Target.CreateExecutionContext();
    Context.Data := User;
    Target.Execute(
"ShowHoursPolicy", Context, Null);
    
// Сохраним изменения
    MbSec.Apply();
    
// Освободим лицензию
    Lic := Null;
End Sub;

После выполнения примера будет отображен диалог разграничения доступа в систему по времени для пользователя USER.

См. также:

IWinApplication | IUiCommandTarget