ElementGroup: IDimElementGroup;
Свойство ElementGroup определяет группу элементов, по которой будет рассчитываться цикл. Если определено значение данного свойства, то свойство IMsCalculationChainIterator.Selection использовать не следует.
Для выполнения примера предполагается наличие в репозитории справочника с идентификатором «D_SOURCE», «DICT_GROUP» - группа элементов данного справочника. Также предполагается наличие контейнера моделирования с идентификатором «CONT_ITERATOR». В контейнере должна содержаться метамодель с идентификатором «META_MODEL».
Sub Main;
Var
pMetabase: IMetabase;
pModelSpace: IMetabaseObjectDescriptor;
pMetaModel: IMsMetaModel;
pChain: IMsCalculationChainEntries;
pCycle: IMsCalculationChainIterator;
pDim: IMetabaseObjectDescriptor;
pElement: IDimElementGroup;
pParam: IMsModelParam;
Begin
pMetabase := MetabaseClass.Active;
pModelSpace := pMetabase.ItemById("CONT_ITERATOR");
pMetaModel := pMetabase.ItemByIdNamespace("META_MODEL", pModelSpace.Key).Edit As IMsMetaModel;
pChain := pMetaModel.CalculationChain;
pChain.Clear;
pMetaModel.Params.Clear;
pParam := pMetaModel.Params.Add;
pParam.Id := "PARAM_1";
pParam.Name := "Param";
pDim := pMetabase.ItemById("D_SOURCE");
pParam.LinkedObject := pDim;
pElement := pMetabase.ItemByIdNamespace("DICT_GROUP", pDim.Key).Bind As IDimElementGroup;
pCycle := pChain.AddIterator("Цикл");
pCycle.ElementGroup := pElement;
pCycle.Parameter := pParam;
(pMetaModel As IMetabaseObject).Save;
End Sub Main;
После выполнения примера в цепочку расчета метамодели будет добавлен цикл. Расчет цикла будет производиться по элементам, входящим в группу «DICT_GROUP».
См. также: