Урок 6. Отчет
с условным выделением
В
отчете с условным выделением выделяются данные, которые удовлетворяют
заданному
условию.
Предположим,
что нужно выделить фамилии и оклад тех сотрудников, у которых
оклад
больше и меньше заданного.
Условное
выделение задается с помощью пакетной процедуры SRW.SET_ATTR в
триггере
форматирования поля.
Использование
этой процедуры показано в библиотеке LIB_REP -
процедура
HI_CON обеспечивает выделение цветом
и фонтом по заданному условию,
процедура
HI_CON1 в дополнение к предыдущему выделяет поле прямоугольной
черной
рамкой.
Для
использования процедур библиотеки в отчете, необходимо библиотеку к
отчету
присоединить - узел Attached
Libraries в Навигаторе, добавить («+»),
выбрать
библиотеку в файловой системе и нажать кнопку «Attached», при
этом путь к библиотеке не удалять.
Из
макета для поля F_FIO правой кнопкой мыши вызовите
PL/SQL Editor
для создания триггера форматирования и отредактируйте предложенный шаблон.

Для
поля F_OKLAD создайте триггер форматирования
аналогично, но используйте процедуру HI_CON1.

Вид отчета после запуска:

Урок 7. Отчет
с параметрами.
Списки
значений для параметров.
Создайте простой отчет с одним
запросом

При
использовании в запросе параметров подстановки Oracle Reports
автоматически
создает для них параметры.
Созданные параметры в окне
Объектного навигатора:

В
таблице атрибутов параметра можно указать,
что для параметра должен
выводиться
список значений в форме параметров.
Определение
списка значений для параметра P_Dolg:

Определение
списка значений для параметра P_Otdel:

Для
создания формы параметров используйте Tools->Parameter Form Builder.
Измените
заголовок, исключите системные параметры, по своему вкусу
выберите
шрифт и цвет для названия формы и заголовков параметров.


Урок 8. Письмо по форме
Отчеты в стиле письма по форме содержат значения
из базы данных, помещенные в статичный текст. Это может быть текст, созданный Oracle Reports, текст, созданный вами, или текст, импортированный
из файла.
Макет отчета в стиле письма
поставляется с Oracle Reports(Form Letter).
Поля в статичном тексте являются скрытыми и выводятся в отчете, только если сделать на них ссылку. Ссылка на поле устанавливается с помощью амперсанда(&). Ссылки на поля могут встречаться несколько раз в одном статичном тексте.
Oracle Reports печатает
одну запись, т.е. одно письмо на одной странице.
Создадим
отчет с запросом
Select fio from
sotr order by fio
и
выбором стиля Form Letter.
Рамку
в макете раздвинем и добавим необходиый статичный текст.
Вид
макета после изменений:

Текст
письма можно было задать непосредственно в Report Wizard:

Вид
одной страницы формы:

Урок 9. Простой вывод почтовых адресов
Отчет в стиле почтового адреса содержит данные, выводимые в формате, пригодном для использования их как почтовые адреса на конвертах. Адреса могут печататься в один или несколько столбцов и начинаться с любой позиции. Можно печатать адреса вниз по странице, поперек страницы, поперек страницы с продолжением вниз, или вниз, а затем поперек.
Oracle Reports имеет
макет почтового адреса по умолчанию
Style:Mailing Label.
Поля в макете размещены так, что каждое поле находится точно перед предшествующим полем. Метки полей не печатаются.
Создайте
модель данных на основе запроса:
Select
fio from sotr order by fio
Создайте
макет по умолчанию, выбрав стиль Mailing Label.
Макет
отчета:

Изменим
направление печати в окне свойств повторяющейся рамки:

Результат отчета:

Урок 10.
Пример использования триггеров отчетов
Напишем триггер, создающий при каждом запуске отчета таблицу для хранения даты запуска отчета и идентификатора пользователя.
Таблица RUNREPORT состоит из трех столбцов –
DATE_RUN
date,
USER_RUN
varchar2(10),
COMMENTS varchar2(80)
В том же триггере зададим внесение в таблицу строки с текущей датой, идентификатором пользователя и комментарием.
Используйте
триггер Before Report.
Текст
функции:

Попробуйте
запустить отчет несколько раз. Когда вы запускаете отчет второй раз, таблица уже
существует, и Reports инициирует исключение.
Для
того, чтобы запустить отчет в символьном режиме, необходимо внести в его определение
следующие изменения:
В таблице свойств отчета в разделе Character Mode включите
Design
In Character Units:
![]()
Для
параметра Mode (системные параметры) изменить значение свойства Initial Value на Character.

Вывод отчета
направить в файл:


Выберите
макет по умолчанию еще раз.
Обратите
внимание на разницу в выводе макета в редакторе.
Между
полями необходимо задать по меньшей мере 1 интервал. В символьном режиме промежутки
измеряются в символах, а не в дюймах.
Изображения
в символьном режиме не выводятся.
Урок 12. Включение в отчет динамической
графики
Создайте
отчет с запросом
В поле CITY хранится название города,
в поле PICT – имя файла с видом этого города
На поле PICT правой кнопкой мыши вызовите окно свойств
Property Palette

Установите свойства Read from
File и File
Format как показано на
картинке:

Создайте
макет отчета и увеличьте размеры поля F_PICT:

Вид
отчета после запуска:
