Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
DDD.doc
Скачиваний:
9
Добавлен:
14.11.2019
Размер:
25.86 Mб
Скачать

Property Enabled: Boolean;

указывает, печатается в отчете (True) или нет (False) информация, содержащаяся в компоненте TQRBand.

Свойство

Property ForceNewPage: Boolean;

указывает, должна ли информация в составе TQRBand всегда печататься с новой страницы (True) или нет (False).

Событие

Property BeforePrint: tqrBeforePrintEvent;

наступает перед печатью информации, размещенной в области компонента TQRBand.

9.2. Создание простейшего отчета

Компоненты TQuickRep и TQRBand являются минимально достаточными для создания простого отчета, не содержащего внутри себя группировок информации. Пусть имеется таблица БД Rashod.DB, содержащая сведения об отпуске материалов со склада. В состав таблицы входят поля

N_RASH - уникальный номер события отпуска товара;

OrderNO - номер накладной

DEN - номер дня;

MES - номер месяца;

GOD - номер года;

TOVAR - наименование отпущенного товара;

POKUP - наименование покупателя;

KOLVO - количество единиц отпущенного товара;

CENA - цена.

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

  • Пример. Простейший отчет, состоящий из заголовка и сведений об отпуске

товара.

В отчет включаются все факты отпуска товара. Сортировка производится по номеру события отпуска товара.

  1. Создайте новое приложение.

  2. Разместите в форме компонент ТТаЫе.

  3. Установите свойство TableName в Rashod.DB

  4. откройте таблицу (Active = True).

  5. Разместите в форме компонент TQuickRep.

  6. Установите свойство DataSet отчета в значение Tablei, назначив таким образом отчету НД, записи из которого будут выводиться в отчет.

  7. Добавьте в отчет компонент TQRBand. Свойство BandType компонента QRBand.1 по умолчанию установлено в значение rbTille, то есть компонент QRBandi определяет заголовок отчета.

  8. Разместите в пространстве отчета, занимаемом компонентом QRBand1, компонент TQRLabel (статический текст).

  9. Установите свойство Caption этого компонента в значение «Отпуск товаров со склада»

  10. Установите в свойстве Font жирный наклонный шрифт высотой 16 пунктов. Вид отчета показан на рис. 9.4.

  1. Разместите в отчете данные, соответствующие текущей записи таблицы Rashod. Для этого поместите в отчет новый компонент TQRBand.

  2. Установите свойство BandType в значение rbDetail.

  3. Разместите в группе шесть компонентов TQRDBText.

  4. Свяжете их соответственно с полями НД - N_RASH, TOVAR, KOLVO, DEN, MES, GOD. Для этого в свойство DataSet каждого компонента QRDBText установим значение Table1, а в свойство DataField -значение имени соответствующего поля. Вид отчета показан на рис.9.5.

  5. Для просмотра получившегося отчета щелкнем по нему правой кнопкой мыши и из всплывающего меню выберем элемент Preview. Получим окно предварительного просмотра отчета (рис. 9.6).

Использование компонента TQRExpr для определения выражений

Из рис.9.6. видно, что в простейшем отчете выводится дата, составленная из трех полей - DEN, MES, GOD. Объединим значения из этих трех полей в одно значение, являющееся результатом вычисления выражения. Выражение в отчетах формируется при помощи компонента TQRExpr.

  • Пример. Использование в отчетах вычислений.

    1. Удалите из компонента QRBand1 компоненты QRDBText4 ... QRDBText6, связанные с полями DEN, MES, GOD.

    2. Разместите в отчете компонент TQRExpr.

    3. Для того чтобы войти в редактор формул данного компонента, выберите в инспекторе объектов свойство Expression и нажмем кнопку в поле данных этого свойства. Появится окно редактора формул - или, если дословно переводить Expression builder, построителя выражений (рис. 9.7).

Группа Constant позволяет включить в выражение константы, при этом комбинированный список предназначен для выбора типа константы – числовая (Numeric) или строковая (String). Группа Function позволяет включить в выражение функцию, при этом выпадающий список Category определяет категорию функции (по умолчанию показываются все функции, значение АН). Группа DataField позволяет включить в выражение поля набора данных, причем список DataSet определяет НД, а в списке Fields перечисляются поля текущего НД.

В каждой из указанных групп присутствует кнопка Add. Она позволяет добавить константу, функцию или поле непосредственно в текст выражения (самая нижняя группа без названия).

  1. Выберите в списке Available functions функцию STR, она преобразует числовое значение в строковое, и нажмите кнопку Add в группе функций. Над текстом выражения появится надпись Str(<Expr>.

  2. Поскольку функция имеет параметр, редактор формул перейдет в режим ввода параметра. Выберите в группе Data Field в окне DataSet набор данных Tablei и в списке полей - DEN

  3. Нажмите кнопку Add и затем Ок. В поле формулы будет сформирована часть формула STR(TablelDEN).

  4. На панели Operators нажмите кнопку '+'. В группе констант установите тип строковой константы (String) и введите точку, после чего нажмем кнопку Add (рис. 9.8).

  5. Аналогичным образом введите другие части формулы, чтобы она в конечном виде была такой:

STR (TableLDEN) + '.' + STR (Table 1.MES) + 7 + STR (TableLGOD)

  1. Затем нажмите кнопку Ок и выйдите в инспектор объектов.

  2. Установите в свойство AutoSize компонента QRExpii значение False

  3. Измените размеры компонента QRExpr1 так, чтобы он занимал примерно 10 символов.

  4. Установите выравнивание вправо (свойство Alignment = taRightJustify).

  5. Запустите режим предварительного просмотра содержимого отчета (рис. 9.9). Как видим, дата отпуска товара приобрела более привычный вид.

Использование TQRBand для представления заголовков столбцов

Компонент TQRBand, у которого в свойство BandType установлено значение rbColumnHeader, используется для представления заголовков столбцов. Заголовки столбцов определяются при помощи компонентов TQRLabel.

  • Пример. Использование в отчетах заголовка столбцов.

    1. В отчете, рассмотренном в предыдущих примерах, разместите компонент TQRBand и установите его свойство BandType в значение rb ColumnHeader.

    2. Разместите в пространстве отчета, определяемом QRBand3, четыре компонента TQRLabel

    3. Установите в свойства Caption этих компонентов соответственно компонентов установим режим подчеркивания шрифта, а сам шрифт определим как наклонный.

    4. Выйдете в окно предварительного просмотра отчета. Для каждой страницы отчета вверху страницы будут выводиться названия столбцов (рис. 9.10).

Использование TQRBand для показа заголовка и подвала страницы

Компонент TQRBand, у которого в свойство BandType установлено значение rbPageHeader, используется для показа заголовка страницы. Он выводится для каждой новой страницы перед выводом другой информации. Компонент TQRBand, у которого в свойство BandType установлено значение rbPageFooter, используется для показа подвала страницы. Он выводится для каждой страницы после вывода любой иной информации.

Информация в заголовке и подвале страницы может формироваться на основе статического текста (компоненты TQRLabel), значений полей (компоненты TQRDBText) и результатов вычисления выражений (компоненты TQRExpr).

  • Пример. Использование в отчетах заголовка и подвала страниц.

    1. В отчете, рассмотренном в предыдущих примерах, разместите компонент TQRBand (имя QRBand4) и установите в его свойство BandType значение rbPageHeader.

    2. Не будем размещать в заголовке страницы никакого текста, просто отчеркнем линию вверху страницы. Для этого установите в свойство компонента заголовка страницы Frame.DrawTop значение True, что обеспечивает вывод линии по верхнему краю области, занимаемой компонентом.

    3. Аналогичным образом определите в отчете компонент подвала страницы (имя QRBand5) и установите в его свойство Frame.DrawBottom значение True, что обеспечивает вывод линии по нижнему краю области, занимаемой компонентом.

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

Использование компонента TQRSysData для показа вспомогательной и системной информации

Компонент TQRSysData используется для показа вспомогательной и системной информации. Вид показываемой информации определяется свойством

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]