IMsCalculationChainEntries.AddIterator

Синтаксис

AddIterator(CycleName: String): IMsCalculationChainIterator;

Параметры

CycleName. Наименование добавляемого цикла.

Описание

Метод AddIterator добавляет цикл в цепочку расчёта метамодели.

Пример

Для выполнения примера в репозитории предполагается наличие табличного справочника с идентификатором TABLE_DICTIONARY и контейнера моделирования с идентификатором MODELING_CONTAINER. В контейнере должна содержаться метамодель с идентификатором META_MODEL.

Добавьте ссылки на системные сборки: Dimensions, Metabase, Ms.

Sub UserProc;
Var
    pMetabase: IMetabase;
    pModelSpace: IMetabaseObjectDescriptor;
    pMetaModel: IMsMetaModel;
    pChain: IMsCalculationChainEntries;
    pCycle: IMsCalculationChainIterator;
    pDimInstance: IDimInstance;
    pSelection: IDimSelection;
    pParam: IMsModelParam;
Begin
    pMetabase := MetabaseClass.Active;
    // Получаем контейнер моделирования
    pModelSpace := pMetabase.ItemById("MODELING_CONTAINER");
    // Получаем метамодель
    pMetaModel := pMetabase.ItemByIdNamespace("META_MODEL", pModelSpace.Key).Edit As IMsMetaModel;
    // Получаем цепочку расчёта метамодели
    pChain := pMetaModel.CalculationChain;
    pMetaModel.Params.Clear;
    // Создаем параметр метамодели
    pParam := pMetaModel.Params.Add;
    pParam.Id := "PARAM_ITERATOP";
    pParam.Name := "Циклический параметр";
    // Привязываем параметр к табличному справочнику
    pParam.LinkedObject := pMetabase.ItemById("TABLE_DICTIONARY");
    // Создаем цикл в метамодели
    pCycle := pChain.AddIterator("Цикл");
    pDimInstance := pMetabase.ItemById("TABLE_DICTIONARY").Open(NullAs IDimInstance;
    // Задаём отметку для расчёта цикла
    pSelection := pDimInstance.CreateSelection;
    pSelection.SelectAll;
    pCycle.Selection := pSelection;
    // Задаём параметр, используемый для расчёта цикла
    pCycle.Parameter := pParam;
    // Сохраняем изменения
    (pMetaModel As IMetabaseObject).Save;
End Sub;

В результате выполнения примера в цепочку расчёта метамодели будет добавлен цикл с параметром. Расчёт цикла будет производиться по всем элементам справочника.

См. также:

IMsCalculationChainEntries