Эксперт шаблонов

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

Если требуется применить шаблон к отчету, который уже был создан (с помощью мастера отчетов или без), можно воспользоваться экспертом шаблонов Template

Expert, позволяющим применять шаблон и отменять предыдущее применение отчета. Чтобы отобразить окно эксперта Template Expert, щелкните на кнопке Template Expert, которая находится в панели инструментов экспертов, или выберите в меню Report (Отчет) пункт Template Expert (Эксперт отчетов). На экране появится окно Template Expert, показанное на рис. 7.16.

Рис. 7.16. Окно эксперта Template Expert

Окно Template Expert выглядит практически так же, как раздел Template в мастерах отчетов, но только еще содержит несколько дополнительных опций. Как и при работе с мастерами, вы можете выбрать шаблон из списка, чтобы добавить его в текущий отчет. При выделении шаблона в списке в области Preview эксперта Template Expert появится миниатюрное изображение этого шаблона. Вы также можете щелкнуть на кнопке Browse, чтобы включить в список шаблонов существующий .RPT-файл с целью его последующего использования для изменения формата текущего отчета.

Однако, как уже упоминалось, в окне эксперта Template Expert содержится несколько дополнительных опций, которые в соответствующем окне мастеров не доступны. Например, если вы уже применили шаблон, но не довольны тем, что получилось (что зполне возможно, поскольку шаблоны могут очень сильно изменять форматирование отчетов), вы можете отменить применение шаблона, установив в окне эксперта Template Expert переключатель Undo the Current Template (Отменить текущий шаблон). Эксперт шаблонов

Это единственный способ отменить применение шаблона — опция Undo (Отменить) в меню Edit (Правка) и кнопка Undo в панели инструментов не позволяют сделать это. Если вы отменили применение шаблона, а теперь хотите снова его применить, можете либо вновь выбрать его в списке шаблонов, либо установить переключатель Re-Apply the Last Template (Повторно применить последний шаблон). Важно помнить, что опции Undo (Отменить) и Redo (Восстановить) будут доступны только на протяжении текущего сеанса работы Crystal Reports. Если вы примените шаблон, сохраните отчет и выйдите из Crystal Reports, вернуться к предыдущему форматированию уже не удастся.

Совет. Отображающиеся в окне эксперта Template Expert предопределенные шаблоны предоставляются существующими .RPT-файлами. По умолчанию Crystal Reports производит поиск шаблонных отчетов в каталоге \Program Files\Business Objects\Crystal Reports 11 \ Templates \ <язык>. При желании изменить каталог, используемый Crystal Reports для заполнения списка в окне эксперта Template Expert, придется внести соответствующие изменения в следующий ключ системного реестра: HKEY_LOCAL_MACHINE/Software/ Business Objects /Suite 11.0/Crystal Reports/Templates/TemplatePath. Если навыки работы с параметрами системного реестра отсутствуют, лучше не делайте этого.

Как только вы выберете шаблон для применения к текущему отчету, формат отчета изменится, причем, как часто бывает, самым неожиданным образом. То, как Crystal Reports применит форматирование из исходного шаблона к конкретным объектам и разделам текущего отчета, не всегда можно предсказать, поэтому сначала, скорее всего, имеет смысл поэкспериментировать с несколькими шаблонами, чтобы разобраться, как они влияют на текущий отчет. Однако, как правило, Crystal Reports сравнивает объекты и разделы в шаблоне и текущем отчете и применяет к ним свойства форматирования, определенные в шаблоне. Если, например, шаблонный отчет содержит два раздела подробностей (“Details а” и “Details b”), а текущий — только один, то после применения шаблона в текущем отчете появится дополнительный раздел подробностей. Если в шаблоне присутствует диаграмма, которой нет в текущем отчете, она будет добавлена в него. И, наконец, если шаблон содержит десять полей в разделе подробностей, отформатированных различными цветами, в общем случае можно ожидать, что шаблонное форматирование будет применено к первым десяти объектам в разделе подробностей текущего отчета.

Планируя использовать шаблон, не стоит выполнять форматирование исходного отчета, поскольку все форматирование, которое существовало до применения шаблона, после применения шаблона все равно пропадет. Если в целом форматирование отчета вас устраивает, перед применением шаблонов лучше сохраните отчет. Хотя в эксперте Template Expert и доступна опция Undo, рисковать все же не стоит.

Совет. К одному и тому же отчету можно применять и более одного шаблона; для этого потребуется просто повторить описанные выше действия несколько раз. В одних случаях, что зависит от применяемых шаблонов, отчет будет сочетать в себе опции форматирования из сразу нескольких разных шаблонов, в других — опции форматирования нового шаблона будут полностью заменять опции форматирования предыдущего.

Создание собственных шаблонов

Как уже упоминалось ранее, шаблоны — это просто другие .RPT-файлы Crystal Reports, форматирование которых копируется в текущий отчет. Хотя примеры шаблонов, предлагаемые компанией Business Objects, хороши для изучения возможностей добавления шаблонов, вам, скорее всего, понадобится разработать набор шаблонов, отвечающих потребностям вашей компании и содержащих, к примеру, логотип компании, определенные типы шрифтов, различные форматы для объектов и разделов, которыми вы будете пользоваться регулярно.

Для начала просто выберите какие-нибудь созданные “стандартные” отчеты, хотя бы приблизительно отвечающие вашим представлениям о том, как должен выглядеть шаблонный отчет. Сохраните их в какой-то временной папке и измените их так, чтобы они могли использоваться как шаблоны. Изменив существующие “шаблонные” отчеты в соответствии со своими потребностями, можете указать для них подходящее название, воспользовавшись полем Title, которое доступно в диалоговом окне Summary Info, а также установить флажок Save Preview Picture, который находится в этом же диалоговом окне. Далее выполните предварительный просмотр отчета (это необходимо для генерации изображения предварительного просмотра) и сохраните отчет в каталоге для шаблонов. После этого данный отчет будет отображаться как шаблон в окне эксперта Template Expert и в разделе Template мастера отчетов.

Отчет, который будет в будущем служить в качестве шаблона, можно создать и “с нуля”. При этом в Crystal Reports для такого случая предусмотрен специальный тип поля, называемый полем шаблона (template field). Поле шаблона — это специализированное поле, которое добавляется в шаблон и действует как заполнитель для объектов отчета во время применения шаблона к главному отчету. Первоначально поле отчета не отображает никаких данных — оно содержит только информацию форматирования, которая будет передаваться из шаблона в главный отчет. Чтобы вставить поле шаблона, выберите в меню Insert (Вставка) пункт Template Field Object (Объект поля шаблона). Рядом с курсором появится контур объекта (рис. 7.17). Перетащите объект в нужную часть отчета и отпустите кнопку мыши. Поле шаблона будет добавлено в отчет.

Теперь можете выделить поле шаблона и отформатировать его, используя любой из описанных в этой главе методов. Однако, форматируя поля шаблона в редакторе Format Editor, вы сразу же заметите одно существенное отличие между ними и обычными полями базы данных: при форматировании поля шаблона в окне редактора Format Editor будут отображаться вкладки для всех возможных типов данных. Эта дополнительная возможность позволяет настроить форматы для различных полей целевого отчета, которые вы хотите использовать в данном шаблонном отчете. Например, если вы не уверены, каким будет первое поле в разделе подробностей, строковым, числовым или полем типа даты, вы можете настроить параметры форматирования и на вкладке Paragraph, и на вкладке Number, и на вкладке Date and Time. В результате, при использовании данного поля шаблона для применения форматирования в целевом отчете, к “целевым полям” будут применяться те опции форматирования, которые подходят в данном конкретном случае.

Используя в шаблонном отчете поля шаблона, иногда сложно точно предугадать, как будет выглядеть форматирование в целевом отчете. Это связано с тем, что по умолчанию поля шаблона не присоединены к полям базы данных, поэтому они не отображают каких- либо данных при предварительном просмотре отчета на вкладке Preview. Заставить поля шаблона отображать значения на вкладке Preview можно с помощью Formula Workshop. Обратите внимание на то, что при добавлении поля шаблона в отчет в окно проводника Field Explorer добавляется соответствующая формула (рис. 7.18). Редактируя формулы полей шаблона (способы редактирования формул рассматривались в главе 5), можно сделать так, чтобы они возвращали что-нибудь, отличное от десяти пробелов, которые по умолчанию возвращаются по причине наличия функции Space (10). Вызов Space (10) может быть заменен полем базы данных из списка Field Tree или какой-то другой функцией из списка Function Tree. После этого на вкладке Preview появятся данные, с помощью которых вам будет легче понять, как будут выглядеть отчеты после применения к ним шаблона.

Настроив поля шаблона, которые должны использоваться для создания “шаблонного” отчета, отобразите диалоговое окно Summary Info и в поле Title укажите название для шаблона. Также, при желании, в этом окне можно установить флажок Save Preview Picture. Далее выполните предварительный просмотр “шаблонного” отчета (это необходимо для того, чтобы был создано изображение предварительного просмотра) и сохраните его в папке, в которой хранятся остальные шаблоны. Когда вы в следующий раз воспользуетесь экспертом Template Expert или мастером отчетов, чтобы применить шаблон, в списке предлагаемых шаблонов будет отображаться и этот новый шаблон.

Совет. Детальное описание особенностей взаимодействия объектов и разделов отчета из шаблона с основным отчетом можно найти в оперативной справочной системе Crystal Reports (поищите тему “templates, considerations” (“шаблоны, описание”)).

Эксперт шаблонов

Как можно применять написанную формулу
Определение пользовательских функций
Создание собственных пользовательских функций
Аргументы пользовательской функции
Кнопка Enter More Info

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


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