Система разработки и исполнения отчетов 9-й версии Visual FoxPro подверглась ревизии. Эта статья описывает в общих чертах основы этих обширных изменений и предоставляет вам инфомацию, где можно получить подробную информацию об этих изменениях.
В секциях этого раздела приведены следующие основные области, которых коснулись расширения в системе отчетов:
- Расширения в среде разработки (Design-time enhancements).
- Многочисленные возможности и произведенные изменения делают разработку отчетов в Visual FoxPro более удобной, как для вас, так и для конечных пользователей. Приложение "построитель отчетов"- Report Builder призвано вывести вас за привычные рамки ваших навыков разработки отчетов. Диалоговые блоки построителя отчетов и события дизайнера отчета полностью раскрыты для вас, с тем чтобы вы смогли подогнать "под себя" процесс разработки. (Уже появилось выражение - улучшение Visual FoxPro c помощью его самого. - прим. переводчика )
- Множественные области детализации данных - detail bands.
- Вы можете более гибко обрабабывать множество дочерних таблиц и взаимосвязей данных в исправленном дизайнере отчетов. Когда вы исполняете отчет с множеством областей вывода данных, вы можете связывать новые области (detail bands) c ассоциированными заголовками и подножиями этого блока данных, не только для, уместного в таком случае, представления этих взаимосвязей данных, но и для более понятных, объяснимых вычислений.
- Объектно-ассистированная технология отчетов в run-time.
- Полностью перестроенная система вывода отчетов, включаящая новые базовые классы, меняет путь, предоставляемый Visual FoxProдля вывода файлов отчетов и этикеток в run time. Объектно-ассистированная технология предоставляет вывод лучшего качества, предоставляет новые виды вывода и открытую архитектуру, основанную на новом базовом классе Visual FoxPro, именуемом ReportListener. Программируемый интерфейс предпросмотра отчетов (Report Preview) взаимодействует с объектами ReportListener, предоставляя вам полный контроль над предпросмотром отчета. Приложение Report Preview предоставляет улучшеннную "out-of-the-box" гибкость при предварительном просмотре.
- Улучшения в печати, исполнении и обработке кодировок (character-set).
- Visual FoxPro 9 позволяет лучшим образом образом использовать способности печати операционной системы и подсистемы рендеринга GDI+. Кроме того, он значительно лучше, чем в ранних версиях обслуживает многочисленные локали (locales) и символьные наборы (character sets). Эти изменения продемонстированы в Report System, и являются доступными для использования в пользовательских кодах во время разработки отчета и его исполнении в run-time.
- Открытое использование файлов определений отчетов и этикеток (таблиц .frx и .lbx).
- Visual FoxPro 9 манипулирует вашими существующими отчетами и этикетками без их модификации, что позволяет вам легко вводить в эти отчеты новые интересные особенности и поведения. Эта совместимая с ранними версиями и, тем не менее направленная в будущее, стратегия миграции делает возможным системе отчетов по-новому гибко манипулировать структурой таблиц .frx и .lbx.
Расширения для Design-time
Многочисленные изменения в системе подготовки и исполнения отчетов помогут вам дополнить Numerous changes in the Report System help you enhance the design-time experience for developers and end-users. Эта секция направит вас к информации об улучшениях для design-time.
Перехватчки событий дизайнера отчета (Report Designer Event Hooks) и приложение построителя отчета (Report Builder Application)
Report Designer, предлагает вам сейчас перехватчики событий Report Builder Hooks, которые позволят вам перехватывать события, происходящие во время сессий подготовки отчета или этикетки и расширить действия, которые вы можете осуществлять с его помощью. Используемое по умолчанию приложение Report Builder замещает множество стандартных диалоговых блоков, своими собственными новыми блоками, которые написаны в кодах Visual FoxPro. Компоненты приложения построителя отчета (Report Builder) представлены вам как фундаментальные классы Visual FoxPro Foundation.
Для изучения: | Прочитайте: |
---|---|
Перехватчики событий построителя отчета (Report Builder Hooks) |
|
Как приложение построителя отчета использует перехватчики событий |
|
Как указать и распространять построитель отчета совместно с вашими приложениями |
Системная переменная _REPORTBUILDER |
Использование алгоритмов построителя отчета в вашем коде |
Защита для сессий разработки конечного пользователя и возможности настройки
Вы можете позволить конечному пользователю модифицировать и создавать отчеты и этикетки с установкой ограничений на то, что они могут делать в интерфейсе дизайнера отчета с помощью нового ключевого слова PROTECTED. Защита может устанавливаться для индивидуальных объектов и для отчета в целом. Мы можете изменить вид того, что видит конечный пользователь в интерфейсе дизайнера раскладки, от сложных выражений до простых меток и образцов данных, во время работы в защищенном - PROTECTED - режиме разработки используя Design-Time Captions. Вы можете предоставить пользователю полезные инструкции, как для защищиенного, так и для стандратного режима разработки, используя Tooltips для элементов отчета.
Для изучения: | Прочитайте: |
---|---|
Использование ключевого слова PROTECTED |
|
Установка защиты для дизайнеров отчета и этикетки и что эта защита может делать |
|
Установку защиты предлагают диалоговые окна Report или Label Dialog, во время использования приложения построителя отчета |
Закладка Protection диалогового блока Report Control Properties (Report Builder) Закладка Protection диалогового блока Report Properties (Report Builder) Закладка Protection диалогового блока Report Band Properties (Report Builder) |
Design-Time Captions |
|
ToolTips для элементов отчета |
Расширенное использование Data Environment в отчетах
Вы можете сохранить Data Environment, который вы разработали для отчета или этикетки как визуальный класс. Вы можете загрузить Data Environment в дизайнер отчета или этикетки, либо из визуального класса, либо из ранее сохранненого отчета или этикетки.
Для изучения: | Прочитайте |
---|---|
Сохранение Data Environment отчета |
|
Загрузка Data Environment отчета |
Закладка Data Environment диалогового блока Report Properties (приложение Report Builder) |
Мощные улучшения в разработчике
В новой версии имеются многочисленные улучшения в дизайнерах отчета и этикетки. Некоторые из новых особенностей представляют собой искуссные изменения, позволяющие вам сделать сессии разработки более эффективными и удобными, другие - расширяют ваш выбор в типе вывода конечного отчета.
Для изучения | Прочитайте | ||
---|---|---|---|
Улучшения в Interactive Development Environment (IDE) отчета и этикетки, такие как:
|
|||
Изменения в глобальных опциях разработки отчета и этикетки |
|||
Использование нового свойства PictureVal элемента раскладки Image для указания картинок в отчетах |
|||
Новые символы шаблона картинки ( |
|||
Получение улучшенного вывода в формате HTML, котороое способствует улучшениям в производстве отчетов в run-time, когда вы выбираете Save As HTML… во время разработки отчета или этикетки |
Как: генерировать вывод для отчетов
|
Множественные полоски/области детализации (Detail Bands)
The Report Engine can now move through a scope of records multiple times. Записи могут представлять собой связанный набор линий детализации в дочерних таблицах, или они могут множество раз проходить через одну и ту же таблицу. Эти множественные проходы через границы записей представлены как множественные полоски/области детализации (multiple detail bands).
Полоски/области детализации (Detail bands) могут иметь свои собственные заголовки и подножия, свой собственный код, связанный с onEntry и onExit и свои собственные связанные переменные отчета. Каждый detail band может быть явно связан с отдельныс целевым псевдоименем (target alias), позволяя вас управлять числом входов на каждом detail band отдельно для связанных таблиц.
Отчеты с множественными detail band предоставляют много новых путей, с помощью которых вы можете представлять данные в отчетах и этикетках, а также новые пути, с помощью которых вы можете подсчитывать или суммировать данные при движении черех границы записей.
Для изучения | Прочитайте |
---|---|
Разработка отчетов и этикеток с множественными detail bands и связанных с ними заголовков и подножий |
Диалоговый блок Optional Bands Диалоговый блок Report Band Properties Диалоговый блок Band Tab, Report Band Properties (Report Builder) |
Обработка множественных, связанных таблиц в данных отчета и этикетки |
Работа со связанными таблицами с использованием Multiple Detail Bands в отчетах |
Связывание переменных отчета с полосками/областями детализации данных |
|
Сравнение множественных групп и множественных полосок/областей детализации данных |
Обработка объектно-ассистированного отчета в Run-time
Visual FoxPro 9 имеет новый, объектно-ассистированный метод генерации вывода их отчетов и этикеток. Вы можете использовать существующие раскладки отчета и этикеток в объектно-ассистируемом режиме для:
- генерации множественных типов вывода во время выпуска отчета;
- объединения множественных отчетов в один, как части одного конечного вывода;
- улучшения качества традиционного вывода отчета;
- динамической установки содержания отчета во время его обработки;
- предоставления новых типов вывода, недоступных в ранних версиях Visual FoxPro.
Этот раздел покрывает массив расширений для run-time, которые работают совместно для поддержки режима объектно-ассистированного производства отчета.
Объектно-ассистированная архитектура и базовый класс ReportListener
Новый базовый класс ReportListener и поддерживающие его расширения языка являются сердцем расширений отчетов в run-time.
Для изучения | Прочитайте |
---|---|
Основы архитектуры, как ее компоненты совместно работают и что происходит при запуске объектно-ассистированного отчета |
Понимание объектно-ассистированной системы отчетов Visual FoxPro |
Базовый класс ReportListener и его методы |
|
Автоматический вызов режима объектно-ассистированной технологии отчета |
|
Явный вызов режима объектно-ассистированной технологии отчета с помощью команд Visual FoxPro |
|
Отладка и обработка ошибок исполняемого объектно-ассистированного отчета |
Report Preview API и приложение Report Preview
Объектно-ассистированный режим исполнения отчета в Visual FoxPro 9 дает вам полный контроль над предпросмотром очтета и этикетки.
Для изучения | Прочитайте |
---|---|
Как работает объектно-ассистированный предпросмотр |
|
Используемое по умолчанию приложение Report Preview |
Улучшение контейнера предпросмотра, используемого по умолчанию |
Как указать и распространять компоненты предпросмотра отчета совместно с вашими приложениями |
Системная переменная _REPORTPREVIEW |
New Types of Output and the Report Output Component Set
Поскольку вы можете субклассировать ReportListener, вы можете создавать новые типы выводов отчета. В поставке Visual FoxPro 9 имеется приложение Report Output Application для связи субклассов ReportListener c типами выводов, субклассов и типами выводов, subclasses with output types, также и классов, производных от ReportListener с расширенными возсожностями вывода.
Для изучения | Читайте |
---|---|
Требования для Report Output Application и как Visual FoxPro использует Report Output Applications |
|
Используемые по умолчанию возможности Report Output Application. |
|
Определяет пользовательские обработчики вывода, с помощью Report Output Application, используемого по умолчанию |
Как: указать альтернативную таблицу Report Output Registry Table |
Понимание и конфигурирование фундаментальных классов Visual FoxPro, предоставляющих поведение по умолчанию ReportListener для объектно-ассистированного предпросмотра и печати |
|
Понимание и конфигурирование фундаментальных классов Visual FoxPro, ответственных за выводы XML и HTML |
|
Усиление полного набора поддерживаемых фундаментальных классов Report Output и формата VFP Report Output XML |
|
Как указать и распространять компоненты Report Output с приложениями |
Как: указать и распространять компоненты Report Output Application |
Стратегии миграции и изменения в исполнении вывода
Вы можете использовать изменения, произведенные в design-time для улучшения всех отчетов и этикеток, когда вы выбираете режим совместимости с предыдущими версиями или режим объектно-асистированного производства отчета в run time.
При оценке выбора - стоит ли переключаться на объектно-ассистированный режим в run time, прежде всего примите во внимание предметы в списке важных изменений в производстве отчетов в статье Изменения в функциональности текущего релиза, некоторые их которых являются ограниченными этим новым методом создания вывода. Статья включает в себя таблицы минимальных различий между совместимым назад и объектно-ассистированный выводом отчета. Вы можете обследовать как будут воздействовать эти изменения на индивидуальных имеющихся отчетах, и использовать рекомендации, приведенные в указанной таблице для ссылки на них. Вы найдете дополнительные подробности в статье Использование GDI+ в отчетах.
Когда вы поэкспериментируете с вашими текущими отчетами, вы моежте решить какую стратегию выбрать для вывода:
- Вы можете переключить приложение на полное использование режима объектно-ассистированного вывода отчета с помощью команды
SET REPORTBEHAVIOR 90
. - Вы можете использовать команду
SET REPORTBEHAVIOR 90
на предварить конкретную команду REPORT FORM для отчета с форматирование командойSET REPORTBEHAVIOR 80
. - Вы можете все время использовать объектно-ассистированный режим, но настроить поведение ваших производных от ReportListener классов для соответствия конкретных требований. Например, вы можете изменить установку по умолчанию свойстав ReportListener'а DynamicLineHeight в False (
.F.
). - Вы можете оставить SET REPORTBEHAVIOR в его дефолтной установке в
80
, и добавить конкретную опцию OBJECT конкретному отчету на ваше усмотрение, поскольку у вас есть возможность оценить и установить индивидуальные раскладки отчета и этикетки.
Улучшения в печать, графическом выводу и обслуживании кодировок
Общие изменения в использовании Visual FoxPro печати под Windows, графическом выводе и обработки шрифтов поддерживают улучшения в системе вывода отчетов. Эти изменения расширяют ваши возможности в поддержке множества принтеров и множества языков в отчетах.
Для изучения | Читайте |
---|---|
Возможно GDI+ и воздействие на природный вывод в Visual FoxPro |
|
Расширения в производстве отчетов в Visual FoxPro, которые позволяют вашему программному коду использовать GDI+ в режиме объектно-ассистированного отчета, а также фундаментальные классы Visual FoxPro помогут вам начать их использование |
|
Полное использование мнодественных кодировок, или скриптов языков в отчетах, для конкретного элемента раскладки отчета, для отчета в целом по умолчанию или, глобально, в среде Visual FoxPro |
Диалоговый блок Style Tab, Report Control Properties (Report Builder) Как: Изменить установки страницы для отчетов Диалоговый блок Reports Tab, Options Возможности производства отчетов для международных приложений |
Измения в диалоговых блоках Visual FoxPro, удучшения в вашем программном доступе к ним, и предоставление перезаписи установок в Printer Environment в файлах отчета и этикеток |
|
Получение улучшенной информации о установленных принтерах пользователя |
|
Ограничение списка шрифтов, которые подходят для принтера пользователя |
Расширенное использование файлов определения отчета и этикетки
При всех этих изменениях в системе отчетов Visual FoxPro Report System, Report Designer и Report Engine обрабатывают ваши определения отчета и этикетки используя те же структуры файлов .frx и .lbx , которые были и в предыдущх версиях. Они изменяют путь использования их определенных полей, без превращения этих отчетов и этикеток в недействительные для ранних версий, и, кроме того, они позволяют вам расширить использование вами существующих полей или добавлять собственные поля в этих файлах.
![]() |
---|
Эти изменения являются критическими для ваших возможностей созлавать расширения новых возможностей системы отчетов. Например, вы можете хранить два набора ToolTips в двух полях расширения отчета, один набор для использования разработчиком и один набор для конечного пользователя. В расширении Report Builder вы можете оценить работал-ли Designer в защищенном или стандартном режиме, и заменить существующий набор ToolTips из соответствующего поля расширения. В предыдущих версиях, вы не могли добавлятьполя в структуру отчета или этикетки; Designer и Engine посчитали ли бы такую таблицу поврежденной или недействительной. Вы, кроме того, не могли безопасно добавить ваше собственное содержание в неиспользуемые, стандартные в различных записях файлов определения отчета или этикетки, так как Report Designer просто удалял такое содержание. |
Visual FoxPro 9 предоставляет пересмотренную таблицы FILESPEC для файлов отчета и этикетки, с расширенной инфорамции об испольщовании каждой колонки в ранних версиях наряду с текущими расширениями.
Visual FoxPro 9, кроме всего прочего, устанавливает новый, структурированный формат метаданных для своместного использования с отчетами. Этот формат представляет собой схему XML документа, совместно используемую с XML MemberData дизайнера классов.
Формат XML документа позволяет вам упаковать настроенную информацию о производстве отчета в единичной записи поля таблицы отчета или этикетки. Приложение построителя отчета, используемое по умолчанию упрощает ввод Report XML MemberData в записи таблиц отчетов и этикеток.
Для изучения | Читайте |
---|---|
Каким образом Visual FoxPro использует таблицы .frx и .lbx и как расширить эти структуры |
|
Как найти и отобразить содержание пересмотренной таблицы FILESPEC, 60FRX.dbf |
Таблица структур табличных файлов (.dbc, .frx, .lbx, .mnx, .pjx, .scx, .vcx) |
Каким образом вы можете редактировать XML данные с использованием приложения построителя отчета |
Как: присвоить структурированные Metadata для элементов отчета Report |
Каким образом вы можете использовать Report XML MemberData |
|
Схема документа для совместного использования MemberData |
Смотрите также
Справочное руководство
Расширение возможностей обработки данных Data and XML Feature EnhancementsУлучшения в языке SQL
Расширения в классах
Расширения языка
Расширения в дизайнерах Visual FoxPro
Прочие ресурсы
Что нового в Visual FoxProРасширения в среде разработки Development Environment (IDE) Enhancements
Разнообразные расширения
Изменения в функциональности текущего релиза