Новое и лучшее в Crystal Reports 9

Александр Бородовицын, технический специалист Interface Ltd.

Введение

В статье речь пойдёт о новой, 9-й версии всемирно известного продукта фирмы Crystal Decisions - генератора отчётов Crystal Reports. Для читателей, ранее не знакомых с этим продуктом, следует сказать, что он позволяет создавать самые разнообразные отчёты - от простых бухгалтерских документов до сложнейших отчётов презентационного качества для корпоративных структур принятия решений. Версии этого генератора входят в состав таких известных продуктов, как Visual Studio .NET, SAP/R3 и других.

Для Crystal Reports 9 возможен выбор практически любого источника данных для отчёта: не только файловые и реляционные СУБД, многомерные кубы (OLAP), XML, различные log-файлы, таблицы Excel и др., но и COM, Java и .Net - источники.

Немало усилий фирмы Crystal Decisions направлено на обеспечение максимального удобства для разработчиков отчётов: это и интуитивно понятный интерфейс, и многочисленные помощники и эксперты1. Для максимально быстрой и удобной разработки отчётов в Crystal Reports 9 введён целый ряд новых программных средств: репозиторий объектов, эксперт формул и др. (см. далее).

Среда дизайна отчётов Crystal Reports, Report Designer, предоставляет широчайший спектр различных средств для обеспечения любых требований разработчика отчёта:

  • построение одного отчёта на нескольких различных источниках данных;
  • включение в отчёт другого отчёта, зависимого от первого или нет;
  • "разворачивание" подробной информации (drill down), что обеспечивает удобство использования и "динамичность";
  • разнообразные, полностью настраиваемые диаграммы (графики) и многослойные географические карты;
  • кросс - и OLAP-таблицы;
  • мощные механизмы разработки и включения в объекты отчёта формул (функций), которые обеспечивают максимальную, программируемую гибкость форматирования отчётов;
  • и многое, многое другое.

Объём статьи не позволяет рассказать полностью обо всех возможностях продукта - получится весьма солидная книга. Поэтому в статье рассматриваются только наиболее значимые нововведения и изменения в среде Crystal Reports 9.

Общий вид среды разработки Crystal Designer, с включёнными окнами проводников отчёта, репозитория и полей, которые при необходимости можно передвинуть или скрыть, показан на рис. .

Рис. 1. Пример пользовательской среды Crystal Reports 9

В пакет Crystal Reports 9 входят следующие компоненты:

  • среда разработки (дизайна) форм2; отчётов Crystal Designer (собственно сам Crystal Reports);
  • Crystal Enterprise Report Application Server (RAS)3 - среда, обеспечивающая выполнение и просмотр разработанных в Report Designer отчётов через Web-броузеры. Описание возможностей и особенностей Report Application Server планируется в следующей статье. В этой же мы рассмотрим нововведения и изменения среды дизайна Report Designer;
  • средства интеграции отчётов в приложения, в том числе в Web-приложения (в зависимости от редакции пакета), вместе с примерами программ и справочной системой по средствам интеграции;
  • примеры отчётов и файлы помощи.

I. Новые возможности Report Designer

Репозиторий для неоднократно используемых компонент

В Crystal Reports 9 впервые введён репозиторий объектов. В репозиторий заносятся и хранятся часто используемые в отчёте объекты:

  • строки символов. Например, какой-то стандартный текст;
  • рисунки. Например, логотип фирмы;
  • запросы (команды) на языке SQL;
  • созданные разработчиком и часто используемые формулы в виде функций (custom-функции).

Использование этих объектов следующее:

  • команды используются при определении источников данных для отчёта;
  • строки и изображения - при дизайне;
  • функции - при создании вычисляемых выражений любого типа: полей формул, условий форматирования, выборки (фильтрации).

От того, в каком режиме открыт репозиторий: в определении источника данных, в дизайне или при создании формул, в проводнике репозитория (см. рис. 2 и левую часть рис. 3) будут отображены нужные объекты.

Рис. 2. Пример окна проводника репозитория в режиме дизайна

С введением репозитория отпала необходимость в использовании утилиты Crystal SQL Designer, т.к. запросы, в том числе параметризованные, хранятся в репозитории. Фактически Crystal SQL Designer повторял, только в упрощённом виде, эксперта Crystal Reports. Теперь SQL-код, автоматически формируемый средой Crystal Reports, можно перенести в новую команду, которая сохраняется в репозитории. Скорректированная, и возможно, дополненная параметрами, в дальнейшем она будет служить в качестве нового источника данных.

Как уже было сказано выше, в репозитории хранятся дополнительные, создаваемые и настраиваемые пользователем функции. Что позволяет использовать их в разных отчётах, не прибегая к формированию DLL-библиотек. Для работы с этими функциями служит Formula Workshop, редакторы формул и эксперт формул (см. далее).

Следует заметить, что расширилась поддержка пользовательских библиотек (User Function Library, UFL): возможно использование UFL-библиотек СОМ-объектов.

Создаётся репозиторий в виде базы данных MS Access, и по умолчанию располагается в каталоге C:\Program Files\Common Files\Crystal Decisions\2.0\bin.

Formula Workshop и эксперт формул

В Crystal Reports 9 впервые введена универсальная среда Formula Workshop для работы с формулами. Эта среда (см. рис. 3) позволяет создавать, просматривать, изменять и удалять все используемые в отчёте формулы (за исключением выражений highlighting-полей), а именно:

  • настраиваемые функции репозитория;
  • поля формул;
  • формулы отбора (фильтрации) записей и групп;
  • формулы форматирования.

Рис. 3. Окно Formula Workshop

Соответственно, для каждого из видов формул используется свой редактор формул:

  • Custom Function Editor - для настраиваемых функций;
  • Formula Editor - привычный для пользователей CR редактор полей формул;
  • Group Selection Formula Editor - для формул условного отбора групп;
  • Record Selection Formula Editor - для формул условного отбора записей;
  • Format Formula Editor - для формул форматирования.

С использованием Formula Workshop стало значительно удобнее определять, для каких секций, полей и т.п. установлены условия форматирования, просматривать формулы и оперативно их редактировать. Но, как и прежде, доступна функциональность редактора формата.

Помимо перечисленных выше редакторов формул, в Crystal Reports 9 впервые введён эксперт формул Formula Expert - для облегчения использования функций репозитория (см. рис. 4). Этот эксперт позволяет в интерактивном режиме легко определять параметры используемой функции.

Рис. 4. Окно Formula Workshop с экспертом формул.

Проводник отчёта

Новым объектом в Crystal Reports 9 является проводник отчёта Report Explorer (см. рис. 5). Занимаемоё им место на экране особенно оправдано для сложных отчётов с многочисленными секциями/подсекциями, когда необходимо быстро находить нужный объект (поле, рисунок, линия и т.п.) в большом отчёте, а не прокручивать два скроллинга экрана. С введением новых видов навигации (ссылок), объекты отчёта получили имена, которые легче отслеживать и изменять в проводнике отчёта. Кроме того, легче выделять линии и прямоугольники, щёлкнув по их названию в проводнике, а, не позиционируя указатель мыши точно на тонких линиях.

Рис. 5. Пример окна проводника отчёта

Новые источники данных: доступ к COM-провайдерам, JavaBeans и к ADO .NET

В новой версии появились новые источники данных для отчётов. Это COM, JavaBeans и .NET - объекты. Это можно считать принципиальным, если не основным моментом в новой версии Crystal Reports. И, прежде всего потому, что теперь возможно интегрировать систему формирования отчётов в единую корпоративную информационную систему (ИС), где источником данных для любых тонких или нулевых клиентов, - как для ввода данных, так и для формирования отчётов, - служат современные серверы приложений, реализующие бизнес-логику, распределение нагрузки и т.п. для всей ИС. Поскольку ранее получалось, что клиентские приложения имеют доступ к корпоративной БД со своей бизнес-логикой, отчёты строятся со своей. И далеко не всегда создаёт логическую структуру БД и её физическую реализацию, разрабатывает сервер приложений, пишет клиентов и подготавливает отчёты один человек!

Новые источники данных: Oracle 9i

В связи с появлением новой версии СУБД Oracle - Oracle 9i, в Crystal Reports 9 так же введена поддержка прямого доступа к этой версии самой популярной в мире СУБД. Теперь доступ через собственные драйверы возможен, начиная с 7-й версии Oracle. Хотя, разумеется, по-прежнему возможен доступ через провайдеры OLE DB или ODBC-драйверы.

Поддержка векторной графики

Crystal Reports 9 поддерживает некоторые из форматов векторных изображений, например, EPS-формат (Adobe Illustrator).

Поддержка Microsoft Smart Tags для Office XP

В Crystal Reports 9 введена поддержка смарт-тегов для следующих типов объектов: текстовое поле, поле отчёта, диаграмма в приложениях MS Office XP.

Изменения в навигации внутри отчёта и между отчётами, Report Parts

Ранее существовали следующие возможности задания гиперссылок:

  • Web-сайт;
  • eMail-адрес;
  • файл, в т.ч. другой отчёт.

Сейчас они дополнены двумя новыми гиперссылками, которые устанавливаются в среде Crystal reports, но действуют только в режиме просмотра отчёта в DHTML-формате, через RAS:

  • Report Part Drilldown - для обеспечения доступа к данным корпоративного портала из мобильных устройств;
  • Another Report Object - ссылка на другой объект этого же или другого отчёта. Обеспечивает полноценную Web-навигацию через гиперссылки не только в пределах одного отчёта, но и между разными частями разных отчётов (логичность связи определяется самим разработчиком, разумеется).

Unicode

Теперь Crystal Reports поддерживает строки в формате Unicode, что устраняет проблемы преобразования текста.

Индексирование для ускорения обработки при больших объёмах данных и уменьшение объёма отчёта

Появилась возможность определения индексных полей в данных отчёта (Report Bursting Indexes), что особенно эффективно сказывается при выполнении фильтрации для больших объёмов данных.
Кроме того, значительно уменьшен (почти в 2 раза) размер сохраняемого отчёта (rpt-файла), что не может не сказаться в лучшую сторону на производительности, в т.ч. при публикации отчётов в Web.

II. Улучшение существующих характеристик

Изменения в работе с диаграммами

Внесены изменения в работу с диаграммами. Убран использовавшийся ранее анализатор диаграмм. Точнее, он теперь встроен в общую среду редактирования. Таким образом, при редактировании диаграммы она уже не открывается на отдельной странице, как ранее, а редактируется в самом отчёте - в режиме дизайна или просмотра, что, безусловно, удобнее.

Кроме того, добавлены новые или изменены некоторые из существующих видов диаграмм. Например, появилась диаграмма Gauge - шкала прибора.

С использованием Unicode улучшилась языковая настройка для диаграмм. Собственно говоря, теперь её делать уже не нужно, в отличие от предыдущих версий.

Управление шаблоном отчёта

Существовавший ранее Style Expert для изменения стиля, т.е. внешнего изображения отчёта, заменён Template Expert-ом. При этом, если при применении стиля выводилось предупреждающее сообщение, что восстановление изменений невозможно, то теперь возможно восстановление предыдущего вида отчёта. И наоборот, можно отменить восстановление и вернуться к изменённому виду отчёта.

Изменения в панели инструментов

Исчезли кнопки работы с анализатором диаграмм и географическими картами (поскольку эта панель инструментов использовалась довольно редко). Но действия, которые они обеспечивали, конечно, остались. Доступны они из главного (и контекстного) меню: вместо прежнего Analyser там появляются новые пункты Chart и Map - для работы с диаграммами и географическими картами соответственно.

Добавлены новые кнопки:

  • внешних границ;
  • скрытия (suppress) объекта;
  • фиксации формата и позиции/размеров объектов;
  • Formula Workshop;
  • эксперта группировок;
  • скрытия/показа окна проводника отчёта;
  • скрытия/показа окна проводника репозитория.

Отчёты с кросс-таблицами и OLAP-отчёты

Изменения произошли в форматировании кросс-таблиц и в работе с OLAP-таблицами. Для кросс-таблиц, если в суммирующих полях задано более одного значения, то возможно расположение их значений как в одну строку, так и в столбец, и вывод или отмена для них заголовков. Для OLAP-отчёта расширились возможности управления измерениями куба, появилась возможность отображать в заголовках все уровни вложенности. Например, в измерении по фирмам: Underwater Sports Co. - сокращённо, а US@CA@San Jose@Underwater Sports Co. - полностью.

Эксперты для автоматического создания отчётов

Изменения затронули экспертов отчёта4. Да и самих экспертов прибавилось - теперь для кросс - и OLAP-таблиц так же есть свои эксперты, которые предоставляют расширенные возможности управления этими таблицами.

Типов отчётов в Report Galery убавилось - всё равно любой отчёт можно сделать из стандартного. Остались только Standard, Cross-Tab, Mail Label и OLAP.

Графическое связывание таблиц БД

Для SQL-источников данных в окне графического связывания таблиц Linking Expert так же произошли изменения:

  • поля связывания выделяются цветом (ранее цветом выделялись только поля файловых баз данных);
  • Linking Expert объединён с окном выбора источника данных Database Expert, т.е. теперь работа с источниками данных получается логически законченной: выбрав необходимые таблицы, можно сразу же просмотреть и при необходимости изменить связи.

Highlighting-поля

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

Другое

С новой версией уже не поставляются такие утилиты, как Crystal Dictionaries и Crystal SQL Designer (поскольку Crystal Repository заменяет их функциональность). Хотя ещё можно использовать существующие файлы библиотек (.dc5) и запросов (.qry) в качестве источника данных.

Как отмечалось выше, версия Crystal Enterprise 8.0 на 5 лицензий (5 одновременно открытых отчётов), которая была в коробке Crystal Reports 8.5 Developer, заменена на Report Application Server, в котором число подключений/открытых отчётов не лимитировано.

III. Технические требования на установку Crystal Reports 9

Операционные системы: Windows (98 SE, ME, NT 4 SP6a, 2000 SP2, XP Pro).
Память:32 MB RAM (64 MB для Windows NT). Рекомендуется 64 MB RAM.
Винчестер: 60 MB для стандартной установки. Максимальная - 350 MB.

IV. Подводя итог

Выпустив новую версию Crystal Reports, фирма Crystal Decisions снова подтвердила конкурентоспособность своей самой популярной универсальной среды разработки отчётов. Добавление к ранее существующим богатым возможностям Crystal Reports таких новых принципиальных возможностей, как COM, .NET и Java, источники и инструменты интеграции, Report Application Server, полноценная Web-навигация, Report Parts, и др. делают этот продукт ещё более привлекательным для применения.

Как уже было сказано, в статье не рассматривалась вторая компонента пакета Crystal Reports 9 - Report Application Server, т.к. хотелось акцентировать Ваше внимание на изменениях, касающихся именно среды дизайна отчётов.

В следующей статье, посвящённой RAS, планируется рассказать о следующем:

  • что это такое, для чего нужен и как используется RAS;
  • ePortfolio Lite;
  • расширение возможностей просмотра отчёта в DHTML-формате, в частности, расширенный поиск в отчёте;

1 Помощник (Wizard) - программный механизм, который помогает выполнить какие-то сложные, последовательные действия, например, создание нового отчёта.
2 Эксперт (Expert) - специальное средство для работы с каким-либо объектом отчёта в интерактивном режиме.
3 Хотя разработанная в Crystal Designer форма отчёта может быть сохранена (в виде
rpt-файла) вместе с данными, однако в общем случае она становится именно "отчётом" в процессе выполнения и отображения (на экране или принтере) конечным пользователем.
4 Report Application Server (RAS) включён в поставки: Professional, Developer и Advanced.
Параметры установки даны без Report Application Server.


Страница сайта http://test.interface.ru
Оригинал находится по адресу http://test.interface.ru/home.asp?artId=2084