CreateInvokeEvent(
Current:
DateTime;
[Options:
Integer = 0;]
[Second:
Double = 0]
):
IScheduledInvoke;
CreateInvokeEvent(
Current:
System.DateTime;
Options:
integer;
Second:
double
):
Prognoz.Platform.Interop.KeFore.IScheduledInvoke;
Current. Дата и время выполнения задачи;
Options. Параметр не поддерживается;
Second. Параметр не поддерживается.
Метод CreateInvokeEvent создает новое событие выполнения задачи контейнера запланированных задач.
Для успешного создания события для задачи должно быть установлено разрешение на выполнение и настроено расписание.
Для выполнения примера в репозитории предполагается наличие контейнера запланированных задач с идентификатором SCHEDULEDTASKSCONTAINER.
Добавьте ссылки на системные сборки: Fore, Metabase.
Sub UserProc;
Var
MB: IMetabase;
Cont: IScheduledTasksContainer;
Tasks: IMetabaseObjectDescriptors;
Task: IScheduledTask;
Invoke: IScheduledInvoke;
Begin
// Получаем текущий репозиторий
MB := MetabaseClass.Active;
// Получаем первую задачу в контейнере
Cont := MB.ItemById("SCHEDULEDTASKSCONTAINER").Bind As IScheduledTasksContainer;
Tasks := Cont.Tasks;
Task := Tasks.Item(0).Bind As IScheduledTask;
// Создаём событие выполнения задачи
Invoke := Task.CreateInvokeEvent(DateTime.Now);
Invoke.Invoke(MB);
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;
Invoke: IScheduledInvoke;
Begin
// Получаем текущий репозиторий
MB := Params.Metabase;
// Получаем первую задачу в контейнере
Cont := MB.ItemById["SCHEDULEDTASKSCONTAINER"].Bind() As IScheduledTasksContainer;
Tasks := Cont.Tasks;
Task := Tasks.Item[0].Bind() As IScheduledTask;
// Создаём событие выполнения задачи
Invoke := Task.CreateInvokeEvent(DateTime.Now, 0, 0);
Invoke.Invoke(MB);
End Sub
См. также: