crystal reports

25
Шаг 1 - Зачем нужны генераторы отчетов? В наше время в различных организациях, фирмах, и т.д. компьютеры перерабатывают массу всяческой информации. И хоть фантасты давно уже предсказывают безбумажную эру, но похоже, что до нее еще ох как далеко… И если вы работаете IT специалистом, то о результатах вашего труда чаще судят не по тому, что творится внутри компьютера, а по стопке отпечатанных документов, ложащихся на стол руководителя. Итак… В компьютере имеется некоторая информация (как правило она находится в базе данных). Нам нужно сделать следующее: 1. Отобрать необходимые данные, произвести их сортировку и группировку; 2. Произвести кое-какие вычисления (например, промежуточных и общих итогов); 3. Добавить заголовки, комментарии, справки, и.т.д.; 4. Разместить все это на печатной странице и отформатировать (красиво!); 5. Напечатать отчет на принтере (отправить по факсу, e-mail) Существует несколько способов произвести указанные действия: 1. Написать указанные процедуры с использованием любого языка программирования, используя доступ к данным на уровне системы. Способ универсальный, но требует больших затрат труда и времени. 2. Использовать механизм OLE-автоматизации с текстовым редактором или электронной таблицей (например Word или Excel). Этот способ требует несколько меньших усилий от программиста, но сильно грузит компьютер и кроме того, требует наличия самих текстового редактора или электронной таблицы. 3. Использовать генератор отчетов – специализированную программу, позволяющую методами визуального программирования создать отчет и интегрировать его в вашу программу. Генераторы отчетов существуют как в виде самостоятельных программ, так и в виде генераторов отчетов встроенных в СУБД или среды разработки. Среди последних можно вспомнить генераторы отчетов Microsoft Access, FoxPro, . Встроенный генератор отчетов под названием DataReport имеется в составе Visual Basic 6. Аналогичные инструменты имеются в Delphi и других средах разработки. Среди генераторов отчетов – самостоятельных программ можно вспомнить, например, программы VSREPORT и Data Reporter фирмы VideoSoft. Но самым мощным генератором отчетов, ставшим де-факто стандартом, несомненно является Crystal Reports фирмы Seagate. На момент написания шага последней версией Crystal Reports является версия 8, которой у автора еще нет. Поэтому в цикле статей будет описываться версия 7, которую используют многие разработчики. Совместно с Visual Basic поставляется Crystal Reports версии 4.6. Многое из описанного далее справедливо и для этой версии, но ее возможности ограничены. Шаг 2 - Crystal Reports – един в нескольких лицах

Upload: daria-ars

Post on 28-Nov-2014

487 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Crystal Reports

Шаг 1 - Зачем нужны генераторы отчетов?

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

Итак… В компьютере имеется некоторая информация (как правило она находится в базе данных). Нам нужно сделать следующее:

1. Отобрать необходимые данные, произвести их сортировку и группировку; 2. Произвести кое-какие вычисления (например, промежуточных и общих итогов); 3. Добавить заголовки, комментарии, справки, и.т.д.; 4. Разместить все это на печатной странице и отформатировать (красиво!); 5. Напечатать отчет на принтере (отправить по факсу, e-mail)

Существует несколько способов произвести указанные действия:

1. Написать указанные процедуры с использованием любого языка программирования, используя доступ к данным на уровне системы. Способ универсальный, но требует больших затрат труда и времени. 2. Использовать механизм OLE-автоматизации с текстовым редактором или электронной таблицей (например Word или Excel). Этот способ требует несколько меньших усилий от программиста, но сильно грузит компьютер и кроме того, требует наличия самих текстового редактора или электронной таблицы. 3. Использовать генератор отчетов – специализированную программу, позволяющую методами визуального программирования создать отчет и интегрировать его в вашу программу.

Генераторы отчетов существуют как в виде самостоятельных программ, так и в виде генераторов отчетов встроенных в СУБД или среды разработки. Среди последних можно вспомнить генераторы отчетов Microsoft Access, FoxPro, 1С. Встроенный генератор отчетов под названием DataReport имеется в составе Visual Basic 6. Аналогичные инструменты имеются в Delphi и других средах разработки.

Среди генераторов отчетов – самостоятельных программ можно вспомнить, например, программы VSREPORT и Data Reporter фирмы VideoSoft. Но самым мощным генератором отчетов, ставшим де-факто стандартом, несомненно является Crystal Reports фирмы Seagate.

На момент написания шага последней версией Crystal Reports является версия 8, которой у автора еще нет. Поэтому в цикле статей будет описываться версия 7, которую используют многие разработчики.

Совместно с Visual Basic поставляется Crystal Reports версии 4.6. Многое из описанного далее справедливо и для этой версии, но ее возможности ограничены.

Шаг 2 - Crystal Reports – един в нескольких лицах

Компания Seagate Software (сейчас она носит название Crystal Decisions) позиционирует Crystal Reports как программу для трех категорий пользователей:

1. Специалисты в области экономики (менеджеры, аналитики, руководители разного уровня), которым необходимы отчеты для принятия решений. 2. IT – специалисты, которым необходимо встраивать отчеты в их собственные приложения. 3. Web–мастеры, которым необходимо публиковать в Internet информацию из баз данных.

Первая категория пользователей (с точки зрения Seagate Software) является основной. При этом они должны уметь не только пользоваться отчетами, но и самостоятельно создавать их. Для этого Crystal Reports предоставляет следующие возможности:

1. Мощный визуальный конструктор отчетов, включающий:

Page 2: Crystal Reports

o привычный пользователям Windows интерфейс; o средства визуального конструирования способом drag&drop; o средства просмотра содержимого полей баз данных; o мощные средства форматирования; o визуальный конструктор формул; o средства предварительного просмотра созданного отчета, причем правку можно производить непосредственно в окне просмотра; o т.н. эксперты - блоки диалогов, позволяющие очень легко производить операции отбора, сортировки и группировки записей; o программы - мастера, производящие операции: подключения к базе данных, связывание записей из нескольких таблиц, построение отчета по шаблону; o возможность прямо в редакторе обновить записи и изменить источник данных отчета.

2. Средства распространения созданных отчетов: o при установке Crystal Reports на компьютер пользователя на нем может быть установлено его собственное серверное программное обеспечение, позволяющее распространять отчеты по сети (локальной или глобальной); o клиентское программное обеспечение, включающее средства навигации и вьювер. При этом имеется возможность обновлять записи в просматриваемом отчете; o возможность компиляции отчета. При этом получается exe - файл, содержащий отчет и вьювер «в одном флаконе», и не требующий для распространения никакого другого программного обеспечения. При этом, естественно, отсутствует возможность обновления записей в отчете. o возможность экспорта созданного отчета во множество форматов: текстовый, rtf, doc, xls, html и другие; o печать отчета и отправка его по e-mail возможна как непосредственно из редактора, так и из любого из вьюверов

Вторая категория пользователей. Во–первых, подразумевается, что эта категория должна знает то, что знает первая. Во–вторых, для разработчиков программного обеспечения Windows предоставляются средства интегрирования отчетов в их приложения. И хотя имеется возможность работы практически с любым языком программирования, наиболее тесно Crystal Reports связан с Visual Basic.

Итак, средства для программистов:

элемент ActiveX. Инкапсулирует вьювер отчетов с основными методами. Позволяет наиболее просто интегрировать отчет в приложение; компонент Report Designer. На настоящий момент является самым продвинутым методом интеграции. Его особенности:o полностью поддерживает модель COM. Интегрируется с многими средами разработки ПО: Visual Basic, Visual C++, Delphi, Microsoft Office и др.o позволяет производить разработку отчетов непосредственно в среде IDE;o предоставляет программисту практически все имеющиеся в среде Crystal Reports функции.

Компонент Report Engine Automation Server. Программно предоставляет функции Crystal Reports. Seagate не рекомендует использовать данный компонент в новых разработках. Компонент Report Engine API. Предоставляет программисту набор низкоуровневых функций.

Третья категория пользователей. Здесь также подразумевается, что эта категория должна знать то, что знает первая. Для интеграции отчетов в Web Crystal Reports предлагает следующие способы:

Экспорт отчета в статический HTML файл. Самый простой, но и самый ограниченный по возможностям. Использование Web Component Server. Этот метод требует установки на Web – сервере специального компонента из комплекта поставки Crystal Reports. Способ обеспечивает большинство функций Crystal Reports, в том числе разработку отчета на удаленном компьютере в режиме реального времени. Требует минимальных знаний программирования в среде Web. Использование компонента Report Designer совместно с Visual Basic или <>для создания asp - страничек. Самый сложный с точки зрения программирования способ, обеспечивающий при этом максимальную гибкость.

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

Page 3: Crystal Reports

Шаг 3 - Перед началом работы.

При инсталляции Crystal Reports на компьютер устанавливается несколько программ. Сейчас нас интересует основной компонент пакета – Crystal Report Designer.

При запуске конструктора отчетов он спрашивает, что вы хотите сделать: создать новый отчет или открыть существующий? (потом показ этого окна можно отключить) При первом запуске я все же рекомендую нажать кнопку Cancel. Открывшееся главное окно содержит привычные по многим программам меню и панели инструментов "Стандартная" и "Форматирование".

Идем в меню File->Options, откроется окно Options, в котором можно настроить параметры IDE.

Нажимаем на вкладку Fonts.

Page 4: Crystal Reports

На данной вкладке имеется пять кнопок, которые открывают диалог установки шрифта по умолчанию для следующих объектов:

Fields – устанавливает шрифт, которым будет отображаться содержимое полей баз данных; Summary Fields – полей итоговых значений; Group Name Fields – заголовки групп; Text Objects – шрифт для текстовых объектов и специальных полей; Field Titles – заголовки полей.

Если вы живете в России (Белоруссии, на Украине, в Болгарии) НАСТОЯТЕЛЬНО РЕКОМЕНДУЮ: перед началом работы установите на этой вкладке по умолчанию кириллические шрифты (поможет избежать нечитабельных "кракозябов"). Остальные настройки можно будет сделать позже, когда разберетесь с программой.

Шаг 4 - Начинаем работать с программой

Для того, чтобы приступить к разработке нового отчета, необходимо выбрать пункт меню File->New, или нажать на соответствующую кнопку панели инструментов. При этом появится окно Report Gallery:

Page 5: Crystal Reports

Это же окно появляется на экране, если при запуске программы в окне Welcome нажать кнопку New report. Данная форма содержит:

Восемь кнопок, запускающих эксперты – мастера, позволяющие быстро, за несколько шагов, создать отчет на базе стандартного шаблона. Предлагаются следующие шаблоны:

Standard – стандартный отчет, в котором данные отсортированы, сгруппированы, имеются промежуточные и общие итоги, а также могут содержаться графические объекты и диаграммы; Form Letter – отчет в виде простого списка, в котором необязательны итоги; Form – отчет, у которого в качестве фона может использоваться графический рисунок; Cross – Tab – создает отчет в виде перекрестной таблицы; Subreport – отчет, в который включены "дочерние" отчеты, причем записи в "дочернем" отчете могут быть связаны с данными основного отчета, а могут быть и не зависимыми от них; Mail Label – эксперт "почтовых наклеек", который формирует отчет в виде последовательности бланков с данными (в одну или несколько колонок);

Следующие два вида шаблонов предназначены для создания отчетов, предназначенных для просмотра в электронном виде (хотя и для них имеется возможность печати):

Drill Down – «раскрывающийся отчет», который в исходном виде содержит только итоговые значения, но с помощью двойного щелчка на соответствующем значении итогов раскрывается секция данных (точно так же ее можно скрыть); OLAP – (online analytical processing), средство создания многомерных отчетов для сложного анализа данных.

Кнопка Another Report – позволяет использовать в качестве шаблона существующий отчет;

Кнопка Document Import Tool – если у вас существует отчет, выполненный, например, в виде простого текста или HTML, позволяет произвести его импорт в формат Crystal Reports.

Внизу справа на форме находится кнопка Custom>>>. После ее нажатия Report gallery изменяет свой вид:

Открываются дополнительные кнопки, позволяющие создать пользовательский отчет. При этом необходимо выбрать одновременно тип отчета и источник данных. Предоставляется три типа источников данных:

Data File – подключение к обычным "настольным", базам данных, электронным таблицам, текстовым источникам и.т.д.;

Page 6: Crystal Reports

SQL/ODBS – подключение к базам данных SQL/ODBS; Dictionary – "словарь данных", специфический для Crystal Reports источник, являющийся «средним слоем» между реальными данными и Crystal Reports, что позволяет объединять данные из разных (в том числе и не реляционных) источников в одном файле словаря, а также решать проблемы прав доступа и безопасности.

Шаг 5 - Создание отчета с помощью эксперта

Если кто работал с мастером отчетов Microsoft Access, то работа эксперта Crystal reports покажется ему очень знакомой. Для примера я использовал широко известную базу данных BIBLIO.MDB. Итак: в окне Report Gallery жмем кнопку Standard. Открывается первое окно эксперта, в котором предлагается выбрать источник данных:

Для выбора типа источника данных необходимо нажать на соответствующую кнопку в левой части формы. При этом откроется стандартный диалог для выбора (или построения) конкретного источника данных или файла. В одном отчете могут быть данные из нескольких источников и/или файлов. Если нажать кнопку Data File, откроется стандартный диалог выбора файла. Выбираем файл BIBLIO.MDB. После выбора файла *.mdb появляется окно со списком объектов (таблиц и запросов) выбранной базы данных:

Page 7: Crystal Reports

(это окно не появляется при выборе файлов *.dbf)

Здесь необходимо выбрать объекты, данные из которых будут вставляться в отчет. Множественный выбор осуществляется мышью при нажатой кнопке Ctrl. После нажатия кнопки OK выбранные объекты вставляются в список эксперта, а диалог выбора файла остается на экране, предоставляя возможность добавления в отчет новых файлов. После закрытия диалога выбора файла эксперт сразу же переходит на вторую закладку:

Page 8: Crystal Reports

На этой закладке в графической форме отображаются выбранные таблицы (запросы) и связи между ними. В этом окне методом drag&drop можно установить новые связи или удалить старые. Нажав на кнопку Smart Linking можно поручить Crystal Reports самому определить связи между таблицами. Однако практика показывает, что лучше делать это вручную.

Иногда после первого шага вторая вкладка оказывается пустой (и об этом выводится предупреждение). Это не значит, что таблицы не добавлены в отчет, а просто отключен их показ. Включить показ таблиц (а в случае необходимости отключить) можно нажав на кнопку Tables... Появится окно выбора отображаемых таблиц:

В этом окне имеется два списка: отображаемых и неотображаемых таблиц и кнопки для их перемещения.

После установки связей между таблицами можно переходить к следующему шагу.

Шаг 6 - Создание отчета с помощью эксперта, часть 2

Жмем кнопку Next>>. Открывается третье окно эксперта:

Page 9: Crystal Reports

Эта вкладка эксперта в левой части содержит список доступных полей таблиц в виде древовидной структуры, а в правой части – список выбранных полей. Между списками находятся кнопки, позволяющие перемещать выделенные поля из одного списка в другой. От пользователя на данном этапе требуется поместить выбранные поля в правый список. Кнопками со стрелками вверх и вниз можно изменить порядок следования полей в отчете, а в текстовом поле Column Heading (расположено под правым списком) установить заголовок выбранного поля в отчете.

Кнопка Browse Data... позволяет еще до создания отчета просмотреть данные поля, выбранного в левом списке.

Очень часто в отчете требуется произвести вставку полей, вычисляемых на основе других полей базы данных, или произвести какие-то действия над их содержимым. Например, по значения полей "цена" и "количество" рассчитать значение поля "сумма", или в булевом поле вместо абстрактных True и False вставить что-то более вразумительное, например "оплачено" и "не оплачено". Crystal Reports позволяет производить эти и многие другие действия с помощью механизма формул. Для вставки в отчет формул необходимо на данном этапе нажать кнопку Formula..., при этом откроется редактор формул. Синтаксис формул и возможности редактора мы обсудим позже, а пока ограничимся констатацией факта их наличия.

Как только в левый список будет помещено хотя бы одно поле, внизу формы становятся активными три кнопки: Design Report, Preview Sample и Preview Report. Эти кнопки позволяют прервать работу эксперта, и продолжить работу над отчетом в "ручном" режиме. Нажатие кнопки Design Report открывает отчет в окне конструктора, других кнопок – в окне предварительного просмотра. Вся разница заключается в том, что при нажатии кнопки Preview Sample у вас спросят количество выводимых записей, а при нажатии кнопки Preview Report – нет.

Если же хотите продолжить работу с экспертом, жмите кнопку Next>>.

Шаг 7 - Создание отчета с помощью эксперта, часть 3

Сейчас вот убедился, что выбор в качестве примера базы данных BIBLIO.MDB неудачен. Дальше буду использовать не менее популярную NWIND.MDB.

Page 10: Crystal Reports

Итак, на первых трех шагах эксперта мы:

Выбрали источник данных; Выбрали таблицы и/или запросы; Выбрали поля для отображения в отчете.

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

Четвертый шаг эксперта позволяет определить поля, по которым будет производиться сортировка:

Эта страничка также содержит два списка: слева - с доступными полями, справа - с полями, выбранными для сортировки. Сортировка производится в порядке следования полей в правом списке. Кроме того, на страничке находится раскрывающийся список Order, в котором можно выбрать порядок сортировки записей в том или ином поле. Поддерживаются следующие виды сортировки:

Восходящий порядок (ascending order) – текстовые поля: сначала цифры 0..9, пробел, специальные знаки, латинский алфавит a..z, кириллица а..я, числовые поля и поля даты/времени в порядке возрастания значения; Нисходящий порядок (descending order) – порядок сортировки, обратный восходящему; Особый порядок (Specified order) – порядок сортировки определяется пользователем (подробнее поговорим позже); Оригинальный порядок (Original order) – записи выводятся в отчет в том же порядке, в котором они находятся в базе данных.

Пятая страничка эксперта позволяет определить поля, по которым будет производиться подсчет итогов:

Page 11: Crystal Reports

От предыдущих страничек здесь имеется два отличия:

Если в предыдущих страницах правый список в момент открытия пуст, то здесь Crystal Reports автоматически помещает туда поля, по которым он в состоянии подвести итоги. Имеется комбинированный список с перечнем функций, которые применимы к набору записей в выделенном поле.

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

Следующая страничка эксперта позволяет определить количество записей, помещаемых в отчет:

Page 12: Crystal Reports

Возможные варианты:

Все записи; N первых записей; N последних записей.

Еще раз хочу напомнить: вы можете в любой момент прервать работу эксперта и прейти в «ручной» режим нажав на одну из кнопок: Design report, Preview Sample, Preview Report.

Шаг 8 - Создание отчета с помощью эксперта, часть 4

Итак, если продолжаем работать с экспертом, жмем Next>>. Следующая страничка позволяет вставить в отчет графические объекты:

Page 13: Crystal Reports

Фактически, на этой страничке расположен еще один, "встроенный" эксперт, позволяющий создавать диаграммы. Если у вас есть опыт создания диаграмм, например в Excel, вы без труда разберетесь в его работе.

Если же вам не хватает возможностей эксперта, поставьте отметку Custom Chart и нажмите кнопку Chart Editor. Запустится редактор диаграмм Crystal Reports, возможности которого гораздо шире:

Page 14: Crystal Reports

Если сейчас остановить работу эксперта, отчет будет сформирован, и в него войдут ВСЕ данные из выбранного источника, и отчет обычно получается слишком объемным. Следующая страничка эксперта позволяет отобрать только интересующие вас данные:

На страничке снова два списка. В правый список добавляем поля, по которым будет производится отбор данных. Слева внизу имеются два комбинированных списка, позволяющих установить критерий выбора данных выбранного поля. Значения в этих комбинированных списках зависят от типа выбранного поля (числовое, строковое или дата). После выбора значений в комбинированных списках на страничке открываются дополнительные элементы управления (текстовые поля или комбинированные списки), в которых можно ввести значения критериев отбора. Например, на следующем рисунке показан вид странички после выбора критерия “is between” ("находится между") для поля с типом "Дата/Время":

Page 15: Crystal Reports

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

Шаг 9 - Создание отчета с помощью эксперта – окончание

Вот мы и добрались до последней странички эксперта.

Page 16: Crystal Reports

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

В поле Title: можно ввести заголовок отчета, а нажав кнопку Add picture, such as company logo вставить в отчет рисунок.

Если все готово, жмем кнопку Preview Report, и любуемся своим произведением:

Page 17: Crystal Reports

Полученный отчет можно сохранить (файлы отчетов имеют расширение .rpt), распечатать, отправить по e-mail и т.д.

Итак, с помощью программы-эксперта (еще раз напомню, что в других программах аналогичные средства называются мастерами) мы создали готовый отчет. Конечно, такой отчет удовлетворит далеко не любого пользователя. Но эксперт и предназначен для оперативного создания отчетов. Если же вы хотите создать "высокохудожественное" произведение, отчет надо создавать вручную. Об этом и поговорим в следующий раз.

Шаг 10 - Начинаем создание отчета вручную

Если вы решили создать отчет "с нуля", собственными руками, в появившемся окне Report Gallery (см. "Шаг 4 - Начинаем работать с программой") жмите кнопку Custom >>>. На "расширенной" части Report Gallery нажмите кнопку выбранного типа отчета, а затем – вида источника данных (важно соблюдать именно такую последовательность). Запустится уже знакомый вам эксперт (см. "Шаг 5 - Создание отчета с помощью эксперта"), который проведет вас по двум первым шагам: выбор таблиц и установка связей. После второго шага эксперт закончит свою работу, оставив вас один на один со средой разработки:

Page 18: Crystal Reports

По окончании работы эксперта на экране отображается окно Insert Fields. Если это окно закрыто, его можно открыть через меню Insert->Database Field…, или нажав кнопку на панели инструментов.

После начала создания отчета на вкладке Design по умолчанию формируется пять секций:

Секция Место вставки Состав секции

Report Header(заголовок отчета)

Один раз в начале отчета Титульная страница, логотип, вводная информация, сведения, которые нужно вставить один раз в начале отчета.

Page Header(заголовок страницы)

Вверху каждой страницы Заголовки полей, дата/время создания или печати отчета, заголовок отчета

Details(подробности) При каждом чтении/новой записи из базы данных

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

Report Footer(колонтитул отчета)

Один раз в конце отчета Общие итоги, другие сведения, применимые к отчету в целом.

Page Footer(колонтитул страницы)

Внизу каждой страницы Номер страницы, имя отчета.

Диаграммы и объекты Cross-Tab применяются к отчету в целом, и могут быть вставлены либо в заголовок, либо в колонтитул отчета.

Page 19: Crystal Reports

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

Если какая либо из созданных по умолчанию секций не нужна в отчете, ее можно скрыть. Для этого нужно щелкнуть правой кнопкой мыши в области заголовка секции (слева на экране) и в раскрывшемся контекстном меню выбрать команду Suppress. В окне конструктора выбранная секция после этого будет отображаться покрытой косой штриховкой, а на печать выводиться не будет. Снять скрытие секции можно также из контекстного меню.

Шаг 11 - Вставка в отчет полей данных

Секция Details в дизайнере отчета – самая узкая, но именно в ней, как правило, отображается основная информация из полей базы данных. Поля размещаются в секции Details способом перетаскивания:

Для этого необходимо в окне Insert Fields, на вкладке Database выделить требуемое поле, и не отпуская левую кнопку мыши, перетащить его в секцию Details конструктора, разместить его там, и после этого отпустить левую кнопку мыши. По умолчанию Crystal Reports для помещенного в секцию Details поля автоматически в области Page Heading создает заголовок, который, опять же по умолчанию, совпадает с именем поля. Если поле поместить в любую другую секцию, заголовок не создается. Если потом перетащить это поле в секцию Details, заголовок все равно уже создан не будет.

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

Прежде чем производить какие либо операции с полем, помещенным в конструктор, его необходимо выделить. Это осуществляется щелчком мыши по требуемому объекту. Выделенное поле обрамляется цветной рамкой с маркерами:

Перемещение, изменение размера объектов производится так же, как и в большинстве других программ манипуляциями с окружающими объект маркерами.

Шаг 12 - Форматирование полей данных

Page 20: Crystal Reports

После операции "перетаскивания" все свойства поля устанавливаются по умолчанию. Для редактирования свойств необходимо выделить требуемый объект и щелкнуть правой кнопкой мыши, и в появившемся контекстном меню выбрать пункт Edit Object, или нажать кнопку на панели инструментов Supplementary Tools:

Откроется окно редактора форматирования, содержащее три вкладки:

Первая вкладка редактора устанавливает общие свойства объекта:

Suppress – если установить галочку в этом чекбоксе, объект станет невидимым при печати. Забегая наперед, скажу, что это бывает необходимо при сортировке и группировке полей, когда например, поле, по которому производится сортировка, не должно отображаться. Horizontal Alignment – горизонтальное выравнивание. Выбрать вид выравнивания можно в комбинированном списке, находящемся правее. Кроме обычных видов выравнивания, в списке имеется значение Default – выравнивание по умолчанию. Это означает выравнивание по левому краю для текстовых полей, и по правому краю для числовых, денежных полей и полей Дата/Время. Keep Object Together – при установке этого флажка Crystal Reports будет стремится сохранять вид полей. Если содержимое поля не помещается в отведенное ему место, его отображение в отчете будет "урезано". Если флажок сброшен, не поместившуюся часть Crystal Reports будет стремиться переносить на следующую строку. Close Border on Page Break – позволяет исключить "разрыв" поля при окончании страницы. Can Grow – позволяет выводить значение поля в несколько строк, при этом высота объекта "поле" в отчете устанавливается автоматически. Если установлен флажок Can Grow становится доступным поле Maximum number of lines, куда можно ввести максимально допустимое число строк. Если в это поле введено значение 0, количество строк не ограничено. Suppress If Duplicated – позволяет вывести в отчет только уникальные значения поля.

Справа от каждого пункта в редакторе форматирования имеется кнопка, нажатие на которую вызывает запуск редактора формул.

Page 21: Crystal Reports

Пункт Tool Tip Text (текст всплывающей подсказки) можно отредактировать только таким способом.

Внизу странички показывается пример отображения поля, при этом символьные знакоместа отображаются знаком Х, числовые – знаком 5, дата и время отображаются в "натуральном виде".

Шаг 13 - Форматирование полей данных, часть 2

Следующие две вкладки предназначены для форматирования числовых и денежных значений. Они не появляются при редактировании полей с текстом:

Вторая вкладка предназначена для форматирования числовых полей.

Особенностью этой страницы является то, что если установлен флажок Use System Default Format, то при открытии этой страницы в нее будут загружаться из региональных установок Windows. Если флажок сброшен, будут сохраняться последние сделанные изменения.

Suppress if Zero – подавляет вывод полей с нулевым значением. Decimal – количество десятичных знаков после запятой. Rounding – округление. Negatives – форма представления отрицательных чисел. Allow Field Clipping – позволяет "обрезать" слишком длинные поля. Decimal Separator – десятичный разделитель. Thousands Separator – разделитель тысяч. Leading Zero – "лидирующие" нули.

Вкладка форматирования денежных значений:

Page 22: Crystal Reports

Здесь можно включить или отключить вывод знака валюты, а также определить этот символ. Следующая вкладка редактора форматирования позволяет настроить обрамление объекта и его фон:

Page 23: Crystal Reports

Правое, левое, верхнее и нижнее обрамление настраиваются раздельно.

Tight Horizontal – если этот флажок сброшен, размеры обрамления не зависят от длинны данных. Если флажок установлен, размеры обрамления зависят от размеров каждой считанной записи. Drop Shadow – добавляет тень. Background – позволяет установить рисунок в качестве "подложки" отчета.

Как и на первой вкладке, имеются кнопки запуска редактора формул, и образец отображения поля.