IMsCalculationStats.SaveToXml

Синтаксис

SaveToXml(Xml: IXmlDomElement);

SaveToXml(Xml: Prognoz.Platform.Interop.MsXml2.IXmlDomElement);

Параметры

Xml. XML-файл, в котором будут сохранены статистики расчёта.

Описание

Метод SaveToXml сохраняет дерево статистик в XML-файл.

Комментарии

Используется при сравнении статистик расчета с помощью метода IMsCalculationStats.Compare.

Для загрузки статистик расчёта из XML-файла используйте метод IMsCalculationStats.LoadFromXml.

Пример

Для выполнения примера предполагается наличие в репозитории контейнера моделирования с идентификатором «CONT_MODEL», в котором создана задача моделирования с идентификатором «PROBLEM».

Добавьте ссылки на системные сборки: Metabase, Ms, Xml (в Fore.NET - сборка MsXml2).

Sub UserProc;
Var
    Mb: IMetabase;
    Problem: IMsProblem;
    Settings: IMsProblemCalculationSettings;
    Calc: IMsProblemCalculation;
    Doc: IXMLDOMDocument3;
    Elem: IXmlDomElement;
Begin
    Mb := MetabaseClass.Active;
    
// Получим задачу моделирования
    Problem := Mb.ItemByIdNamespace("PROBLEM", Mb.GetObjectKeyById("CONT_MODEL")).EditTemporary As IMsProblem;
    Settings := Problem.CreateCalculationSettings;
    
// Зададим детализацию статистик расчета
    Settings.StatsLevel := MsCalculationStatsLevel.Basic;
    Calc := Problem.Calculate(Settings);
    
// Рассчитаем задачу моделирования и статистики расчёта
    Calc.Run;
    
// Сохраним статистику в XML-файл
    Doc := New FreeThreadedDOMDocument60.Create;
    Elem := doc.createElement(
"Stats");
    Doc.appendChild(Elem);
    Calc.Stats.SaveToXml(Elem);
    Doc.Save(
"D:\Work\Stats.xml");
End Sub UserProc;

Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.Ms;
Imports Prognoz.Platform.Interop.MsXml2;

Public Shared Sub Main(Params: StartParams);
Var
    Mb: IMetabase;
    Problem: IMsProblem;
    Settings: IMsProblemCalculationSettings;
    Calc: IMsProblemCalculation;
    Doc: IXMLDOMDocument3 = 
New FreeThreadedDOMDocument60();
    Elem: IXmlDomElement;
Begin
    Mb := Params.Metabase;
    
// Получим задачу моделирования
    Problem := Mb.ItemByIdNamespace["PROBLEM", Mb.GetObjectKeyById("CONT_MODEL")].EditTemporary() As IMsProblem;
    Settings := Problem.CreateCalculationSettings();
    
// Зададим детализацию статистик расчета
    Settings.StatsLevel := MsCalculationStatsLevel.mcslBasic;
    Calc := Problem.Calculate(Settings);
    
// Рассчитаем задачу моделирования и статистики расчёта
    Calc.Run();
    
// Сохраним статистику в XML-файл
    Elem := doc.createElement("Stats");
    Doc.appendChild(Elem);
    Calc.Stats.SaveToXml(Elem);
    Doc.Save(
"D:\Work\Stats.xml");
End Sub;

При выполнении примера будет запущен расчёт указанной задачи моделирования. Статистика расчёта будет сохранена в файл «Stats.xml».

См. также:

IMsCalculationStats