GetResults: IScheduledTaskResults;
GetResults: Prognoz.Platform.Interop.KeFore.IScheduledTaskResults;
Метод GetResults возвращает историю выполнения задачи.
Для сброса истории выполнения задачи используйте метод IScheduledTask.ResetResults.
Для выполнения примера в репозитории предполагается наличие контейнера запланированных задач с идентификатором 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.
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;
См. также: