IScheduledTaskModuleChecker.Module

Синтаксис Fore

Module: IMetabaseObjectDescriptor;

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

Module: Prognoz.Platform.Interop.Metabase.IMetabaseObjectDescriptor;

Описание

Свойство Module определяет сборку, модуль или форму, при выполнении которых будет выполняться задача.

Комментарии

Сборка, модуль или форма должны содержать функции с сигнатурой Function <name> (<param>: IScheduledTask): Boolean.

Свойство актуально, если IScheduledTask.CreateChecker = ScheduledTaskCheckerType.Module.

Пример Fore

Для выполнения примера предполагается наличие:

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

Sub UserProc;
Var
    MB: IMetabase;
    cont: IScheduledTasksContainer;
    task: IScheduledTask;
    TChecker: IScheduledTaskChecker;
    ModuleChecker: IScheduledTaskModuleChecker;
Begin
    MB := metabaseClass.Active;
    cont := MB.ItemById("TASK_CONTAINER").Edit As IScheduledTasksContainer;
    task := cont.Tasks.Item(0).Edit As IScheduledTask;
    TChecker := task.CreateChecker(ScheduledTaskCheckerType.Module);
    ModuleChecker := TChecker As IScheduledTaskModuleChecker;
    Debug.WriteLine("Установлено условие выполнения задачи: ");
    Select Case (TChecker.Type As Integer)
        Case 0: Debug.WriteLine(" - Выполнять задачу, если функция выполнена с результатом");
        Case 1: Debug.WriteLine(" - Выполнять задачу, если правило валидации выполнено с результатом");
    End Select;
    If TChecker.Check = False Then
        ModuleChecker.Module := MB.ItemById("CHECK").Bind;
        ModuleChecker.Macro := "CHECK_FUNCTION";
        ModuleChecker.ExpectedResult := True;
        Else
            Debug.WriteLine(TChecker.CheckMsg);
    End If;
    task.TaskChecker := TChecker;
    (task As IMetabaseObject).Save;
End Sub UserProc;

В результате выполнения примера будут установлены настройки условий выполнения задачи:

Пример Fore.NET

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

Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.KeFore;

Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    cont: IScheduledTasksContainer;
    task: IScheduledTask;
    TChecker: IScheduledTaskChecker;
    ModuleChecker: IScheduledTaskModuleChecker;
Begin
    MB := Params.Metabase;
    cont := MB.ItemById["TASK_CONTAINER"].Edit() As IScheduledTasksContainer;
    task := cont.Tasks.Item[0].Edit() As IScheduledTask;
    TChecker := task.CreateChecker(ScheduledTaskCheckerType.sctModule);
    ModuleChecker := TChecker As IScheduledTaskModuleChecker;
    System.Diagnostics.Debug.WriteLine("Установлено условие выполнения задачи: ");
    Select Case (TChecker.Type As Integer)
        Case 0: System.Diagnostics.Debug.WriteLine(" - Выполнять задачу, если функция выполнена с результатом");
        Case 1: System.Diagnostics.Debug.WriteLine(" - Выполнять задачу, если правило валидации выполнено с результатом");
    End Select;
    If TChecker.Check() = False Then
        ModuleChecker.Module := MB.ItemById["CHECK"].Bind();
        ModuleChecker.Macro := "CHECK_FUNCTION";
        ModuleChecker.ExpectedResult := True;
        Else
            System.Diagnostics.Debug.WriteLine(TChecker.CheckMsg);
    End If;
    task.TaskChecker := TChecker;
    (task As IMetabaseObject).Save();
End Sub;

См. также:

IScheduledTaskModuleChecker