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