IMsProblemCalculationSettings.OutputPeriod

Синтаксис Fore

OutputPeriod: IMsPeriod;

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

OutputPeriod: Prognoz.Platform.Interop.Ms.IMsPeriod;

Описание

Свойство OutputPeriod возвращает параметры периода выгрузки данных.

Комментарии

Для настройки параметров идентификации и прогнозирования задачи используйте свойство IMsProblemCalculationSettings.Period.

Пример Fore

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

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

Sub UserProc;
Var
    Mb: IMetabase;
    MsDescr: IMetabaseObjectDescriptor;
    Problem: IMsProblem;
    CalcSett: IMsProblemCalculationSettings;
    Period: IMsModelPeriod;
    ProblemCalc: IMsProblemCalculation;
    OutPeriod: IMsDatePeriod;
Begin
    Mb := MetabaseClass.Active;
    // Получаем контейнер моделирования
    MsDescr := Mb.ItemById("MS");
    // Получаем задачу моделирования
    Problem := Mb.ItemByIdNamespace("PROBLEM_TRANSF_OUTPUT", MsDescr.Key).Bind As IMsProblem;
    // Создаем параметры расчёта задачи
    CalcSett := Problem.CreateCalculationSettings;
    // Загружаем только данные по тем уровням календаря,
    // которые используются в цепочке расчёта задачи
    CalcSett.FilterLevelsOnLoad := True;
    // Указываем период расчёта
    Period := CalcSett.Period;
    Period.IdentificationStartDate := DateTime.Parse("01.01.1990");
    Period.IdentificationEndDate := DateTime.Parse("31.12.2009");
    Period.ForecastStartDate := DateTime.Parse("01.01.2010");
    Period.ForecastEndDate := DateTime.Parse("01.01.2015");
    // Получаем параметры периода выгрузки данных
    OutPeriod := CalcSett.OutputPeriod As IMsDatePeriod;
    // Очищаем параметры периода выгрузки данных
    OutPeriod.ClearPeriod;
    // Задаем параметры автопериода: период выгрузки данных определяется
    // периодом выгрузки данных у владельца рассчитываемого объекта
    OutPeriod.AutoPeriod := MsDateAutoPeriodOptions.StartByFact Or MsDateAutoPeriodOptions.EndAsNow;
    // Задаем смещение дат начала и окончания периода выгрузки данных
    OutPeriod.StartOffset := 1;
    OutPeriod.EndOffset := 2;
    // Выполняем расчет
    ProblemCalc := Problem.Calculate(CalcSett);
    ProblemCalc.Run;
End Sub UserProc;

В результате выполнения примера задача будет рассчитана по периодам идентификации, прогнозирования и выгрузки данных, указанным непосредственно перед расчётом. Данные

Пример Fore.NET

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

Imports Prognoz.Platform.Interop.Ms;

Public Shared Sub Main(Params: StartParams);
Var
    Mb: IMetabase;
    MsDescr: IMetabaseObjectDescriptor;
    Problem: IMsProblem;
    CalcSett: IMsProblemCalculationSettings;
    Period: IMsModelPeriod;
    ProblemCalc: IMsProblemCalculation;
    OutPeriod: IMsDatePeriod;
Begin
    Mb := Params.Metabase;
    // Получаем контейнер моделирования
    MsDescr := Mb.ItemById["MS"];
    // Получаем задачу моделирования
    Problem := Mb.ItemByIdNamespace["PROBLEM_TRANSF_OUTPUT", MsDescr.Key].Bind() As IMsProblem;
    // Создаем параметры расчёта задачи
    CalcSett := Problem.CreateCalculationSettings();
    // Загружаем только данные по тем уровням календаря,
    // которые используются в цепочке расчёта задачи
    CalcSett.FilterLevelsOnLoad := True;
    // Указываем период расчёта
    Period := CalcSett.Period;
    Period.IdentificationStartDate := DateTime.Parse("01.01.1990");
    Period.IdentificationEndDate := DateTime.Parse("31.12.2009");
    Period.ForecastStartDate := DateTime.Parse("01.01.2010");
    Period.ForecastEndDate := DateTime.Parse("01.01.2015");
    // Получаем параметры периода выгрузки данных
    OutPeriod := CalcSett.OutputPeriod As IMsDatePeriod;
    // Очищаем параметры периода выгрузки данных
    OutPeriod.ClearPeriod();
    // Задаем параметры автопериода: период выгрузки данных определяется
    // периодом выгрузки данных у владельца рассчитываемого объекта
    OutPeriod.AutoPeriod := (MsDateAutoPeriodOptions.msdapoStartByFact Or MsDateAutoPeriodOptions.msdapoEndAsNow) As integer;
    // Задаем смещение дат начала и окончания периода выгрузки данных
    OutPeriod.StartOffset := 1;
    OutPeriod.EndOffset := 2;
    // Выполняем расчет
    ProblemCalc := Problem.Calculate(CalcSett);
    ProblemCalc.Run();
End Sub;

См. также:

IMsProblemCalculationSettings