ForecastAutoEndDate(Calculation: IMsMethodCalculation; Coord: IMsFormulaTransformCoord): DateTime;;
ForecastAutoEndDate[Calculation: Prognoz.Platform.Interop.Ms.IMsMethodCalculation; Coord: Prognoz.Platform.Interop.Ms.IMsFormulaTransformCoord]: System.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.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;
После выполнения примера в окно консоли будут выведены границы периода расчета модели.
Для выполнения примера предполагается наличие контейнера моделирования с идентификатором «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;
После выполнения примера в окно консоли будут выведены границы периода расчета модели.
См. также: