Отчет включает набор областей
. Представление отчета в режиме конструктора
Отчет включает набор областей (некоторые из них могут повторяться в отчете несколько раз) со следующими возможностями:
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» которого можно задать следующие установки для выделенных числовых полей:
— -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);
— отображает текущий разделитель между разрядами чисел;
Если выбрать команду Format — Section, то откроется окно «Section Expert», которое позволяет придать различные свойства областям отчета (рис. 10).
![](image/index-image010.jpg)
Окно « Section Expert» для выбора свойств областей отчета
Для исключения некоторых областей из отчета при его просмотре или печати можно скрыть их, устанавливая следующие свойства:
— скрывает область без возможности ее развертывания при просмотре, задается абсолютно либо по условию, записанному с помощью формулы;
Окно « 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.
![](image/index-image012.gif)
Окно «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)
.
![](image/index-image013.gif)
Создание нового параметрического поля
5. Щелчком по кнопке Set default values
открываем одноименное диалоговое окно (рис. 14), в котором для таблицы «Customer» выбираем поле Region и в появившемся списке регионов выбираем только названия штатов США (так как все они обозначаются двумя буквами, то отбор удобно произвести с помощью области Options и указания длины используемого текста)
.
![](image/index-image014.gif)
Формирование списка значений для параметра
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) и щелкнуть по ОК.
![](image/index-image015.gif)
Рис. 15. Выбор значения параметра из списка
6. Щелкнуть по кнопке Refresh.
Окно « Formula Editor» для создания формул.
Текст формулы может полностью набираться на клавиатуре. (Двойной щелчок мышью по одному из компонентов первых трех областей вставляет его в текст формулы.) Синтаксис набранной формулы можно проверить, щелкнув по кнопке 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 следует учитывать ряд ограничений.