IMsModelCalendarBreakpoint.IsCalendarPointFixed

Синтаксис

IsCalendarPointFixed: Boolean;

Описание

Свойство IsCalendarPointFixed возвращает признак того, определена ли календарная точка для точки останова.

Комментарии

Календарная точка определяется значением свойства IMsModelCalendarBreakpoint.CalendarPoint. Если она определена, то IsCalendarPointFixed возвращает значение True. Точка останова будет срабатывать только для указанной даты. Для сброса календарной точки используйте метод IMsModelCalendarBreakpoint.RemoveCalendarPointFix.

Если календарная точка не задана, то IsCalendarPointFixed возвращает значение False. Точка останова будет срабатывать для каждой календарной точки расчета.

Пример

Для выполнения примера предполагается наличие в репозитории контейнера моделирования с идентификатором «MODEL_SPACE». В данном контейнере должна присутствовать задача моделирования с идентификатором «PROBLEM», рассчитывающая модель с идентификатором «MODEL». В примере используется класс MCallback, описание которого приведено в IMsProblemCalculationCallback.OnBreak.

Также перед выполнением процедуры необходимо добавить ссылки на системные сборки «Metabase», «Ms».

Sub Main;

Var

Mb: IMetabase;

ModelSpaceDescr: IMetabaseObjectDescriptor;

Problem: IMsProblem;

CalcSettings: IMsProblemCalculationSettings;

CallBack: MCallback;

Calculation: IMsProblemCalculation;

Breakpoints: IMsBreakpoints;

Breakpoint: IMsBreakpoint;

CalendarBreakpoint: IMsModelCalendarBreakpoint;

Model: IMsModel;

Begin

Mb := MetabaseClass.Active;

ModelSpaceDescr := Mb.ItemById("MODEL_SPACE");

Problem := Mb.ItemByIdNamespace("PROBLEM", ModelSpaceDescr.Key).Edit As IMsProblem;

CalcSettings := Problem.CreateCalculationSettings;

CallBack := New MCallback.Create;

CalcSettings.Callback := CallBack;

CalcSettings.FactIncluded := True;

Calculation := Problem.Calculate(CalcSettings);

Breakpoints := Calculation.Breakpoints;

Breakpoints.Clear;

Breakpoint := Breakpoints.Add(MsBreakpointKind.ModelCalendar);

CalendarBreakpoint := Breakpoint As IMsModelCalendarBreakpoint;

CalendarBreakpoint.Name := "CalendarBreakpoint";

Model := Mb.ItemByIdNamespace("MODEL", ModelSpaceDescr.Key).Edit As IMsModel;

CalendarBreakpoint.Model := Model;

If CalendarBreakpoint.IsCalendarPointFixed Then

CalendarBreakpoint.RemoveCalendarPointFix;

End If;

Calculation.Run;

End Sub Main;

После выполнения примера для задачи будет установлена точка останова, срабатывающая для каждой календарной точки расчета модели.

См. также:

IMsModelCalendarBreakpoint