Подготовка отчетов в Crystal Reports

         

Отчет включает набор областей


. Представление отчета в режиме конструктора
Отчет включает набор областей (некоторые из них могут повторяться в отчете несколько раз) со следующими возможностями:
Report Header содержит объекты, которые будут напечатаны в начале отчета (формулы, размещенные в этой области, вычисляются один раз в начале данного отчета; диаграммы и кросс-таблицы включают полные данные отчета);

Page Header
содержит объекты, которые печатаются в начале каждой страницы отчета (область не может содержать диаграммы и кросс-таблицы; формулы, размещенные в этой области, вычисляются один раз в начале каждой новой страницы);
Group Header содержит объекты, которые печатаются в начале каждой новой группы (диаграммы и кросс-таблицы при этом включают данные только этой группы; формулы, размещенные в этой области, вычисляются один раз в начале каждой новой группы);
Details Area содержит объекты, которые выводятся на печать для каждой новой записи базы данных (область не может содержать диаграммы и кросс-таблицы; формулы, размещенные в этой области, вычисляются один раз для каждой записи);
Group Footer содержит объекты, которые печатаются в конце каждой группы (диаграммы и кросс-таблицы при этом включают данные только этой группы; формулы, размещенные в этой области, вычисляются один раз в конце каждой группы);
Report Footer содержит объекты, которые будут напечатаны в конце отчета (формулы, размещенные в этой области, вычисляются один раз в самом конце отчета; диаграммы и кросс-таблицы включают полные данные отчета);
Page Footer содержит объекты, которые печатаются в конце каждой страницы отчета (область не может содержать диаграммы и кросс-таблицы; формулы, размещенные в этой области, вычисляются один раз в конце каждой страницы).
Каждая область имеет одну или несколько направляющих, по которым выполняется выравнивание объектов. Однако для объектов, основанных на тексте, выравнивание происходит иначе, чем для OLE-объектов. Выравнивание текстовых объектов выполняется по базовой линии текста, а не по его рамке. Базовая линия отображается специальными маркерами красного цвета внутри рамки объекта и может быть расположена различным образом в зависимости от размера шрифта.


. Вкладка «Number» окна «Custom Style»



для специального форматирования чисел
Если на вкладке «Number» окна « Format Editor» выполнить щелчок по кнопке Customize, то откроется окно «Custom Style» (рис. 9), на вкладке «Number» которого можно задать следующие установки для выделенных числовых полей:
  • флажок Use Accounting Format — задает применение установок, соответствующих бухгалтерскому формату;

  • флажок Suppress if Zero — отменяет печать нулевых значений;

  • раскрывающийся список Decimals — задает от 0 до 10 значащих цифр в дробной части;

  • раскрывающийся список Rounding — округляет числа с заданной точностью;

  • раскрывающийся список Negatives — определяет представление отрицательных чисел;

  • — -1.23 печатает знак минус перед числом: -100.00, -225.73, -1,000,000;
    — 1.23- печатает знак минус после числа: 100.00-, 225.73-, 1,000,000.00-;
    — (1.23) печатает отрицательные числа в скобках: (100.00), (225.73), (1,000,000);
  • флажок Reverse Sign for Displaying — изменяет знак приходных и расходных статей в финансовых отчетах;

  • флажок Allow Field Clipping — позволяет укорачивать значения в поле, если оно не помещается в заданный размер. В противном случае в поле отображается набор #####, указывающий на необходимость изменения размера поля;

  • поле Decimal separator — разрешает задать любой разделитель для дробной части числа;

  • флажок Thousands Separator — позволяет задать разделитель между разрядами чисел;

  • поле Symbol
    — отображает текущий разделитель между разрядами чисел;

  • флажок Leading Zero — для печати нуля в целой части числа;

  • раскрывающийся список Show Zero Values as — содержит возможные представления нулевого значения.

  •     Если выбрать команду Format — Section, то откроется окно «Section Expert», которое позволяет придать различные свойства областям отчета (рис. 10).




    Окно « Section Expert» для выбора свойств областей отчета
    Для исключения некоторых областей из отчета при его просмотре или печати можно скрыть их, устанавливая следующие свойства:
  • Suppress Blank Section — позволяет скрыть область, если в ней ничего нет;

  • Suppress (No Drill-Down)
    — скрывает область без возможности ее развертывания при просмотре, задается абсолютно либо по условию, записанному с помощью формулы;

  • Hide (Drill-Down OK) — позволяет скрыть область, но показывает специальный курсор для ее развертывания и просмотра, задается только абсолютным образом.

  •  


    Окно « Highlighting Expert» для условного форматирования
    При проектировании отчета требуется определить, какие поля должны быть включены в его состав, и в каких областях отчета размещены. Их включение, удаление и редактирование выполняется с помощью окна «Field Explorer» (рис. 12), которое вызывается командами: Database Field, Formula Field, Parameter Field, Special Field, Running total field, SQL Expression Field, входящими в меню Insert. В этом окне представлена иерархическая структура полей отчета и таблиц базы данных, являющихся его основой. Если поле представлено в отчете или используется в других его полях, то оно будет помечено специальным знаком. Для вставки поля в отчет его имя нужно выделить в окне «Field Explorer», щелкнуть по кнопке Insert to Report,
    расположенной на панели инструментов этого окна, а затем щелкнуть на требуемой позиции области отчета. Для просмотра существующих значений вставляемого поля используется соседняя кнопка Browse.




    Окно «Field Explorer», позволяющее управлять полями отчета
    Параметрические поля позволяют пользователю вводить дополнительную информацию перед представлением отчета и, следовательно, использовать один и тот же отчет для получения его различных вариантов по значениям базы данных.
    Параметрические поля можно использовать как в самом отчете, так и в его формулах или фильтрах, а также в подчиненных отчетах. Ввод каждого параметра предваряется подсказкой, не превышающей 254 символов, размещаемых в строках длиной 60-70 символов. Для ввода параметра можно создать список значений, из которого пользователь будет выбирать нужное при формировании отчета.
    Для создания параметрического поля следует сделать следующее.

    1. Открыть отчет, сохраненный в файле REPORT2.RPT, и перейти на вкладку Design.

        2. Выбрать команду Insert — Parameter Field.

        3. В окне «Field Explorer» выделить строку Parameter Fields и щелкнуть по кнопке New.

        4. В окне «Create Parameter Field» (рис. 13) ввести имя параметра, текст подсказки и выбрать тип значений (используем String)
    .




    Создание нового параметрического поля
    5. Щелчком по кнопке Set default values
    открываем одноименное диалоговое окно (рис. 14), в котором для таблицы «Customer» выбираем поле Region и в появившемся списке регионов выбираем только названия штатов США (так как все они обозначаются двумя буквами, то отбор удобно произвести с помощью области Options и указания длины используемого текста)
    .




    Формирование списка значений для параметра
    6. Щелчком по кнопке ОК закрываем оба окна.

    7. В окне «Field Explorer» выделяем поле Region и мышью переносим его в одну из областей отчета, а затем закрываем окно щелчком по кнопке Close.
    Теперь параметр необходимо связать с полем отчета, для чего следует выполнить ряд действий.

        1. Выбрать команду Report — Select Expert или щелкнуть по одноименной кнопке стандартной панели инструментов.

        2. В открывшемся окне «Choose Field» выделить поле Region таблицы «Customer» и щелкнуть по ОК.

        3. В окне «Select Expert» выбрать в раскрывающемся списке условие is equal to, а в дополнительном списке справа выбрать поле параметра Region. Щелкнуть по кнопке ОК.

        4. Перейти в режим предварительного просмотра отчета на вкладку Preview.

        5. В окне «Enter Parameter Values» в раскрывающемся списке выбрать одно из значений параметра (рис. 15) и щелкнуть по ОК.


    Рис. 15. Выбор значения параметра из списка
    6. Щелкнуть по кнопке Refresh.


    Окно « Formula Editor» для создания формул.
  • область Field Tree, отображающую поля таблиц, поля групп и формулы, используемые в отчете,

  • область Function Tree, содержащую список встроенных функций Crystal Reports,

  • область Operator Tree со списком операций, используемых для создания формул,

  • область Formula Text Window, в которой выполняется редактирование текста формулы.

  • Текст формулы может полностью набираться на клавиатуре. (Двойной щелчок мышью по одному из компонентов первых трех областей вставляет его в текст формулы.) Синтаксис набранной формулы можно проверить, щелкнув по кнопке Check. Если ошибок нет, то формулу сохраняют, используя кнопку Save and Close.
    Чтобы вставить формулу в отчет, следует дважды щелкнуть по ней в окне «Field Explorer» и щелкнуть по желаемой позиции в области отчета. Формула, вставленная в отчет, помечается символом @. При удалении формулы из отчета сначала удаляются все поля этой формулы в областях отчета, а затем ее описание с заданным именем.
    Можно использовать справку для создания часто используемых формул. Раздел справки «Formulas in Action» содержит 17 вариантов различных формул, которые после копирования в окно «Formula Editor» можно отредактировать.
    В формулах Crystal Reports можно использовать как собственный синтаксис Crystal Syntax, так и синтаксис Visual Basic. При этом можно использовать не только встроенные функции, определенные в этих языках, арифметические и логические операторы, но также операторы ветвления (If _ Then _ Else и Select _ Case) и операторы цикла (While _ Do, Do _ While и For loop).
    При создании формул в Crystal Reports следует учитывать ряд ограничений.
  • Максимальная длина текстового константа, текстового поля или элемента массива — 254 символа.

  • Максимальный размер массива — 1000 элементов.

  • Максимальное число аргументов функции до 1000.

  • Максимальная длина текста формулы — 64 Кбайт.

  • Максимальное число циклов вычисления формулы — 30000.

  • Функции даты-времени принимают года в диапазоне от 1 до 9999.

  •  

    Содержание раздела