IMsModelPeriod.AutoPeriod

Синтаксис Fore

AutoPeriod: Integer;

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

AutoPeriod: integer;

Описание

Свойство AutoPeriod определяет условия, которые используются для вычисления дат начала/окончания периодов идентификации и прогнозирования.

Комментарии

Значение определяется комбинаций элементов перечисления MsAutoPeriodOptions. AutoPeriod учитывается, если свойству IMsModel.UseModelPeriod присвоено значение в True.

Если AutoPeriod использует значение перечисления MsAutoPeriodOptions, требующее задания дополнительного числа периодов, например, MsAutoPeriodOptions.IdentStartByIdentEnd или MsAutoPeriodOptions.ForecastEndByFact, то задайте дополнительные параметры в соответствующем свойстве:

Особенности вычисления дат начала/окончания периодов идентификации и прогнозирования

Пример Fore

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

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

Sub UserProc;
Var
    mb: IMetabase;
    MsKey: Integer;
    ModelObj: IMetabaseObject;
    Model: IMsModel;
    ModelPeriod: IMsModelPeriod;
Begin
    mb := MetabaseClass.Active;
    MsKey := mb.ItemById("MS").Key;
    ModelObj := mb.ItemByIdNamespace("MODEL", MsKey).Edit;
    Model := ModelObj As IMsModel;
    Model.UseModelPeriod := True;
    ModelPeriod := Model.Period;
    ModelPeriod.AutoPeriod := MsAutoPeriodOptions.IdentStartAsNow +
        MsAutoPeriodOptions.IdentEndAsNow +
        MsAutoPeriodOptions.ForecastStartAsNow +
        MsAutoPeriodOptions.ForecastEndByIdentEnd;
    ModelPeriod.IdentificationStartOffset := -10;
    ModelPeriod.IdentificationEndOffset := -1;
    ModelPeriod.UseForecastStart := True;
    ModelPeriod.ForecastStartOffset := 1;
    ModelPeriod.ForecastEndOffset := 5;
    ModelObj.Save;
End Sub UserProc;

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

Пример Fore.NET

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

Imports Prognoz.Platform.Interop.Ms;

Public Shared Sub Main(Params: StartParams);
Var
    mb: IMetabase;
    MsKey: uinteger;
    ModelObj: IMetabaseObject;
    Model: IMsModel;
    ModelPeriod: IMsModelPeriod;
    AutoPeriod: integer;
Begin
    mb := Params.Metabase;
    MsKey := mb.ItemById["MS"].Key;
    ModelObj := mb.ItemByIdNamespace["MODEL", MsKey].Edit();
    Model := ModelObj As IMsModel;
    Model.UseModelPeriod := True;
    ModelPeriod := Model.Period;
    ModelPeriod.AutoPeriod := (MsAutoPeriodOptions.msapoIdentStartAsNow As integer) +
        (MsAutoPeriodOptions.msapoIdentEndAsNow As integer) +
        (MsAutoPeriodOptions.msapoForecastStartAsNow As integer) +
        (MsAutoPeriodOptions.msapoForecastEndByIdentEnd As integer);
    ModelPeriod.IdentificationStartOffset := -10;
    ModelPeriod.IdentificationEndOffset := 0;
    ModelPeriod.UseForecastStart := True;
    ModelPeriod.ForecastStartOffset := 1;
    ModelPeriod.ForecastEndOffset := 5;
    ModelObj.Save();
End Sub;

См. также:

IMsModelPeriod