Analyzer: IEaxAnalyzerSource;
Analyzer: IEaxAnalyzerSource;
Свойство Analyzer определяет источник данных для компонента.
В качестве значения свойства необходимо указать компонент UiErAnalyzer, приведенный к интерфейсу IEaxAnalyzerSource.
Компонент UiErAnalyzer должен быть связан с рабочей книгой, для которой применены нужные правила валидации и составлен диагностический отчет.
Для выполнения примера предполагается наличие формы, расположенных на ней компонентов WorkbookDocumentViewerBox и ValidationLegendBox, и компонента UiErAnalyzer с наименованием «UiErAnalyzer1», который является для них источником данных. «UiErAnalyzer1» подключен к рабочей книге репозитория. В репозитории предполагается наличие правила валидации с идентификатором «VAL_RULES1», которое хранится в базе данных временных рядов с идентификатором «TS_DB». Указанная процедура является обработчиком события OnCreate формы.
Sub SAMPLEFormOnCreate(Sender: Object; Args: IEventArgs);
Var
MB: IMetabase;
ValidFilter: IValidationFilter;
ValidExecSett: IValidationExecuteSettings;
ValidExecRun: IValidationExecRun;
DiagRep: IDiagnosticReport;
Analyzer: IEaxAnalyzer;
Begin
MB := MetabaseClass.Active;
//Правило
ValidFilter := MB.ItemByIdNamespace("VAL_RULES1", MB.GetObjectKeyById("TS_DB")).Bind As IValidationFilter;
//Параметры, необходимые для применения правила валидации
Analyzer := UiErAnalyzer1.ErAnalyzer;
ValidExecSett := New ValidationExecuteSettings.Create;
ValidExecSett.Laner := Analyzer.Laner;
//Применение правила валидации
ValidExecRun := ValidFilter.Execute(ValidExecSett);
//Составление диагностического отчета
DiagRep := New DiagnosticReport.Create;
DiagRep.Run := ValidExecRun;
Analyzer.DiagnosticReport := DiagRep;
//Указание источника для компонента
ValidationLegendBox1.Analyzer := UiErAnalyzer1 As IEaxAnalyzerSource;
End Sub SAMPLEFormOnCreate;
При запуске формы будут получены параметры указанного правила валидации. Данное правило будет применено к рабочей книге, которая подключена к компоненту «UiErAnalyzer1». После применения будет составлен диагностический отчет. Информация о используемом правиле валидации будет доступна в компоненте «ValidationLegendBox1».
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore. Вместо компонентов Fore используйте их Fore.NET аналоги.
Imports Prognoz.Platform.Interop.Cubes;
Imports Prognoz.Platform.Interop.Express;
Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.Ms;
Private Sub SAMPLEForm_Load(sender: System.Object; e: System.EventArgs);
Var
MB: IMetabase;
//ValidGroup: IValidationGroup;
ValidFilter: IValidationFilter;
ValidExecSett: ValidationExecuteSettings = New ValidationExecuteSettingsClass();
ValidExecRun: IValidationExecRun;
DiagRep: DiagnosticReport = New DiagnosticReportClass();
Analyzer: EaxAnalyzer;
Begin
MB := Self.Metabase;
//Правило
ValidFilter := MB.ItemByIdNamespace["VAL_RULES1", MB.GetObjectKeyById("TS_DB")].Bind() As IValidationFilter;
//Параметры, необходимые для применения правила валидации
Analyzer := UiErAnalyzerNet1.ErAnalyzer.ErAnalyzer;
ValidExecSett.Laner := Analyzer.Laner;
//Применение правила валидации
ValidExecRun := ValidFilter.Execute(ValidExecSett);
//Составление диагностического отчета
DiagRep.Run := ValidExecRun;
Analyzer.DiagnosticReport := DiagRep;
//Указание источника для компонента
ValidationLegendBoxNet1.Analyzer := UiErAnalyzerNet1;
End Sub;
См. также: