IScheduledTaskValidationChecker.Validation

Синтаксис Fore

Validation: IMetabaseObjectDescriptor;

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

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

Описание

Свойство Validation определяет правило валидации, при выполнении которого будет выполняться задача.

Комментарии

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

Пример Fore

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

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

Sub UserProc;
Var
    MB: IMetabase;
    cont: IScheduledTasksContainer;
    task: IScheduledTask;
    TChecker: IScheduledTaskChecker;
    ValidationChecker: IScheduledTaskValidationChecker;
Begin
    MB := metabaseClass.Active;
    cont := MB.ItemById("TASK_CONTAINER").Edit As IScheduledTasksContainer;
    task := cont.Tasks.Item(0).Edit As IScheduledTask;
    TChecker := task.CreateChecker(ScheduledTaskCheckerType.Validation);
    ValidationChecker := TChecker As IScheduledTaskValidationChecker;
    Debug.WriteLine("Установлено условие выполнения задачи: ");
    Select Case (TChecker.Type As Integer)
        Case 0: Debug.WriteLine(" - Выполнять задачу, если функция выполнена с результатом");
        Case 1: Debug.WriteLine(" - Выполнять задачу, если правило валидации выполнено с результатом");
    End Select;
    ValidationChecker.Validation := MB.ItemByIdNamespace("VALIDATION", MB.ItemById("RUBRICATOR").Key).Bind;
    ValidationChecker.Condition := STValidationCheckerConditionType.Equal;
    ValidationChecker.ExceptionCount := 0;
    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;
    ValidationChecker: IScheduledTaskValidationChecker;
Begin
    MB := Params.Metabase;
    cont := MB.ItemById["TASK_CONTAINER"].Edit() As IScheduledTasksContainer;
    task := cont.Tasks.Item[0].Edit() As IScheduledTask;
    TChecker := task.CreateChecker(ScheduledTaskCheckerType.sctValidation); 
    ValidationChecker := TChecker As IScheduledTaskValidationChecker;
    System.Diagnostics.Debug.WriteLine("Установлено условие выполнения задачи: ");
    Select Case (TChecker.Type As Integer)
        Case 0: System.Diagnostics.Debug.WriteLine(" - Выполнять задачу, если функция выполнена с результатом");
        Case 1: System.Diagnostics.Debug.WriteLine(" - Выполнять задачу, если правило валидации выполнено с результатом");
    End Select;
    ValidationChecker.Validation := MB.ItemByIdNamespace["VALIDATION", MB.ItemById["RUBRICATOR"].Key].Bind();
    ValidationChecker.Condition := STValidationCheckerConditionType.scctEqual;
    ValidationChecker.ExceptionCount := 0;
    task.TaskChecker := TChecker;
    (task As IMetabaseObject).Save();
End Sub;

См. также:

IScheduledTaskValidationChecker