IMsModelPeriod.ForecastAutoEndDate

Синтаксис Fore

ForecastAutoEndDate(Calculation: IMsMethodCalculation; Coord: IMsFormulaTransformCoord): DateTime;;

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

ForecastAutoEndDate[Calculation: Prognoz.Platform.Interop.Ms.IMsMethodCalculation; Coord: Prognoz.Platform.Interop.Ms.IMsFormulaTransformCoord]: System.DateTime;

Параметры

Calculation. Настройки, необходимые при расчете модели.

Coord. Параметров координаты в переменной, по которой будет производиться расчет.

Описание

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

Комментарии

Признак использования условий для вычисления границ периода расчета модели возвращает свойство IMsModel.UseAutoPeriod.

Для одновременного получения всех границ расчета модели используйте метод IMsModelPeriod.AutoPeriodDates.

Пример Fore

Для выполнения примера предполагается наличие контейнера моделирования с идентификатором «CONT_MODEL», содержащего модель с идентификатором «MODEL». Границы периода расчета модели определяются условиями. Добавьте ссылки на системные сборки «Metabase», «Ms».

Sub UserProc;
Var
    mb: IMetabase;
    MsKey: Integer;
    Model: IMsModel;
    ModelPeriod: IMsModelPeriod;
    Calc: IMsMethodCalculation;
    Transform: IMsFormulaTransform;
    Coord: IMsFormulaTransformCoord;
    IdentStart, IdentEnd, ForeStart, ForeEnd: DateTime;
Begin
    mb := MetabaseClass.Active;
    MsKey := mb.ItemById("CONT_MODEL").Key;
    Model := mb.ItemByIdNamespace("MODEL", MsKey).Bind As IMsModel;
    ModelPeriod := Model.Period;
    If Model.UseAutoPeriod Then
        Calc := Model.CreateCalculation As IMsMethodCalculation;
        Transform := Model.Transform;
        Coord := Transform.CreateCoord(Transform.Outputs.Item(0));
        IdentStart := ModelPeriod.IdentificationAutoStartDate(Calc, Coord);
        IdentEnd := ModelPeriod.IdentificationAutoEndDate(Calc, Coord);
        ForeStart := ModelPeriod.ForecastAutoStartDate(Calc, Coord);
        ForeEnd := ModelPeriod.ForecastAutoEndDate(Calc, Coord);
        Debug.WriteLine("Начало идентификации: " + IdentStart.ToString);
        Debug.WriteLine("Окончание идентификации: " + IdentEnd.ToString);
        Debug.WriteLine("Начало прогнозирования: " + ForeStart.ToString);
        Debug.WriteLine("Окончание прогнозирования: " + ForeEnd.ToString);
    End If;
End Sub UserProc;

После выполнения примера в окно консоли будут выведены границы периода расчета модели.

Пример Fore.NET

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

Imports Prognoz.Platform.Interop.Ms;

Public Shared Sub Main(Params: StartParams);
Var
    mb: IMetabase;
    MsKey: uinteger;
    Model: IMsModel;
    ModelPeriod: IMsModelPeriod;
    Calc: IMsMethodCalculation;
    Transform: IMsFormulaTransform;
    Coord: IMsFormulaTransformCoord;
    IdentStart, IdentEnd, ForeStart, ForeEnd: DateTime;
Begin
    mb := Params.Metabase;
    MsKey := mb.ItemById["CONT_MODEL"].Key;
    Model := mb.ItemByIdNamespace["MODEL", MsKey].Bind() As IMsModel;
    ModelPeriod := Model.Period;
    If Model.UseAutoPeriod Then
        Calc := Model.CreateCalculation() As IMsMethodCalculation;
        Transform := Model.Transform;
        Coord := Transform.CreateCoord(Transform.Outputs.Item[0]);
        IdentStart := ModelPeriod.IdentificationAutoStartDate[Calc, Coord];
        IdentEnd := ModelPeriod.IdentificationAutoEndDate[Calc, Coord];
        ForeStart := ModelPeriod.ForecastAutoStartDate[Calc, Coord];
        ForeEnd := ModelPeriod.ForecastAutoEndDate[Calc, Coord];
        System.Diagnostics.Debug.WriteLine("Начало идентификации: " + IdentStart.ToString());
        System.Diagnostics.Debug.WriteLine("Окончание идентификации: " + IdentEnd.ToString());
        System.Diagnostics.Debug.WriteLine("Начало прогнозирования: " + ForeStart.ToString());
        System.Diagnostics.Debug.WriteLine("Окончание прогнозирования: " + ForeEnd.ToString());
    End If;
End Sub;

После выполнения примера в окно консоли будут выведены границы периода расчета модели.

См. также:

IMsModelPeriod