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" с интервалом в два дня.
См. также: