SetSelection(Value: IDimSelectionSet);
Value. Отметка куба, в соответствии с которой будет осуществляться обновление кэша данных.
Метод SetSelection осуществляет установку отметки, в соответствии с которой будет выполняться обновление кэша данных для куба при выполнении задачи.
Для выполнения примера понадобится куб с идентификатором «CUBE_ID» со включенной возможностью кэширования данных, а также контейнер запланированных задач с идентификатором «SCHEDULED_TASK_CONTAINER».
Sub UserProc;
Var
Metabase: IMetabase;
ScheduledTask: ICubeCacheUpdateScheduledTask;
CrInfo: IMetabaseObjectCreateInfo;
CubIn: ICubeInstance;
CubInDes: ICubeInstanceDestination;
DimS: IDimSelection;
DimSS: IDimSelectionSet;
Properties: IScheduledTaskProperties;
Period: IScheduledTaskPeriodMonthly;
i: Integer;
Begin
Metabase := MetabaseClass.Active;
CrInfo := Metabase.CreateCreateInfo;
CrInfo.ClassId := MetabaseObjectClass.KE_CLASS_TASK_UPDATE_CUBE_CACHE;
CrInfo.Parent := Metabase.ItemById("SCHEDULED_TASK_CONTAINER");
ScheduledTask := Metabase.CreateObject(CrInfo).Edit As ICubeCacheUpdateScheduledTask;
CubIn := Metabase.ItemById("CUBE_ID").Open(Null) As ICubeInstance;
CubInDes := CubIn.Destinations.DefaultDestination;
DimSS := CubInDes.CreateDimSelectionSet;
For Each DimS In DimSS Do
DimS.SelectAll;
End For;
ScheduledTask.SourceCube := CubIn.Cube;
ScheduledTask.DestKey := CubInDes.Key;
ScheduledTask.SetSelection(DimSS);
//Устанавливаем период выполнения задачи
Properties := ScheduledTask.Properties;
Period := Properties.CreatePeriod(ScheduledTaskPeriodType.Monthly) As IScheduledTaskPeriodMonthly;
Period.DayOfWeek := CalendarDayOfWeek.Monday;
Period.WeekOfMonth := CalendarWeekOfMonth.Third;
For i := 1 To 12 Do
Period.Months(i As CalendarMonth) := True;
End For;
Period.StartTime := DateTime.ComposeTimeOfDay(12, 0, 0, 0);
Properties.Period := Period;
(ScheduledTask As IMetabaseObject).Save;
End Sub UserProc;
После выполнения примера в контейнере запланированных задач «SCHEDULED_TASK_CONTAINER» будет создана запланированная задача обновления кэша для куба «CUBE_ID» по указанному варианту отображения и заданной отметке. Задача будет выполняться ежемесячно в понедельник третьей недели месяца в 12:00.
См. также: