Метамодель

При создании и работе с метамоделью следует учитывать следующие особенности:

Для работы с моделью через язык Fore предназначен интерфейс IMsMetaModel. Используя его свойства и методы можно сформировать цепочку расчета и задать параметры метамодели.

Для работы с цепочкой расчета предназначен интерфейс IMsCalculationChainEntries. Используя его методы, в цепочку расчета можно добавить следующие элементы:

Для метамодели можно задать параметры, которые будут влиять на расчет моделей, входящих в цепочку. Для работы с параметрами метамодели предназначен интерфейс IMsModelParam.

Для расчета всей цепочки метамодели с учетом последовательности элементов, циклов, условий и параметров предназначена задача моделирования.

Создание метамодели

После создания модели следует создать метамодель, содержащую модель «Сальдо торгового баланса, млрд.долл.США» для расчета.

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

Sub UserProc;
Var
    MB: IMetabase;
    KMDesc: IMetabaseObjectDescriptor;
    CrInfo: IMetabaseObjectCreateInfo;
    MObj: IMetabaseObject;
    Meta: IMsMetaModel;
    Model: IMsModel;
    Root: IMsCalculationChainEntries;
Begin
    MB := MetabaseClass.Active;
    KMDesc := MB.ItemById("MODEL_SPACE");
    // Создаем метамодель
    CrInfo := MB.CreateCreateInfo;
    CrInfo.ClassID := MetabaseObjectClass.KE_CLASS_MSMETAMODEL;
    CrInfo.Id := "META_MODEL_BALANCE";
    CrInfo.Name := "Метамодель для расчета сальдо";
    CrInfo.Parent := KMDesc;
    MObj := MB.CreateObject(CrInfo).Edit;
    Meta := MObj As IMsMetaModel;
    // Добавляем в цепочку расчета модель «Сальдо торгового баланса, млрд.долл.США»
    Model := MB.ItemByIdNamespace("BALANCE_MODEL", KMDesc.Key).Bind As IMsModel;
    Root := Meta.CalculationChain;
    Root.AddModel(Model);
    MObj.Save;
    Debug.WriteLine("Создана метамодель '" + MObj.Name + "' с идентификатором '" + MObj.Id + "'");
End Sub UserProc;

После выполнения модуля будет создана метамодель «Метамодель для расчета сальдо» с идентификатором META_MODEL_BALANCE, информация об этом будет выведена в окно консоли.

Следующим шагом будет создание и расчет задачи моделирования.

См. также:

Общие принципы программирования с использованием сборки Ms