Авторизация



Несвязанные подчиненные отчеты

Оценить
(0 голоса)

Из всех типов несвязанный подчиненный отчет является самым простым. Такой отчет можно представить как абсолютно отдельный отчет, который просто вставлен в главный отчет — между ними нет никакой логической связи. У этого отчета имеется своя вкладка Design, отдельное соединение с базой данных и свои критерии выборки. Данные главного отчета на его содержимое вообще никак не влияют (рис. 12.1).

На заметку! Crystal Reports для подчиненного отчета никакого отдельного .RPT-файла не создает. Несмотря на то что для подчиненного отчета в конструкторе отчетов выделяется отдельная вкладка Design с отдельными таблицами и критериями отбора, все его данные хранятся в главном файле .RPT.

Чтобы создать несвязанный подчиненный отчет, сначала нужно создать или открыть шаблон (возможно пустой) главного отчета и только затем, воспользовавшись функцией Insert Subreport, создать или импортировать подчиненный отчет. Вставить подчиненный отчет можно и на вкладке Preview, однако в этом случае не всегда возможно точно его разместить. Поэтому перед добавлением подчиненного отчета лучше всего перейти на вкладку Design.

Создание подчиненного отчета начинается со щелчка на кнопке Insert Subreport (Вставить подчиненный отчет) в панели инструментов вставки или с выбора в меню Insert (Вставка) пункта Subreport (Подчиненный отчет), в результате чего на экране появляется диалоговое окно Insert Subreport (Вставить подчиненный отчет), показанное на рис. 12.2.

Диалоговое окно Insert Subreport содержит две вкладки: Subreport (Подчиненный отчет) и Link (Связь). Вкладка Link используется для создания связанных подчиненных отчетов (которые более подробно будут рассматриваться далее в этой главе). На вкладке

Несвязанные подчиненные отчеты

 

Subreport находятся два переключателя — Choose A Report (Выбрать отчет) и Create A Subreport with the Report Wizard (Создать подчиненный отчет с помощью мастера отчетов), и один флажок — On-Demand Subreport (Подчиненный отчет по запросу); о том. как создаются подчиненные отчеты по запросу, будет рассказываться чуть позже. Несвязанные подчиненные отчеты

Если отчет, в который необходимо импортировать подчиненный отчет, уже существует, можно установить переключатель Choose A Report и ввести путь и имя файла существующего отчета или воспользоваться кнопкой Browse (Обзор), чтобы отыскать его. После щелчка на кнопке ОК рядом с курсором мыши появится контур объекта подчиненного отчета, который останется просто разместить в желаемом месте главного отчета. Если дважды щелкнуть на контуре, выбрать в меню Edit (Правка) пункт Edit Subreport (Редактировать подчиненный отчет) или щелкнуть на подчиненном отчете правой кнопкой мыши и выбрать пункт Edit Subreport в контекстном меню, на экране появится еще одна вкладка Design, в которой будет отображаться макет импортированного отчета.

При желании создать подчиненный отчет с нуля, следует установить переключатель Create A Subreport и в поле Report Name (Имя отчета) ввести имя для нового подчиненного отчета. Поскольку для подчиненного отчета отдельный файл .RPT не создается, имя отчета может не соответствовать стандартным соглашениям по именованию файлов. Имя желательно выбирать осмысленное и соответствующее сути отчета, поскольку оно будет отображаться на вкладке Design главного отчета, независимо от месторасположения объекта подчиненного отчета. После ввода имени в диалоговом окне будет доступна только одна кнопка — Report Wisard (Мастер отчетов). Это означает, что вы обязательно должны воспользоваться мастером, чтобы создать хоть какую-то минимальную часть подотчета (когда вы завершите работу с мастером и вернетесь в диалоговое окно Insert Subreport, кнопка ОК станет доступной). После щелчка на кнопке Report Wizard на экране появится диалоговое окно мастера Standard Report Creation Wizard, показанное на рис. 12.3.

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

Для подчиненного отчета разрешается выбирать базы данных, таблицы и поля, отличные от тех, что используются в основном отчете. Все шаги мастера проходить не обязательно, на время работы над чем- то другим “пустой” подчиненный отчет останется просто контейнером для будущего заполнения, но в большинстве случаев желательно провести настройку хотя бы на экранах Data (Данные) и Fields (Поля). Все этапы создания отчета, которые были доступны при разработке главного отчета, доступны и при разработке подчиненного отчета, включая экраны Grouping (Группирование), Summarizing (Суммирование), Group Sorting (TopN) (Сортировка групп (TopN)), Chart (Диаграмма), Record Selection (Выборка записей) и Template (Шаблон). Дополнительные настройки можно выполнять как в мастере создания отчетов, до щелчка на кнопке Finish (Готово), так и непосредственно на вкладке Design подчиненного отчета, устанавливая в мастере минимум настроек.

После завершения работы мастера отчетов снова появится окно Insert Subreport. Теперь кнопка ОК будет доступна, поскольку минимальная информация уже была задана с помощью мастера. После щелчка на кнопке ОК появится вкладка Design главного отчета, а к курсору мыши будет прикреплен контур объекта подчиненного отчета, который останется просто разместить в нужном разделе главного отчета. Место размещения подчиненного отчета должно выбираться осмотрительно — например, если поместить его в раздел подробностей главного отчета, один и тот же подчиненный отчет будет повторяться столько раз, сколько будет выбрано записей для главного отчета. Обычно несвязанный подчиненный отчет, если необходимость в его повторении на каждой страницы отсутствует, помещается в заголовок или нижний колонтитул главного отчета.

Совет. В эксперте Section Expert (который подробно рассматривался в главе 8) имеется on- ция форматирования Underlay Following SGctions (Подложить под следующие разделы). Вы можете, например, создать второй раздел заголовка страницы, поместить объект подчиненного отчета в него и установить для этого заголовка опцию Underlay Following Sections. В этом случае подчиненный отчет будет печататься рядом с данными главного отчета (а не поверх них).

После размещения подчиненного отчета во вкладке Design главного отчета, он будет выглядеть как обычное поле с названием внутри. Если дважды щелкнуть на контуре, выбрать в меню Edit (Правка) пункт Edit Subreport (Редактировать подчиненный отчет) или щелкнуть на подчиненном отчете правой кнопкой мыши и выбрать пункт Edit Subreport в контекстном меню, рядом с вкладкой Design главного отчета появится еще одна вкладка Design с названием данного подотчета. Щелчок на этой вкладке позволит приступить к редактированию шаблона подчиненного отчета (рис. 12.4).

Точно так же как и в главном отчете, в подчиненном отчете можно будет передвигать объекты, изменять их размеры и форматы. У подчиненного отчета будет свое собственное окно Database Expert и Field Explorer, для него можно будет создавать отдельный набор формул, в общем, для него будут доступны все те же возможности, что и для главного зтчета. Существует только одно ограничение — в него нельзя будет добавить еще какой- нибудь подчиненный отчет. Такие отчеты могут иметь только один уровень вложения.

Внимание! В связи с описанным выше ограничением, отчет, который уже содержит подчиненные отчеты, при импорте через диалоговое окно Insert Subreport больше эти подчиненные отчеты уже включать не будет. Отчет будет импортирован на вкладку Design подотчета, но содержащиеся в нем подотчеты на этой вкладке отображаться не будут. Возможно, придется отредактировать импортированный отчет так, чтобы он не содержал пустых областей, на месте которых должны были быть эти подчиненные отчеты.

Подчиненный отчет также можно просмотреть и на его собственной вкладке Preview. Если вы находитесь на вкладке Design, отобразить вкладку Preview вы сможете либо щелкнув на кнопке Preview (Предварительный просмотр) в панели инструментов, либо щелкнув на кнопке Refresh (Обновить), либо нажав клавишу <F5>, либо выбрав соответствующий пункт из выпадающего меню. Вкладка Preview появится прямо рядом с вкладкой Design. К слову “Preview” будет добавлено название данного подчиненного отчета.

Теперь при просмотре главного отчета будет виден и подчиненный отчет. По умолчанию подчиненные отчеты окружены рамкой. Если такое выделение не нужно, щелкните правой кнопкой мыши на объекте подчиненного отчета, выберите в контекстном меню пункт Format Subreport (Форматировать подчиненный отчет) и удалите все или только некоторые линии рамки. При желании изменить внешний вид рамки, выделите подчиненный отчет и щелкните на подходящей кнопке в панели инструментов форматирования.

Если подчиненный отчет виден не полностью (сдвинут за пределы страницы или перекрыт данными главного отчета, что чаще всего бывает тогда, когда используется опция форматирования Underlay Following Section), вернитесь на вкладку Design главного отчета и переместите или измените размеры объекта подчиненного отчета. Ширина вкладки Design подчиненного отчета зависит от того, какой размер был задан объекту данного подчиненного отчета в главном отчете. Если на вкладке Design подчиненного отчета не хватает места для размещения объектов, вернитесь на вкладку Design главного отчета и измените размеры объекта подчиненного отчета.

Совет. При желании иметь возможность использовать подчиненный отчет отдельно или еще в каком-нибудь другом отчете, его можно сохранить в виде отдельного файла .RPT. Чтобы сделать это, выделите объект подчиненного отчета на вкладке Design или Preview главного отчета и выберите в меню File (Файл) пункт Save Subreport As (Сохранить подчиненный отчет как) или щелкните на объекте правой кнопкой мыши и выберите пункт Save Subreport As из контекстного меню.

Несвязанные подчиненные отчеты

 

Подчиненные отчеты с возможностью детализации
Связанные подчиненные отчеты
Связывание на основе полей формул
Форматирование подчиненного отчета с помощью редактора Format Editor
Подчиненные отчеты по запросу и по месту вставки

Добавить комментарий


Защитный код
Обновить