IMsMetaModel.Params

Синтаксис

Params: IMsModelParams;

Описание

Свойство Params возвращает коллекцию параметров метамодели.

Пример

Для выполнения примера предполагается наличие в репозитории базы данных временных рядов с идентификатором «FC_PARAM». Данная база содержит атрибут «COUNTRY», ссылающийся на справочник. В контейнере моделирования базы находится метамодель с идентификатором «METAMODEL» и модель с идентификатором «MODEL».

Sub Main;

Var

mb: IMetabase;

Catalog: IRubricator;

Transforms: IMetabaseObjectDescriptor;

MetaModel: IMsMetaModel;

MMParams: IMsModelParams;

Param: IMsModelParam;

Atts: IMetaAttributes;

Dict: IMetabaseObjectDescriptor;

ChainEntries: IMsCalculationChainEntries;

Cycle: IMsCalculationChainIterator;

dimInst: IDimInstance;

Model: IMsModel;

Begin

mb := MetabaseClass.Active;

Catalog := mb.ItemById("FC_PARAM").Bind As IRubricator;

Transforms := Catalog.ModelSpace;

MetaModel := mb.ItemByIdNamespace("METAMODEL", Transforms.Key).Edit As IMsMetaModel;

MMParams := MetaModel.Params;

MMParams.Clear;

Param := MMParams.Add;

Param.Name := "Country param";

Param.Id := "Country_Param";

Param.Hidden := True;

Param.DataType := DbDataType.Integer;

Atts := Catalog.Facts.Attributes;

Dict := Atts.FindById("COUNTRY").ValuesObject;

Param.LinkedObject := Dict;

ChainEntries := MetaModel.CalculationChain;

ChainEntries.Clear;

Cycle := ChainEntries.AddIterator("For");

Cycle.Parameter := Param;

dimInst := Dict.Open(Null) As IDimInstance;

Cycle.Selection := dimInst.CreateSelection;

Cycle.Selection.SelectAll;

Model := mb.ItemByIdNamespace("MODEL", Transforms.Key).Bind As IMsModel;

Cycle.Contents.AddModel(Model);

(MetaModel As IMetabaseObject).Save;

End Sub Main;

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

См. также:

IMsMetaModel