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;
После выполнения примера в окно консоли будут выведены границы периода расчета модели.
См. также: