IMsCalculationChainEntries.ArrangeModels

Синтаксис Fore

ArrangeModels(ArrangeMode: MsArrangeMode; [Problem: IMsProblem = Null]);

Синтаксис Fore.NET

ArrangeModels(ArrangeMode: Prognoz.Platform.Interop.Ms.MsArrangeMode;
              Problem: Prognoz.Platform.Interop.Ms.IMsProblem);

Параметры

ArrangeMode. Режим автопостроения цепочки расчета;

Problem. Задача, по которой будут устанавливаться периоды расчёта создаваемой системы уравнений. Параметр актуален, если ArrangeMode = MsArrangeMode.CreateSystems.

Описание

Метод ArrangeModels автоматически выстраивает цепочку расчета моделей по заданным параметрам в соответствии с зависимостями между переменными.

Комментарии

Автоматическое построение позволяет определить зависимости между моделями и построить согласно этим зависимостям цепочку расчёта. Метамодели, входящие в цепочку расчёта, при автопостроении игнорируются.

Принципы автоматического построения цепочки:

Значение параметра ArrangeMode влияет на автоматическое построение следующим образом:

Примечание. Если родительским объектом контейнера моделирования является база данных временных рядов, то разделение использования значения SplitSlices недоступно.

Пример Fore

Для выполнения примера предполагается наличие контейнера моделирования с идентификатором «CONT_MODEL», содержащего метамодель с идентификатором «META_ARRANGE». Добавьте ссылки на системные сборки «Metabase», «Ms».

Sub UserProc;
Var
    mb: IMetabase;
    ContKey: Integer;
    MetaModel: IMsMetaModel;
    Chain: IMsCalculationChainEntries;
Begin
    mb := MetabaseClass.Active;
    ContKey := mb.GetObjectKeyById("CONT_MODEL");
    MetaModel := mb.ItemByIdNamespace("META_ARRANGE", ContKey).Edit As IMsMetaModel;
    Chain := MetaModel.CalculationChain;
    Chain.ArrangeModels(MsArrangeMode.DeleteFolders Or MsArrangeMode.SplitSlices);
    (MetaModel As IMetabaseObject).Save;
End Sub UserProc;

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

Пример Fore.NET

Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.

Imports Prognoz.Platform.Interop.Ms;

Public Shared Sub Main(Params: StartParams);
Var
    mb: IMetabase;
    ContKey: uinteger;
    MetaModel: IMsMetaModel;
    Chain: IMsCalculationChainEntries;
Begin
    mb := Params.Metabase;
    ContKey := mb.GetObjectKeyById("CONT_MODEL");
    MetaModel := mb.ItemByIdNamespace["META_ARRANGE", ContKey].Edit() As IMsMetaModel;
    Chain := MetaModel.CalculationChain;
    Chain.ArrangeModels(MsArrangeMode.mamDeleteFolders Or MsArrangeMode.mamSplitSlices, Null);
    (MetaModel As IMetabaseObject).Save();
End Sub;

См. также:

IMsCalculationChainEntries