ICalculateCubeScheduledTask.SetSelection

Синтаксис

SetSelection(Value: IDimSelectionSet);

Параметры

Value. Отметка куба-источника, в соответствии с которой будет осуществляться загрузка данных в куб-приемник.

Описание

Метод SetSelection осуществляет установку отметки, в соответствии с которой будет выполняться загрузка в куб при выполнении задачи. Метод используется при использовании задачи для запуска загрузчика в куб.

Пример

Для выполнения примера предполагается наличие в репозитории загрузчика в куб и контейнера запланированных задач с идентификаторами "Cube_Load" и "CUBE_TASK" соответственно.

Sub Main;

Var

MB: IMetabase;

MObj, Parent: IMetabaseObject;

Loader: ICubeLoader;

CrInfo: IMetabaseObjectCreateInfo;

LoaderTask: ICalculateCubeScheduledTask;

CubeIns: ICubeInstance;

Per: IScheduledTaskPeriodDaily;

Prop: IScheduledTaskProperties;

DimSS: IDimSelectionSet;

DimS: IDimSelection;

d: DateTime;

Begin

MB := MetabaseClass.Active;

//Контейнер запланированных задач

Parent := MB.ItemById("CUBE_TASK").Bind;

//Загрузчик в куб

Loader := Mb.ItemById("Cube_Load").Bind As ICubeLoader;

CrInfo := MB.CreateCreateInfo;

CrInfo.ClassID := MetabaseObjectClass.KE_CLASS_TASK_CALCULATECUBE;

CrInfo.Id := "LoaderTask";

CrInfo.Name := "Задача запуска загрузчика в куб";

CrInfo.Parent := Parent;

CrInfo.Permanent := False;

MObj := MB.CreateObject(CrInfo).Edit;

//задача запуска загрузчика в куб

LoaderTask := MObj As ICalculateCubeScheduledTask;

//Получение отметки, по которой будет осуществляться загрузка данных

CubeIns := (Loader.Destination.Cube As IMetabaseObject).Open(Null) As ICubeInstance;

DimSS := CubeIns.Destinations.DefaultDestination.CreateDimSelectionSet;

//Все элементы в отметке

For Each DimS In DimSS Do

DimS.SelectAll;

End For;

LoaderTask.SourceCube := (Loader As ICubeModel);

//настройка свойств задачи

Prop := LoaderTask.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 := 3;

Prop.Period := Per;

LoaderTask.SetSelection(DimSS);

MObj.Save;

End Sub Main;

После выполнения примера в контейнер запланированных задач будет добавлена задача запуска загрузчика в куб. Задача будет запускаться ежедневно, начиная с текущего дня, в "18:00" с интервалом в два дня.

См. также:

ICalculateCubeScheduledTask