ICubeCacheUpdateScheduledTask.SetSelection

Синтаксис

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(NullAs 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(12000);
    Properties.Period := Period;
    (ScheduledTask As IMetabaseObject).Save;
End Sub UserProc;

После выполнения примера в контейнере запланированных задач «SCHEDULED_TASK_CONTAINER» будет создана запланированная задача обновления кэша для куба «CUBE_ID» по указанному варианту отображения и заданной отметке. Задача будет выполняться ежемесячно в понедельник третьей недели месяца в 12:00.

См. также:

ICubeCacheUpdateScheduledTask