IMsModelPeriod.ForecastEndDateParamID

Синтаксис

ForecastEndDateParamID: String;

Описание

Свойство ForecastEndDateParamID определяет идентификатор параметра, задающего дату окончания периода прогнозирования.

Комментарии

Если параметр не задан или не найден, то дату определяет свойство IMsModelPeriod.ForecastEndDate.

Значение параметра может быть:

Особенности использования числовых и строковых значений приведены в описании свойства IMsModelPeriod.IdentificationEndDateParamID.

Пример

Для выполнения примера предполагается наличие в репозитории контейнера моделирования с идентификатором «CONT_M». В данном контейнере должна присутствовать задача прогнозирования с идентификатором «PROBLEM», которая рассчитывает метамодель с идентификатором «M_MODEL». Метамодель должна включать в цепочку расчета модель с идентификатором «MODEL».

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

Sub UserProc;
Var
    mb: IMetabase;
    cm: IMetabaseObjectDescriptor;
    MetaModel: IMsMetaModel;
    pParams: IMsModelParams;
    pPar: IMsModelParam;
    pModel: IMsModel;
    pPeriod: IMsModelPeriod;
    pProb: IMsProblem;
    pSet: IMsProblemCalculationSettings;
    pCalc: IMsProblemCalculation;
Begin
    mb := MetabaseClass.Active;
    cm := mb.ItemById("CONT_M");
    MetaModel := mb.ItemByIdNamespace("M_MODEL", cm.Key).Edit As IMsMetaModel;
    pParams := MetaModel.Params;
    pParams.Clear;
// Добавляем параметры метамодели для задания начала/окончания периода идентификации
    pPar := pParams.Add;
    pPar.Id := "IDSTART";
    pPar.DataType := DbDataType.DateTime;
    pPar := pParams.Add;
    pPar.Id := "IDEND";
    pPar.DataType := DbDataType.DateTime;
    (MetaModel As IMetabaseObject).Save;
// Добавляем параметры метамодели для задания начала/окончания периода прогнозирования
    pPar := pParams.Add;
    pPar.Id := "FOSTART";
    pPar.DataType := DbDataType.DateTime;
    pPar := pParams.Add;
    pPar.Id := "FOEND";
    pPar.DataType := DbDataType.DateTime;
    (MetaModel As IMetabaseObject).Save;
    pModel := mb.ItemByIdNamespace("MODEL", cm.Key).Edit As IMsModel;
// Задаем для модели параметры, определяющие начало и окончание периода идентификации
    pPeriod := pModel.Period;
    pPeriod.IdentificationStartDateParamID := "IDSTART";
    pPeriod.IdentificationEndDateParamID := "IDEND";
// Задаем для модели параметры, определяющие начало и окончание периода прогнозирования
    pPeriod := pModel.Period;
    pPeriod.ForecastStartDateParamID := "FOSTART";
    pPeriod.ForecastEndDateParamID := "FOEND";
    (pModel As IMetabaseObject).Save;
    pProb := mb.ItemByIdNamespace("PROBLEM", cm.Key).Bind As IMsProblem;
    pSet := pProb.CreateCalculationSettings;
    pSet.FactIncluded := True;
// Задаем значение параметров и рассчитываем модель
    pSet.ParamValues.FindById("IDSTART").Value := DateTime.ComposeDay(200011);
    pSet.ParamValues.FindById("IDEND").Value := DateTime.ComposeDay(200711);
    pSet.ParamValues.FindById("FOSTART").Value := DateTime.ComposeDay(200811);
    pSet.ParamValues.FindById("FOEND").Value := DateTime.ComposeDay(201511);
    pCalc := pProb.Calculate(pSet);
    pCalc.Run;
End Sub UserProc;

После выполнения примера начало и окончание периода идентификации модели будет задано параметрами «IDSTART» и «IDEND», а начало и окончание периода прогнозирования - параметрами «FOSTART» и «FOEND».

См. также:

IMsModelPeriod