SourceCube: ICubeModel;
Свойство SourceCube определяет вычисляемый куб, либо загрузчик в куб, который будет выполняться при запуске задачи.
Для выполнения примера предполагается наличие в репозитории вычисляемого куба и контейнера запланированных задач с идентификаторами "Calc_Cube" и "CUBE_TASK" соответственно.
Sub Main;
Var
MB: IMetabase;
Cube: ICubeModel;
MObj, Parent: IMetabaseObject;
CrInfo: IMetabaseObjectCreateInfo;
CalCubeTask: ICalculateCubeScheduledTask;
Per: IScheduledTaskPeriodDaily;
Prop: IScheduledTaskProperties;
d: DateTime;
Begin
Mb := MetabaseClass.Active;
//Контейнер запланированных задач
Parent := MB.ItemById("CUBE_TASK").Bind;
//Куб для вычисления
Cube := Mb.ItemById("Calc_Cube").Bind As ICubeModel;
CrInfo := MB.CreateCreateInfo;
CrInfo.ClassID := MetabaseObjectClass.KE_CLASS_TASK_CALCULATECUBE;
CrInfo.Id := "CalcCubeTask";
CrInfo.Name := "Задача расчета вычисляемого куба";
CrInfo.Parent := Parent;
CrInfo.Permanent := False;
MObj := MB.CreateObject(CrInfo).Edit;
//Задача расчета вычисляемого куба
CalCubeTask := MObj As ICalculateCubeScheduledTask;
CalCubeTask.SourceCube := Cube;
//Настройка свойств задачи
Prop := CalCubeTask.Properties;
//Запуск ежедневно с интервалом
Per := Prop.CreatePeriod(ScheduledTaskPeriodType.Daily) As IScheduledTaskPeriodDaily;
d := DateTime.Now;
d := d.Compose(d.Year, d.Month, d.Day, 18, 00, 00, 00);
Per.StartDateTime := d;
Per.EveryDays := 2;
Prop.Period := Per;
MObj.Save;
End Sub Main;
После выполнения примера в контейнер запланированных задач будет добавлена задача расчета вычисляемого куба. Задача будет запускаться ежедневно, начиная с текущего дня, в "18:00" с интервалом в два дня.
См. также: