IScheduledTask.GetResults

Синтаксис Fore

GetResults: IScheduledTaskResults;

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

GetResults: Prognoz.Platform.Interop.KeFore.IScheduledTaskResults;

Описание

Метод GetResults возвращает историю выполнения задачи.

Комментарии

Для сброса истории выполнения задачи используйте метод IScheduledTask.ResetResults.

Пример Fore

Для выполнения примера в репозитории предполагается наличие контейнера запланированных задач с идентификатором SCHEDULEDTASKSCONTAINER.

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

Sub UserProc;
Var
    MB: IMetabase;
    Cont: IScheduledTasksContainer;
    Tasks: IMetabaseObjectDescriptors;
    Task: IScheduledTask;
    Results: IScheduledTaskResults;
    Result: IScheduledTaskResult;
    i: Integer;
Begin
    
// Получаем текущий репозиторий
    MB := MetabaseClass.Active;
    
// Получаем контейнер запланированных задач
    Cont := MB.ItemById("SCHEDULEDTASKSCONTAINER").Bind As IScheduledTasksContainer;
    
// Получаем первую задачу
    Tasks := Cont.Tasks;
    Task := Tasks.Item(
0).Bind As IScheduledTask;
    
// Получаем историю выполнения задачи
    Results := Task.GetResults;
    
// Выводим историю в окно консоли
    For i := 0 To Results.Count - 1 Do
        Result := Results.Item(i);
        Debug.Write(Result.StartDateTime.ToString + 
" | ");
        Debug.Write(Result.FinishDateTime.ToString + 
" | ");
        
If Result.Succeeded Then
            Debug.WriteLine(
"Завершена успешно");
        
Else
            Debug.WriteLine(
"Завершена с ошибкой");
        
End If;
    
End For;
End Sub UserProc;

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

Пример Fore.NET

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

Imports Prognoz.Platform.Interop.KeFore;

Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    Cont: IScheduledTasksContainer;
    Tasks: IMetabaseObjectDescriptors;
    Task: IScheduledTask;
    Results: IScheduledTaskResults;
    Result: IScheduledTaskResult;
    i: Integer;
Begin
    
// Получаем текущий репозиторий
    MB := Params.Metabase;
    
// Получаем контейнер запланированных задач
    Cont := MB.ItemById["SCHEDULEDTASKSCONTAINER"].Bind() As IScheduledTasksContainer;
    
// Получаем первую задачу
    Tasks := Cont.Tasks;
    Task := Tasks.Item[
0].Bind() As IScheduledTask;
    
// Получаем историю выполнения задачи
    Results := Task.GetResults();
    
// Выводим историю в окно консоли
    For i := 0 To Results.Count - 1 Do
        Result := Results.Item[i];
        System.Diagnostics.Debug.Write(Result.StartDateTime.ToString() + 
" | ");
        System.Diagnostics.Debug.Write(Result.FinishDateTime.ToString() + 
" | ");
        
If Result.Succeeded Then
            System.Diagnostics.Debug.WriteLine(
"Завершена успешно");
        
Else
            System.Diagnostics.Debug.WriteLine(
"Завершена с ошибкой");
        
End If;
    
End For;
End Sub;

См. также:

IScheduledTask