Вы можете проектировать и создавать Отчеты в целях представления требуемой Информации в удобочитаемом и упорядоченном виде, выполнив все необходимые условия для Отчетов, сформулированные Заказчиком или вашим Руководителем. Отчеты являются удобным и достаточно функциональным средством представления необходимой информации, которые можно повторно использовать, дублировать и выполнять несколькими Пользователями.

Данное Упражнение демонстрирует функциональные возможности по созданию Отчетов в Visual FoxPro; рассматриваются Мастера быстрого создания Отчетов, основанных на одной или нескольких, связанных Источниках Данных. Если вам необходимо выполнить дополнительное форматирование представленных Отчетов, или добавить пользовательские Элементы в данные Отчеты то воспользуйтесь системным средством Дизайнер Отчетов (Report designer).

Дополнительную информацию смотрите в разделе: Работа с Отчетами.

Expand imageСоздание Отчетов, управляемых одной Таблицей

Если вам достаточно только просмотреть содержание информационной Таблицы, то рекомендуется воспользоваться системным окном Browse для вашей таблицы .

Для активации системного окна Browse (Обзор) 

  1. С помощью системного меню File, откройте требуемую Таблицу.

  2. В системном меню View, выберите подпункт Browse.

Если вам необходимо быстро распечатать содержание Таблицы или отправить Почтовое Сообщение, то рекомендуется сначала использовать механизм Экспорта данных в текстовый файл, а после этого - распечатать данный файл или отправить его по электронной почте. Диалоговый бокс Экспорта данных имеет дополнительные параметры уточнения подгрупп экспортируемых Записей Таблицы. (Обратите внимание, что при печати больших таблиц рекомендуется устанавливать соответствующую ориентацию печатного Листа (ЛандШафт) ).

Для быстрого получения "чернового" варианта Отчета о данных из Таблицы

  1. С помощью системного Меню File, активируйте диалоговый бокс Open.

  2. В диалоговом боксе Open, выберите опцию Table из раскрывающегося списка Files of type, выполните поиск требуемой Таблицы, выберите ее, и нажмите кнопку OK.

  3. В системном меню View, выберите подпункт Browse.

    Активируется указанное системное окно с содержанием выбранной таблицы данных. В условиях Среды Разработки (IDE), вы можете изменить ширину Столбцов или их размещение (порядок) в системном окне, вы можете также выполнить дополнительные изменения с помощью опций системного меню Table.

  4. В системном меню File, выберите подпункт Export.

  5. В активированном диалоговом боксе Export, выберите вариант Delimited Text из раскрывающегося списка Type.

    Обратите внимание, что вы можете использовать другой тип Экспорта данных, например: Microsoft Excel, вы должны выбрать указанный тип преобразования, данные из таблицы будут отформатированы соответствующим образом, будет создан внешний файл с соответствующим расширением.

  6. Нажмите кнопку To, и введите имя создаваемого файла (включая расширение этого файла).

  7. В раскрывающемся списке Field separator, выберите требуемый вам Разделитель данных полей таблицы, и нажмите кнопку OK.

Мастер создания Отчетов Visual FoxPro.

Если вы представляете в общих чертах назначение проектируемого Отчета: презентация, или подведение итогов или выполнение бухгалтерских вычислений, или планируется многократное использование отчета, то рекомендуется воспользоваться системными средствами Мастер Отчетов или Дизайнер Отчетов (Report wizard or the Report designer),  помощью которых можно создать изменяемые, или дополняемые, или корректируемые Отчеты.

Мастер Отчетов, с помощью дополнительных, уточняющих вопросов позволяет создать достаточно функциональные, хорошо сконструированные Отчеты, которые создаются достаточно быстро и во многих случаях реализуют поставленные Задачи.

Для использования Мастера Отчетов

  1. В системном меню File, выберите подпункт New.

  2. В активированном диалоговом боксе New, выберите вариант Report (Отчет).

  3. Нажмите кнопку Wizard (Мастер), и уточните тип создаваемого нового Отчета.

В системном окне Мастера, вы можете выполнить предварительный просмотр создаваемого Отчета (перед тем, как сохранить его). Дополнительно, вы можете сохранить текущую копию созданного Отчета, которую в дальнейшем вы можете открыть в Дизайнере Отчетов,  с помощью которого и дополнительных функций Visual FoxPro IDE вы можете продолжить дальнейшее совершенствование созданного Отчета, или уточнения его функциональных характеристик.

Для проведения собственных экспериментов при работе с Мастером Отчетов, рекомендуется использовать тестовую Таблицу Labels.dbf, которая поставляется в составе дистрибутива Visual FoxPro. С помощью представленных далее простых процедур вы можете создавать широкий спектр Отчетов, управляемых одной таблицей Данных.

Для создания простых Отчетов с использованием таблицы стилей Labels.dbf

  1. В системном меню File, выберите подпункт New.

  2. В активированном диалоговом боксе New, выберите вариант Report и нажмите кнопку Wizard.

  3. В диалоговом боксе Wizard selection (Уточнение типа Мастера), выполните "double-click"  Report Wizard.

  4. В системном окне Мастера, выберите вариант: Free Tables (Свободные Таблицы) из раскрывающегося списка  Databases and tables, выберите или выполните поиск требуемой таблицы Labels.

  5. Выберите несколько или все из представленных Полей продолжайте работу Мастера, выполните переход к Шагу 5 (Step 5).

  6. В Закладке Step 5, выберите Стиль Отчета и требуемую ориентацию Листа печати.

    Дополнительно, вы можете использовать кнопку Summary - для подключения агрегатных функций подсчета итогов — Sum, Avg, Count, Min, или Max— которые выполняют подсчет требуемых результатов относительно соответствующих полей таблицы. Выбранные функции автоматически добавляются в создаваемый Отчет и размещаются соответствующим образом (на последней странице Отчета ).

  7. В Закладке Step 6, нажмите кнопку Preview, чтобы просмотреть предварительный вариант Отчета, или нажмите кнопку Finish. Вы можете распечатать полученный отчет непосредственно из режима просмотра, и не выполнять сохранение в файле созданного Отчета.

    Обратите внимание, что мастер Report создает Этикетки и подбирает характеристики Шрифтов, их размеров, закладывает различные дополнительные стилистические особенности создаваемых Типов Отчета. Во многих случаях, мастер Отчетов позволяет достаточно быстро создавать требуемые Отчеты, обладающие высоким качеством, значительно превосходящим описанные выше отчеты, или при просмотре данных в системном окне Browse, или выполнения экспорта в текстовый файл.

  8. Нажмите кнопку Finish (Завершение).

Дополнительную информацию смотрите в разделах: Мастер Отчетов или Мастер Отчетов типа "One-To-Many".

Дизайнер Отчетов системы Visual FoxPro.

У вас имеется возможность использовать системное средство: Дизайнер Отчетов, с помощью которого вы можете создать простейшие Отчеты, запустить процесс создания Быстрого Отчета (Quick Reports). Дополнительно, данное средство  имеет широкий спектр функциональных возможностей по проектированию и форматированию создаваемых Отчетов. Основным отличием между Мастером Отчетов и Дизайнером Отчетов является расширенные возможности Дизайнера по созданию различных, специфических Контролов и Элементов Отчета и их размещения на Листах Отчета.

Для создания Быстрого Отчета с помощью Дизайнера Отчетов (Report designer)

  1. В системном меню File, выберите подпункт New.

  2. В активированном диалоговом боксе New, выберите вариант Report (Отчет), и нажмите кнопку New File (Новый Файл).

  3. В системном меню Report, выберите подпункт Quick Report (Быстрый Отчет).

    Если в настоящий момент в текущей рабочей области открыта Таблица Данных, Visual FoxPro использует ее в качестве источника данных для генерации начального варианта Отчета. Если нет открытой Таблицы, Visual FoxPro активирует диалоговый бокс Open, с помощью которого вы можете открыть требуемую Таблицу Данных (в качестве источника данных создаваемого Отчета).

Дизайнер Отчета автоматически заполняет соответствующими Контролами Полосы Отчета Detail и Page Footer. Далее, указанные выше Контролы Отчета доступны для редактирования, или уточнения характеристик этих Контролов. В этом случае, у вас имеется гораздо больше возможностей, чем в системном средстве: Мастер Отчетов; однако, вместе с тем, на вас возлагается и большая Ответственность по результатам Отчета. Если вам требуется построить дополнительные Контролы, подсуммирования, средних значений, количественных показателей, то рекомендуется использовать подпункт Data Grouping из системного меню Report. Для использования группировки данных достаточно указать имя Поля группировки, или построить специальное выражение с помощью Построителя Выражений (Expression builder).

Для включения вычисляемых Контролов в ваш Отчет (в качестве Примера), откройте индексированную таблицу (индекс по полю cust_id), выполните построение Быстрого Отчета (Quick Report), определить необходимую Группировку Данных, далее: разместите вычисляемые Контролы в требуемых местах Отчета. Наконец, Просмотрите или напечатайте полученный вариант Отчета, сохраните отчет в файле (если это требуется).

Для создания Отчетов, содержащих вычисляемые Контролы

  1. В системном меню File, откройте тестовую Таблицу: "..\samples\Data\orders.dbf".

  2. В системном меню Window, выберите подпункт Data Session, и нажмите кнопку Properties (Свойства) - для установки текущего режима Сортировки данных. В диалоговом боксе Work Area Properties (Свойства Рабочей Области), выберите индексный Тэг с именем: Orders.cust_id, нажмите кнопку OK, и закройте диалоговый бокс Data Session (Сессия Данных).

  3. В системном меню File, выберите подпункт New. В диалоговом боксе New, выберите тип Report, и нажмите кнопку New File.

  4. В системном меню Report, выберите подпункт Quick Report (Быстрый Отчет), и установите вертикальный вариант размещения Контролов Отчета. Нажмите кнопку Fields (Поля), выберите требуемые Поля из представленной Таблицы, нажмите кнопку OK. И и  еще раз - OK в диалоговом боксе Quick Report.

    NoteОбратите Внимание

    Для примера, предлагается выбрать следующие Поля - Контролы для Отчета: Order_ID, Cust_ID, и Order_amt.

  5. В системном меню Report, выберите подпункт Data Grouping. в диалоговом боксе Data Grouping (Группировка Данных), нажмите кнопку Add (добавить) и, из списка Fields (Поля) в соответствующем Expression Builder (Построителе Выражений), выполните "double-click" для поля Orders.cust_id. Нажмите OK.

  6. В полосе Отчета Detail (Детали), разместите Контрол Отчета order_amt, "перетащите" (выполните копирование) данный контрол в полосу Отчета Group Footer, где размещаются групповые итоги, далее: откройте диалоговый бокс Field Properties (Свойства Поля). В закладке Calculate (Вычисления), выберите агрегатную функцию Sum из соответствующего списка: Calculate Type.

    NoteОбратите Внимание

    По-Умолчанию, устанавливается характеристика Reset based on, для выбранного поля Order.cust_id. Данная вариант обеспечивает очистку накопительной внутренней переменной Отчета, которая отвечает за выбранную функцию Sum, очистка выполняется каждый раз, когда изменяется значение поля cust_id (когда заканчивается соответствующая группа данных).

  7. В полосе Отчета Detail, разместите следующее поле, с именем order_amt, "перетащите" (выполните копирование) данного контрола в полосу отчета Page Footer, далее: откройте диалоговый бокс Field Properties. В закладке Calculate, выберите вариант подсуммирования: Sum из соответствующего списка вариантов Calculate Type, и измените текущую характеристику "обнуления" Reset based on на новое значение = Report.

  8. В системном меню Report, выберите подпункт Print Preview (Предварительный Просмотр) - чтобы просмотреть предварительный вариант созданного Отчета. Сохраните созданный Отчет (если он удовлетворяет вашим требованиям). Последний лист Отчета содержит общие Итоги вычисленных Контролов (описанных выше), которые отсутствуют в исходном источнике Данных - Таблице.

Пока открыто системное окно Дизайнера Отчетов, вы можете параллельно работать с другим инструментарием вашей системы, с другими Дизайнерами, вы можете просмотреть содержимое Исходной Таблицы, изменить Среду Данных, свойства объекта DataEnvironment, выбрать другие Таблицы, построить новые Индексы. Дополнительно, вы можете добавить или изменить функциональный инструментарий  Контролов Отчета, или элементы системного меню Report.

Дополнительную информацию о возможностях Дизайнера Отчетов (Report designer) смотрите в разделах:  Дизайнер Отчетов или Report Band Properties (Свойства Полос Отчета), диалоговый бокс.

Expand imageСоздание Отчетов, основанных на нескольких Таблицах Данных

Дополнительно к отчетам, управляемым одной таблицей, Visual FoxPro может создавать более сложные отчеты, содержащие данные из нескольких взаимосвязанных Таблиц, выполнять специфические вычисления, генерировать Итоги групп данных.

Далее описываются процедуры, использующие две тестовые Таблицы: Customer (Клиенты) и Orders (Заказы), которые присоединены к контейнеру Базы Данных: TestData.dbc, размещенной в подкаталоге Samples.

Для создания Отчета на основе БД Testdata, входящей в дистрибутив системы Visual FoxPro

  1. В системном меню File, выберите подпункт New.

  2. В активированном диалоговом боксе New, выберите вариант Report, и нажмите кнопку Wizard (Мастер).

  3. В диалоговом боксе Wizard selection, выполните "double-click" для элемента One-To-Many Report Wizard (Мастер сложных Отчетов).

  4. В системном окне мастера One-To-Many Report (Отчет типа "Один-ко-Многим") , выберите в качестве источника данных контейнер базы данных TESTDATA, из соответствующего раскрывающегося списка Databases and Tables, далее выберите таблицу  Клиентов Customer.

  5. В закладке Step 1, выделите таблицу Customer, и выберите поля: cust_id, Customer из соответствующего списка доступных Полей Available Fields.

  6. В закладке Step 2, выделите таблицу Orders, и выберите поля: cust_id, to_city, и order_amt из соответствующего списка Available Fields.

    В закладке Step 3, вы можете увидеть результаты выполненных вами действий, привязка рассмотренных выше Таблиц, и соответствующие поля: — customer.cust_id , orders.cust_id; которые должны иметь соответствующие Индексы, по которым осуществляется привязка Таблиц.

    Если вам требуется построение нестандартного Отношения, то вы можете  выбрать другие Таблицы в качестве дочерних к таблице Клиентов. Если вы определяете специальное Отношение между таблицами, то вам требуется внимательно проанализировать характеристики Связей, определенные в шагах 1-2 рассматриваемого Мастера.

  7. В Закладке Step 5, выберите Стиль Отчета и требуемую ориентацию Листа печати.

    Дополнительно, вы можете использовать кнопку Summary - для подключения агрегатных функций подсчета итогов — Sum, Avg, Count, Min, или Max — которые выполняют подсчет требуемых результатов относительно соответствующих полей таблицы. Выбранные функции автоматически добавляются в создаваемый Отчет и размещаются соответствующим образом (на последней странице Отчета ).

  8. В Закладке Step 6, нажмите кнопку Preview, чтобы просмотреть предварительный вариант Отчета, или нажмите кнопку Finish. Вы можете распечатать полученный отчет непосредственно из режима просмотра, и не выполнять сохранение в файле созданного Отчета.
    Обратите внимание, что мастер Report создает Этикетки и подбирает характеристики Шрифтов, их размеров, закладывает различные дополнительные стилистические особенности создаваемых Типов Отчета. Во многих случаях, мастер Отчетов позволяет достаточно быстро создавать требуемые Отчеты, обладающие высоким качеством, значительно превосходящим описанные выше отчеты, или при просмотре данных в системном окне Browse, или выполнения экспорта в текстовый файл.

  9. Нажмите кнопку Finish (Завершение).

Вы можете построить соответствующий Отчет (описанный выше) и с помощью Дизайнера Отчетов, однако вам требуется самостоятельно определить все необходимые характеристики определения Отношений между таблицами (которые вы выберите). Далее, Контролы самого Отчета можно "перетащить" из уже созданных Отчетов (например, с помощью Мастера Отчетов ). 

Для использования других вариантов дочерних данных смотрите раздел: Примеры Решений.

Дополнительную информацию по использованию Отчетов смотрите в разделе: Как: Определить выражение в поле Контрола Отчета.

Expand imageСм. также