Работа со списком переменных

Top  Previous  Next

Переменные были подробно рассмотрены в соответствующей главе руководства пользователя. Кратко напомним суть. В отчете можно определить одну или несколько переменных. Каждой переменной можно присвоить значение или выражение, которое будет автоматически вычисляться при обращении к переменной. Переменные можно визуально вставлять в отчет, пользуясь окном "Дерево данных". Переменные удобно использовать для замещения сложных выражений, которые часто используются в отчете.

 

Для работы с переменными необходимо использовать модуль frxVariables. Переменная представлена классом TfrxVariable.

 

TfrxVariable = class(TCollectionItem)

published

   property Name: String;

Имя переменной

 

   property Value: Variant;

Значение переменной

end;

 

 

Список переменных представлен классом TfrxVariables. Он содержит все необходимые методы для работы со списком.

 

TfrxVariables = class(TCollection)

public

   function Add: TfrxVariable;

Добавляет переменную в конец списка

 

   function Insert(Index: Integer): TfrxVariable;

Добавляет переменную в указанную позицию списка

 

   function IndexOf(const Name: String): Integer;

Возвращает индекс переменной с заданным именем

 

   procedure AddVariable(const ACategory, AName: String; const AValue: Variant);

Добавляет переменную в заданную категорию

 

   procedure DeleteCategory(const Name: String);

Удаляет категорию и все ее переменные

 

   procedure DeleteVariable(const Name: String);

Удаляет переменную

 

   procedure GetCategoriesList(List: TStrings; ClearList: Boolean = True);

Возвращает список категорий

 

   procedure GetVariablesList(const Category: String; List: TStrings);

Возвращает список переменных в заданной категории

 

   property Items[Index: Integer]: TfrxVariable readonly;

Список переменных

 

   property Variables[Index: String]: Variant; default;

Значения переменных

 

end;

 

 

Если список переменных велик, удобно сгруппировать его по категориям. Например, имея список переменных:

 

название предприятия

р/счет

итого

итого ндс

 

мы можем представить его в виде:

 

Реквизиты

название предприятия

р/счет

Итоги

итого

итого ндс

 

Имеются следующие ограничения:

 

- обязательно наличие хотя бы одной категории

- категории образуют первый уровень дерева данных, переменные - второй

- категории не могут быть вложенными

- имена переменных должны быть уникальны в пределах всего списка, а не в пределах категории