Научно - Информационный портал



  Меню
  


Смотрите также:



 Главная   »  
страница 1
62 (53). Принципы создания отчета в Delphi 7. Компоненты для построения отчетов.

Отчеты используются в различных программах, но наиболее активно они формируются в приложениях, связанных с автоматизацией делопроизводства, когда документы хранятся в электронном виде в БД, но их требуется регулярно выводить на печать. Отчеты в Delphi 7 ориентированы в первую очередь на печать информации из таблиц БД. В Delphi 7 отчет – это виртуальный образ бумажного листа, который в дальнейшем без изменений воспроизводится на принтере. В Delphi 7 появился набор компонентов RAVE Reports (RAVE - Report Authoring Visual Environment – визуальная среда автора отчета), который заменил морально устаревший набор QReports. Эти компоненты позволяют подготовить произвольное число виртуальных страниц отчета в простом визуальном редакторе. Компоненты панели RAVE обладают множеством характеристик, что позволяет детально настроиться на возможности конкретного принтера.

Вкладка RAVE в палитре компонентов содержит 13 компонент (слева направо):
1) TRVProject предназначен для установки связи с файлом отчета, который будет создан с помощью дизайнера RAVE Designer.

2) TRVSystem предназначен для настройки параметров печати и предпросмотров отчетов.

3) TRVNDRWriter создает NDR поток (поток данных отчета, конвертируемый в различные форматы) или файл при отображении или печати отчета.

4) TRVCustomConnection предназначен для DDV связи (Direct Data View - механизм для прямой связи НД, указанным в приложении Delphi), созданной RAVE Designer'ом с обычными данными.

5) TRVDataSetConnection предназначен для DDV связи с НД.

6) TRVTableConnection предназначен для DDV связи с таблицей.

7) TRVQueryConnection предназначен для DDV связи с запросом (например компонентом TQuery)

8) TRVRenderPreView служит для отображении в окне предварительного просмотра NDR-потока или файла.

9) TRVRenderPrinter служит для отправки NDR-потока или файла на печать

10) TRVRenderPDF преобразует NDR поток или файл в формат PDF.

11) TRVRenderHTML преобразует NDR поток или файл в формат HTML.

12) TRVRenderRTF преобразует NDR поток или файл в формат RTF.

13) TRVRenderText преобразует NDR поток или файл в обычный текстовый формат.
63 (54). Создание отчета. Мастер создания отчетов.

Перед созданием отчета необходимо разместить на форме и настроить соответствующим образом один из следующих компонентов: TDatabase, Ttable, TQuery. Мы используем уже имеющийся компонент TQuery и один из имеющихся компонентов TTable. Добавим на основную форму или в модуль данных компонент TRVDataSetConnection для организации связи будущего отчета с базой данных. Добавим на форму также компонент TRVProject для установки связи с файлом отчета, который еще предстоит сформировать.

Для разработки внешнего вида отчета вызовем Rave-проектировщик (Rave Reports Designer) командой ToolsRave Designer. Окно проектировщика состоит из 4 основных частей. В верхней части расположены кнопки управления и панели компонентов. В центре можно видеть проектируемый отчет. На второй вкладке Event Editor центральной части окна можно написать код для обработчиков событий OnBeforePrint, OnBeforeReport, OnAfterPrint, OnAfterReport, OnGetText для любого размещенного на вкладке Page Designer компонента отчета. Обработчики пишутся на языке, который представляет собой подмножество языка Delphi.

С помощью команды FileNew Data Object вызовем окно типов связи и выберем в нем Direct Data View (прямой обзор данных). В следующем окне выберем соединения с СУБД, доступные на данный момент в среде Delphi (у нас это связь RvDataSetConnection1).Теперь структуру установленной связи (она получила название DataView1) можно посмотреть в правой части Rave-редактора.

Командой ToolsReport WizardsSimple Table вызовем мастер создания отчета по данным, получаемым из единственной таблицы (для этого временно в свойстве DataSet объекта RvDataSetConnection1 необходимо установить Table1или DM.Tovar). Этот мастер с помощью последовательно раскрывающихся окон определяет основные параметры отчета. В первом окне выбирается источник данных (DataView1), во втором – отображаемые поля (отметьте флажками необходимые поля или установите флажок All). В следующих окнах мастера можно изменить порядок следования в отчете заданных полей, ввести заголовок отчета (в поле ReportTitle), указать границы печатаемой страницы и задать шрифты различных разделов. Не все шрифты(например, устанавливаемый по умолчанию Arial) правильно отображают кириллицу. Необходимо выбрать такой шрифт, чтобы исключить искажение данных (например, MS Sans Serif). После нажатия в последнем окне кнопки Generate отчет будет создан и размещен в окне утилиты Rave Designer.

В одном проекте может быть несколько различных отчетов. Список доступных отчетов можно посмотреть в правом окне в элементе Report Library.

Созданный шаблон с нашим отчетом необходимо сохранить с помощью команды FileSave, например, с именем MyReport. Файл отчета получит расширение .rav.

Пример. Выбор пункта ОтчетНаличие товаров.
DM.RvProject1.Close;

DM.RvDataSetConnection1.DataSet:=DM.Tovar;

DM.RvProject1.ProjectFile:='E:\MyRep.rav';

DM.RvProject1.Execute;


Но путь к файлу отчета можно получать и динамически, для этого файл отчета располагаем в той же папке, где лежит exe-файл, и вместо третьей строке в вышеприведенном примере записываем:

DM.RvProject1.ProjectFile:=ExtractFilePath(Application.ExeName)+'MyRep.rav';

64 (55). Изменение отчета
1) Укажем дату генерации отчета. Ее можно разместить под заголовком или внизу страницы. Текущая дата доступна в компоненте DataText палитры RAVE Designer (вкладка Report) . В его свойстве DataField поместим следующий текст:
"ОТ" &Report.DateLong
Можно сформировать значения поля и по-другому – раскрыть редактор поля, (в правом углу свойства DataField), в поле DataText окна редактора ввести ‘от’+, раскрыть список Report Variables и выбрать в нем пункт DateLong, после чего щелкнуть на кнопке Insert Report Var. В результате выводится дата в длинном формате (ДД месяц ГГГГ).

2) Введем нумерацию страниц. Чтобы вставить в отчет нумерацию страниц необходимо предусмотреть в проекте страницы место для размещения компонента DataText. Мастер отчетов отвел для заголовков и данных всю страницу. Щелкнем на компоненте DataViewRegion в дереве объектов (предварительно раскрыв узлы Report Library Report1 MainPage) и установим в его свойстве Height, например, знаечение 7.9. Под серым пространством в самом конце страницы необходимо вставить компонент DataText и в его свойстве DataField поместить следующую строку:


'стр.'+Report.RelativePage+'из'+Report.TotalPages
3) Изменение формата вывода данных. Можно изменять место расположения компонент Text, DataText, выравнивание текста. Изменить формат вывода данных можно в свойстве DataField компонента DataText. Можно также изменять текст заголовков столбцов в свойстве Text компонента Text.
4) Расчертим отчет горизонтальными и вертикальными линиями. Для этого необходимо поместить на среднюю полосу (объект DataView1Band в дереве объектов) компонент Hline и необходимое количество компонентов Vline (вкладка Drawing). Для правильного отображения вертикальных и горизонтальных линий необходимо определённым способом задать их свойства Top, Left, Width. На нижнюю полосу с данными поместим 2 компонента Hline и столько же компонентов VLine, как и на среднюю полосу.

страница 1

Смотрите также: