ITabOptions.IterativeCalculation

Синтаксис

IterativeCalculation: Boolean;

Описание

Свойство IterativeCalculation определяет, будут ли использоваться итеративные вычисления, разрешающие вычисление ячеек, содержащих формулы с циклическими ссылками. При значении True будут использоваться итеративные вычисления, при значении False - нет.

Комментарии

По умолчанию свойство имеет значение False.

При установке свойства в True происходит вычисление формул. При смене параметров итеративного расчета (MaxChange, MaxIterations) при включенном итеративном расчете происходит автоматическое перевычисление формул.

Разрешение циклических ссылок ведется в рамках одного листа. Например, если в ячейках указаны циклические формулы, ссылающиеся на значения ячеек других листов, то даже и при включении итеративного режима будет отображена ошибка «Обнаружены циклические ссылки».

Если при установке формулы в ячейку появляется цикл и включено итеративное вычисление циклических ссылок, то начальное значение этой ячейки считается равным нулю. При включенном режиме при каждом вычислении отчета будет производиться выполнение цикла с заданными параметрами. Цикл заканчивается при достижении предельного числа итераций (MaxIterations) или когда изменение значения величины каждой ячейки становится меньше относительной погрешности (MaxChange).

В регламентном отчете данная настройка может иметь отличные значения для разных листов, поэтому при работе с листами и этими настройками из интерфейса следует учитывать ряд особенностей.

Пример

Для выполнения примера на форме должны быть расположены компоненты: UiTabSheet с идентификатором «UiTabSheet1» и компонента TabSheetBox - «TabSheetBox1». Для TabSheetBox1 в качестве источника (Source) используется компонент UiTabSheet1.

Sub UserProc;
Var
    Tab : ITabSheet;
    Options: ITabOptions;
Begin
    Tab := UiTabSheet1.TabSheet;
    Options := Tab.Options;
    Options.IterativeCalculation := True;
    Options.MaxIterations := 10;
    Options.MaxChange := 0.01;
End Sub UserProc;

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

См. также:

ITabOptions