IMsCalculationChainMetaModel.ResetMetaModel

Синтаксис Fore

ResetMetaModel;

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

ResetMetaModel();

Описание

Метод ResetMetaModel обновляет метамодель в цепочке расчета.

Комментарии

Используйте метод, если изменились параметры модели в репозитории и теперь её надо обновить в цепочке расчёта.

Пример Fore

Для выполнения примера в репозитории предполагается наличие в репозитории контейнера моделирования с идентификатором «MS». Данный контейнер должен содержать метамодель с идентификатором «CALCULATIONCHAIN», содержащей в цепочке расчёта метамодель с идентификатором «METAMODEL_CONVERT».

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

Sub UserProc;
Var
    mb: IMetabase;
    msKey: Integer;
    MetaModel: IMsMetaModel;
    CalculationChain: IMsCalculationChainEntries;
    ChainMetaModel: IMsCalculationChainMetaModel;
Begin
    
// Получаем текущий репозиторий
    mb := MetabaseClass.Active;
    
// Получаем ключ контейнера моделирования, содержащего метамодель
    msKey := mb.GetObjectKeyById("MS");
    
// Получаем метамодель
    MetaModel := mb.ItemByIdNamespace("CALCULATIONCHAIN", msKey).Edit As IMsMetaModel;
    
// Получаем цепочку расчёта метамодели
    CalculationChain := MetaModel.CalculationChain;
    
// Находим по идентификатору метамодель в цепочке расчёта
    ChainMetaModel := CalculationChain.FindById("METAMODEL_CONVERT"As IMsCalculationChainMetaModel;
    
// Обновляем найденную метамодель
    ChainMetaModel.ResetMetaModel;
    
// Сохраняем изменения
    (MetaModel As IMetabaseObject).Save;
End Sub UserProc;

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

Пример Fore.NET

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

Imports Prognoz.Platform.Interop.Ms;

Public Shared Sub Main(Params: StartParams);
Var
    mb: IMetabase;
    msKey: uinteger;
    MetaModel: IMsMetaModel;
    CalculationChain: IMsCalculationChainEntries;
    ChainMetaModel: IMsCalculationChainMetaModel;
Begin
    
// Получаем текущий репозиторий
    mb := Params.Metabase;
    
// Получаем ключ контейнера моделирования, содержащего метамодель
    msKey := mb.GetObjectKeyById("MS");
    
// Получаем метамодель
    MetaModel := mb.ItemByIdNamespace["CALCULATIONCHAIN", msKey].Edit() As IMsMetaModel;
    
// Получаем цепочку расчёта метамодели
    CalculationChain := MetaModel.CalculationChain;
    
// Находим по идентификатору метамодель в цепочке расчёта
    ChainMetaModel := CalculationChain.FindById("METAMODEL_CONVERT"As IMsCalculationChainMetaModel;
    
// Обновляем найденную метамодель
    ChainMetaModel.ResetMetaModel();
    
// Сохраняем изменения
    (MetaModel As IMetabaseObject).Save();
End Sub;

См. также:

IMsCalculationChainMetaModel