IMsProblemCalculationSettings.AdvancedOptions

Синтаксис Fore

AdvancedOptions: MsProblemCalculationOptions;

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

AdvancedOptions: Prognoz.Platform.Interop.Ms.MsProblemCalculationOptions;

Описание

Свойство AdvancedOptions определяет дополнительные параметры расчета задачи.

Комментарии

Используя данное свойство можно сократить время расчета задачи моделирования.

Если AdvancedOptions содержит значение:

Пример Fore

Для выполнения примера в репозитории предполагается наличие контейнера моделирования с идентификатором MS, содержащим задачу моделирования с идентификатором PROBLEM_ADV.

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

Sub UserProc;
Var
    Mb: IMetabase;
    ModelSpaceD: IMetabaseObjectDescriptor;
    Problem: IMsProblem;
    CalcSett: IMsProblemCalculationSettings;
Begin
    Mb := MetabaseClass.Active;
    // Получаем контейнер моделирования
    ModelSpaceD := Mb.ItemById("MS");
    // Получаем задачу моделирования
    Problem := Mb.ItemByIdNamespace("PROBLEM_ADV", ModelSpaceD.Key).Bind As IMsProblem;
    // Получаем параметры расчета задачи
    CalcSett := Problem.CreateCalculationSettings;
    // Включаем в расчет сценарий «Факт»
    CalcSett.FactIncluded := True;
    // Задаем периоды расчета задачи
    CalcSett.Period.IdentificationStartDate := DateTime.ComposeDay(200011);
    CalcSett.Period.IdentificationEndDate := DateTime.ComposeDay(20041231);
    CalcSett.Period.ForecastStartDate := DateTime.ComposeDay(200511);
    CalcSett.Period.ForecastEndDate := DateTime.ComposeDay(20071231);
    // Задаем дополнительные параметры расчета
    CalcSett.AdvancedOptions := MsProblemCalculationOptions.SkipOutputDataLoad Or MsProblemCalculationOptions.CacheCoords;
    // Выполняем расчет
    Problem.Calculate(CalcSett).Run;
End Sub UserProc;

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

Пример Fore.NET

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

Imports Prognoz.Platform.Interop.Ms;

Public Shared Sub Main(Params: StartParams);
Var
    Mb: IMetabase;
    ModelSpaceD: IMetabaseObjectDescriptor;
    Problem: IMsProblem;
    CalcSett: IMsProblemCalculationSettings;
Begin
    Mb := Params.Metabase;
    // Получаем контейнер моделирования
    ModelSpaceD := Mb.ItemById["MS"];
    // Получаем задачу моделирования
    Problem := Mb.ItemByIdNamespace["PROBLEM_ADV", ModelSpaceD.Key].Bind() As IMsProblem;
    // Получаем параметры расчета задачи
    CalcSett := Problem.CreateCalculationSettings();
    // Включаем в расчет сценарий «Факт»
    CalcSett.FactIncluded := True;
    // Задаем периоды расчета задачи
    CalcSett.Period.IdentificationStartDate := DateTime.Parse("2000/1/1");
    CalcSett.Period.IdentificationEndDate := DateTime.Parse("2004/12/31");
    CalcSett.Period.ForecastStartDate := DateTime.Parse("2005/1/1");
    CalcSett.Period.ForecastEndDate := DateTime.Parse("2007/12/31");
    // Задаем дополнительные параметры расчета
    CalcSett.AdvancedOptions := MsProblemCalculationOptions.mspcoSkipOutputDataLoad
        Or MsProblemCalculationOptions.mspcoCacheCoords;
    // Выполняем расчет
    Problem.Calculate(CalcSett).Run();
End Sub;

См. также:

IMsProblemCalculationSettings