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

7.4.2. Отчет главный-детальный

Отчет главный-детальный воспроизводит данные из одной записи главной таблицы и все записи связанной с ней дочерней таблицы. Таким отчетом будет накладная с указанием реквизитов заказчика и перечня поставляемой продукции.

Для подготовки отчетов главный-детальный в Rave Designer предусмотрен мастер, который вызывается командой Tools > Master/Detail Report. Для создания отчета главный-детальный без помощи мастера нужно выполнить следующие действия.

1. В приложении Delphi создайте два НД – главный и детальный. Между ними можно не устанавливать соответствующую реляционную связь, так как эта связь будет создана в проекте отчета.

2. Поместите в приложение два связных компонента RvXXXXConnection, с условием: если НД построен на запросе Query, связным должен быть компонент RvDataSetConnection (но не RvQueryConnection); если НД – таблица Таble, используется компонент RvTableConnection (но не RvDataSetConnection).

3. Создайте в проекте отчета два объекта данных типа Direct Data View, которые используют соответствующие связные компоненты.

4. На пустую вкладку Page Designer поместите компонент Region (вкладка Report) и назначьте ему нужные размеры. Полосы с данными можно поместить только на этот компонент, и они автоматически растянутся на всю его ширину. Таким образом, размеры компонента Region определяют размеры основной области отображения данных на странице отчета.

5. На компонент Region поместите компонент Band (вкладка Report), на нем разместите компоненты Text (вкладка Standard), с помощью которых создается заголовок отчета.

6. На компонент Region поместите компонент DataBand (вкладка Report) для отображения данных из главного НД. В его свойстве DataView укажите ссылку на соответствующий объект отображения Direct Data View. На полосе разместите компоненты Text и DataText для формирования поясняющих надписей и данных из полей главного НД. Компоненты DataText с помощью свойств DataView свяжите с объектом отображения, а в их свойства DataField поместите ссылки на нужные поля или выражения с участием полей и системных переменных.

7. На компонент Region поместите еще один компонент Band для формирования заголовков полей. В редакторе его свойства BandStyle установите флажок Body Header. На полосе разместите необходимые компоненты Text с названиями полей и, возможно, оформительские компоненты (например, расчерчивающие линии).

8. На компонент Region поместите еще один компонент DataBand для отображения данных из детального НД. Важный момент – правильная настройка этого компонента. В его свойство DataView поместите ссылку на детальный объект отображения данных, в свойство DataKey – ссылку на ключевое поле детального НД, в свойство MasterDataView – ссылку на объект отображения главного НД, в свойство MasterKey – ссылку на ключевое поле главного НД. Установка перечисленных свойств образует реляционную связь главный-детальный, поэтому задание этой связи в приложении Delphi не обязательно. В свойство ControllerBand поместите ссылку на полосу с данными из главного НД, в редакторе свойства BandStyle установите флажок Detail. На полосе разместите компоненты DataText для отображения отдельных полей детальных данных.

9. В располагающейся выше детальной полосы полосе заголовков полей в свойство ControllerBand поместите ссылку на детальную полосу.

10. Ниже детальной полосы при необходимости разместите полосу Band для оформления итоговой части перечисленных детальных данных. В редакторе свойства BandStyle этой полосы установите флажок Body Footer, а в свойства ControllerBand поместите ссылку на детальную полосу.

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

Буквы и цифры в правой части соответствуют отмеченным флажкам в окне редактора свойства BandStyle. Эти отметки позволяют оценить подчиненность полос и последовательность их печати.