Search Results for

    Show / Hide Table of Contents

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

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

    Для работы с переменными необходимо использовать модуль 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;
    

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

    название предприятия
    р/счет
    итого
    итого ндс
    

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

    Реквизиты
      название предприятия
      р/счет
    Итоги
      итого
      итого ндс
    

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

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

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

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

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

    Back to top © 1998-2024 ООО «Быстрые отчеты»