IMsModelPeriod.ForecastAutoEndDate

Синтаксис

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

Параметры

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

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

Описание

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

Комментарии

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

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

Пример

Для выполнения примера предполагается наличие контейнера моделирования с идентификатором 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.Transform.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;

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

См. также:

IMsModelPeriod