ICompoundDimension.Sources

Синтаксис

Sources: ICompoundDimensionSources;

Описание

Свойство Sources возвращает источники составного справочника.

Пример

Для выполнения примера предполагается наличие в репозитории виртуального куба с идентификатором «CUBE_VIRTUAL» и справочников с идентификаторами «OBJ_PD_01» и «OBJ_PD_02».

Sub Main;

Var

Mb: IMetabase;

Obj: IMetabaseObject;

Cub: IVirtualCube;

Dimension: ICompoundDimension;

Source: ICompoundDimensionSource;

dimModel: IDimensionModel;

dimModel1: IDimensionModel;

df: IDimSelectionSetFactory;

Selections: IDimSelectionSet;

dimModelInstance: IDimInstance;

CompoundSelection: IDimSelectionSet;

Cinstance: ICompoundDimensionInstance;

Instance: IDimInstance;

el: IDimElements;

i, j: Integer;

Sel: ICompoundSelection;

Begin

Mb := MetabaseClass.Active;

Obj := Mb.ItemById("CUBE_VIRTUAL").Edit;

Cub := Obj As IVirtualCube;

Dimension := Cub.FactDimension As ICompoundDimension;

If Dimension.CustomContainer <> Null Then

Dimension.CustomContainer := Null;

End If;

Dimension.Sources.Clear;

Source := Dimension.Sources.Add(1);

dimModel := Mb.ItemById("OBJ_PD_01").Bind As IDimensionModel;

dimModel1 := Mb.ItemById("OBJ_PD_02").Bind As IDimensionModel;

Source.Dimensions.Add(dimModel);

Source.Dimensions.Add(dimModel1);

df := New DimSelectionSetFactory.Create;

Selections := df.CreateDimSelectionSet;

dimModelInstance := (dimModel As IMetabaseObject).Open(Null) As IDimInstance;

Selections.Add(dimModelInstance);

dimModelInstance := (dimModel1 As IMetabaseObject).Open(Null) As IDimInstance;

Selections.Add(dimModelInstance);

Selections.Item(0).SelectAll;

Selections.Item(1).SelectAll;

CompoundSelection := df.CreateDimSelectionSet;

Sel := CompoundSelection.AddCompound(1, Selections);

Cinstance := (Dimension As IMetabaseObject).OpenWithParam(CompoundSelection) As ICompoundDimensionInstance;

Instance := Cinstance As IDimInstance;

Debug.WriteLine("Наименования элементов");

el := Instance.Elements;

j := Instance.Attributes.FindById("NAME").Attribute.Key;

For i := 0 To el.Count - 1 Do

Debug.WriteLine("Элемент " + (i + 1).ToString + ": " + (el.AttributeValue(i, j) As String));

End For;

Obj.Save;

End Sub Main;

После выполнения примера, измерение фактов виртуального куба будет определено как составной справочник. В данный справочник будут включены справочники «OBJ_PD_01» и «OBJ_PD_02». Будет произведена отметка всех элементов составного справочника. В окно консоли будут выведены наименования элементов виртуального куба.

См. также:

ICompoundDimension