Порядок выполнения работы

 

Создадим отчет (документ) для двух таблиц связанных реляционной связью. Для этого будем использовать следующие таблицы: «d_dover2» и «d_dover_sp_naimen2». Первая таблица представляет собой шапку документа «Доверенность», а вторая - его табличную часть.

Запустим Oracle Reports Builder и сохраним чистый проект документа, как «d_dover2» с типом файла - *.rdf (рис. 132).

 

 

Рисунок 132 - Создание документа доверенность

Для того чтобы отобразить один документ в отчете нужно передать его номер в отчет для этого мы будем использовать «User Parameter» (пользовательские параметры).

Щелкнем мышью по узлу в «Object Navigator» по «Data Model», выделим пункт «User Parameter» и нажмем кнопку «+» в «Object Navigator», в результате будет создан параметр с именем «p_1», переименуем его в «P_KOD» (рис. 133).

 

 

Рисунок 133 - Создание передаваемого параметра из формы в отчет

 

Теперь нужно построить SQL-запросы для получения данных из БД, для этого мы не будем использовать мастер отчетов, а сделаем это вручную. Щелкнем правой кнопки мыши по проекту отчета в «Object Navigator» и выберем пункт «Report Editor», в результате чего появится следующее окно (рис. 134).

 

 

Рисунок 134 - Окно Report Editor

Опишем нужные нам кнопки на панели инструментов в «Report Editor»:

 - кнопка для построения модели данных;

 - кнопка для рисования отчета;

 - кнопка для просмотра отчета.

Нажмем кнопку  для построения модели данных и выполним следующие операции:

1. Построим запрос для шапки документа, для этого нажмем кнопку   и щелкнем курсором мыши по рабочему полю «Report Editor» в результате чего должно появится окно для построения запроса (рис. 135).

 

 

Рисунок 135 - Окно ввода SQL запроса

 

Введем следующий текст:

 

select NDOC, DATAV, DATA_DEIS, (select fam||' '||im||' '||otch from s_fiz_lic where kod=d.kod_fiz_lic) as fio, (select naimen from s_org where kod=d.KOD_ORG) as org from d_dover2 d where kod=:P_KOD;

 

Нажмем кнопку «OK» в результате чего в рабочей области «Report Editor» появится наш запрос (рис. 136).

2. Построим второй запрос для табличной части документа из таблицы «d_dover_sp_naimen2». Таким же образом как описано выше запустим построитель запросов и введем следующий текст:

 

 

select kod, kod_d_dover2, (select naimen from s_naimen where kod=d.kod_s_naimen) as naimen, kol, ed_izm from d_dover_sp_naimen2 d where kod_d_dover2=:P_KOD;

 

 

Рисунок 136 - Окно с полученным SQL- запросом

 

Нажмем кнопку «ОК» (рис. 137).

 

 

Рисунок 137 - Окно Report Editor с созданными запросами к таблицам

 

После того как мы построили запросы, перейдем к дизайну самого документа, для этого нажмем кнопку  на панели инструментов «Report Editor». В появившейся новой рабочей области мы увидим чистый для рисования документа (рис. 138).

 

 

Рисунок 138 - Окно Report Editor – Paper Layout

 

Рассмотрим инструменты для создания документа, которые нам будут нужны:

 - повторяющийся фрейм – представляет собой область, куда будут помещаться поля из запросов, каждый фрейм должен обязательно быть привязаным к какому-нибудь запросу.

 - поле данных – представляет собой поле для вывода данных, должно находится в области повторяющегося фрейма и связано с одним полем из SQL запроса, указанного во фрейме.

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

 - линия – предназначено для отображения линии в отчете

 - панель для форматирования текста или полей данных

 - инструменты для изменения цвета фона, текста, рамки текста или поля данных.

 

 

Перед началом работы нажмите кнопки  и .

На первом этапе нарисуем шапку документа, для этого создадим повторяющийся фрейм в верхней части листа, щелкнем по нему, чтобы он выделился, и нажмем кнопку  и выберем «Нет линии», чтобы рамка фрейма не отображалась. Двойным щелком по фрейму вызовем его свойства, в появившемся окне в свойстве «Source» выберем «G_NDOC» и закроем данное окно, т.е. запрос для шапки (рис. 139).

Теперь нам нужно расположить поля данных шапки в созданном нами фрейме. Создадим поле данных во фрейме, двойным щелчком по нему вызовим свойства данного поля и в свойстве «Source» выберем «NDOC», т.е. номер документа. Рамку для поля данных поставим «Нет линии». Теперь нужно создать подпись для этого поля, создадим элемент текст перед полем данных и введем для него подпись «Доверенность №», для элемента «текст» и поля данных поставим размер шрифта 12 (для этого их нужно сначала выделить) (рис. 140).

 

 

Рисунок 139 - Установка свойства Source повторяющегося фрейма

 

 

Рисунок 140 - Создания полей в повторяющемся фрейме

 

Таким же образом создадим поля данных и подпись для полей: дата выписки, дата действия, Ф.И.О., получатель. Для этого создадим 4 подписи с текстом «Дата выписки:», «Дата действия:», «Получатель:», «Доверенность выдана:», кроме этого 4 поля данных, у которых в поле «Source» установлено «datav», «data_deis», «fio», «naim_org». Необходимо у всех полей данных рамку установить в «Нет линии». В результате проделанных операций мы получим шапку документа (рис. 141).

 

 

Рисунок 141 - Вид «Шапки документа» доверенность

 

Ниже шапки документа расположим второй повторяющийся фрейм, для вывода табличной части документа из второго запроса. Двойным щелчком вызовем свойства данного фрейма и укажем свойство «Source» «G_KOD», а в свойстве «Vertical Elasticity» выберем «Variable» (рис. 142).

 

 

Рисунок 142 - Установка свойств повторяющегося фрейма

 

Так как в табличной части документа на необходимо выводить столбец с нумерацией строк, нам необходимо создать элемент «Summary Column» во втором запросе. Для этого перейдем на вкладку построения модели данных отчета, нажмем кнопку  и щелкнем мышью по второму запросу, в результате появится еще одно поле в запросе (рис. 143).

 

Рисунок 143 - Создание суммарного столбца

Двойным щелком вызовем свойство данного поля и установим следующие свойства: «Function» - «Count», «Source» - «KOD» (рис. 144).

 

 

Рисунок 144 - Установка свойств суммарного столбца

 

Аналогичным образом, как описано выше, поместим поля данных по горизонтали в следующем порядке во втором фрейме со следующими свойствами «Source»: «Номер по порядку» - «CS1», «Наименование» - «NAIMEN», «Количество» - «KOL», «Единица измерения» - «ED_IZM». Установите свойства полей данных рамка в «Нет линии» и сделаем выравнивание каждого поля данных по центру, используя панель инструментов «Report Editor» (). Теперь необходимо добавить подпись над каждым полем данных в соответствии с его содержанием, сделаем выравнивание текста по центру (рис. 145).

 

 

Рисунок 145 - Вид документа «Доверенность» в Report Editor

Теперь нам нужно разделить поля данных по горизонтали линиями, чтобы во фрейме данные отображались не одним столбцом, а четырьмя. Для этого будем использовать элемент «Линия» (рис. 146).

 

 

Рисунок 146 - Установка разделительных линий между столбцами данных

 

Таим же образом, нарисуем еще две линии между полями: «Наименование» и «Единица измерения», «Единица измерения» и «Количество».

На последнем этапе создания документа нам необходимо создать надписи для подписей главного бухгалтера и руководителя предприятия, поочередно создадим элемент «текст» () и добавим в них текст «Главный бухгалтер», «Руководитель предприятия». Для отображения линии, где бухгалтер или руководитель будет расписываться, используйте элемент «Линия» (рис. 147).

 

 

Рисунок 147 - Создание подписей в документе «Доверенность»

Теперь можно посмотреть, что у нас получается в режиме просмотра, для этого нажмем кнопку , в результате должно появится окно для ввода параметров (рис. 148).

 

 

Рисунок 148 - Ввод параметров при запуске отчета

 

В данном окне мы должны ввести номер документа, который мы уже раннее создали (т.е. который уже есть в таблице «d_dover2»), после ввода номера документа, нажмем кнопку «Enter» и получим документ (рис. 149).

 

Рисунок 149 -. Документ «Доверенность» в режиме просмотра

Нажмем кнопку  для сохранения документа.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: