IEaxAnalyzerOptions.UseSharedEventHandler

Синтаксис Fore

UseSharedEventHandler: Boolean;

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

UseSharedEventHandler: boolean;

Описание

Свойство UseSharedEventHandler определяет, будет ли экспресс-отчет использовать обработчик событий.

Комментарии

Возможные значения:

Объекты Fore.NET нельзя использовать в качестве обработчика событий.

Пример Fore

Для выполнения примера в репозитории необходимо наличие экспресс-отчета с идентификатором «EXPRESS_EVENTHANDLER».

Также в репозитории необходимо наличие модуля-обработчика событий с идентификатором «EXPRESSREPEVENTS», который содержит класс «ExpressEvents» для реализации событий. Описание данного класса приведено в примере для IEaxAnalyzerUserEvents.OnAfterExecuteAnalyzer.

Добавьте ссылки на системные сборки: Express, Fore, Metabase.

Sub UserProc;
Var
    MB: IMetabase;
    Analyzer: IEaxAnalyzer;
    Options: IEaxAnalyzerOptions;
    SParams: ISharedParams;
    ShPar: IMetabaseObjectDescriptor;
    EventHandlers: ISharedEventHandlers;
    EventHandler: ISharedEventHandler;
Begin
    // Получим репозиторий
    MB := MetabaseClass.Active;
    // Получим область глобальных переменных
    ShPar := MB.SpecialObject(MetabaseSpecialObject.SharedParams);
    // Получим параметры репозитория
    SParams := Shpar.Edit As ISharedParams;
    // Получим объект для работы с обработчиком событий отчетов
    EventHandlers := SParams.EventHandlers;
    // Будем использовать обработчик событий отчетов
    EventHandlers.Enabled := True;
    // Получим и активируем обработчик событий экспресс-отчетов
    EventHandler := EventHandlers.EventHandler(SharedEventHandlerType.ExpressReport);
    EventHandler.Enabled := True;
    // Подключим обработчик событий
    EventHandler.Object := MB.ItemById("EXPRESSREPEVENTS");
    // Установим класс модуля
    EventHandler.EventsClass := "ExpressRep_Events";
    // Сохраним изменения в параметрах репозитория
    (SParams As ImetabaseObject).Save;
    // Получим экспресс-отчет
    Analyzer := MB.ItemById("EXPRESS_EVENTHANDLER").Edit As IEaxAnalyzer;
    // Получим параметры отчета
    Options := Analyzer.Options;
    // Будем использовать обработчик событий
    If Options.UseSharedEventHandler = False Then
        Options.UseSharedEventHandler := True;
            End If;
    // Сохраним изменения в экспресс-отчете
    (Analyzer As IMetabaseObject).Save;
End Sub UserProc;

После выполнения примера экспресс-отчет будет использовать указанный обработчик событий.

Пример Fore.NET

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

Imports Prognoz.Platform.Interop.Express;
Imports Prognoz.Platform.Interop.KeFore;

Public
 Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    Analyzer: IEaxAnalyzer;
    Options: IEaxAnalyzerOptions;
    SParams: ISharedParams;
    ShPar: IMetabaseObjectDescriptor;
    EventHandlers: ISharedEventHandlers;
    EventHandler: ISharedEventHandler;
Begin
    // Получим репозиторий
    MB := Params.Metabase;
    // Получим область глобальных переменных
    ShPar := MB.SpecialObject[MetabaseSpecialObject.msoSharedParams];
    // Получим параметры репозитория
    SParams := Shpar.Edit() As ISharedParams;
    // Получим объект для работы с обработчиком событий отчетов
    EventHandlers := SParams.EventHandlers;
    // Будем использовать обработчик событий отчетов
    EventHandlers.Enabled := True;
    // Получим и активируем обработчик событий экспресс-отчетов
    EventHandler := EventHandlers.EventHandler[SharedEventHandlerType.sehtExpressReport];
    EventHandler.Enabled := True;
    // Подключим обработчик событий
    EventHandler.Object := MB.ItemById["EXPRESSREPEVENTS"];
    // Установим класс модуля
    EventHandler.EventsClass := "ExpressRep_Events";
    // Сохраним изменения в параметрах репозитория
    (SParams As ImetabaseObject).Save();
    // Получим экспресс-отчет
    Analyzer := MB.ItemById["EXPRESS_EVENTHANDLER"].Edit() As IEaxAnalyzer;
    // Получим параметры отчета
    Options := Analyzer.Options;
    // Будем использовать обработчик событий
    If Options.UseSharedEventHandler = False Then
        Options.UseSharedEventHandler := True;
            End If;
    // Сохраним изменения в экспресс-отчете
    (Analyzer As IMetabaseObject).Save();
End Sub;

См. также:

IEaxAnalyzerOptions