Назначение

Позволяет распечатать данные из базы данных.


Описание

Настройка кнопки с действием «Отчет» практически ничем не отличается от настройки кнопки с действием «Поиск», т.к. по сути оба действия производят поиск по базе данных с последующим выводом результата поиска, только в нашем случае результат поиска мы увидим при печати. После настройки кнопки, необходимо вызвать дизайнер отчета, чтобы создать шаблон, который будет определять, как именно будет выглядеть документ при печати, но все по порядку.



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




Подобный вид отчетов еще называется Master-Detail с группировкой. В нашем примере информация о клиенте является Master (родительская запись), а список арендованной техники данным клиентом, является Detail (дочерние записи), которые группируются по клиенту.


Структура БД, которая используется для данного примера:




Выберите для данной кнопки действие «Отчет», настройка данной кнопки показана на рисунке ниже:




Подробно рассмотрим данную настройку по шагам:


  1. Выберите компоненты участвующие в поиске

Данный список пуст, поэтому в отчет попадут данные о всех клиентах, которые присутствуют в базе данных. При необходимости, вы можете добавить компоненты, с помощью которых в отчет попадут только те клиенты, которые соотвествуют вашим критериям, например только Юридические лица.



  1. Выберите таблицу базы данных для поиска

Мы будем печатать информацию о клиентах, соответственно выбираем таблицу БД Client.



  1. Формирование результата

Выбираем поля таблицы, которые нам необходимы в отчете.

Важно: Обратите внимание, что мы добавили поле Client.id, с помощью данного поля будет осуществлена группировка данных по клиентам в дизайнере отчета.



  1. Выберите шаблон отчета

Так как шаблон отчета нам еще предстоит создать, в данной настройке должно быть выбрано «Открыть дизайнер отчета…»

Шаблон отчета - это файл, который определяет, как именно будет выглядеть отчет, данный файл создается в дизайнере отчета и будет сохранен в папке Report вашего проекта.




Тут стоит упомянуть об одном нюансе. Как видно из настроек в п.2, для формирование результата мы выбираем поля из 4 различных таблиц (Client, CustomerType, Rent, Equipment), как правило, в других программах необходимо составлять SQL запрос, в котором вручную указывается, каким образом одна таблица, связывается с другой таблицей и в какой последовательности.


Программа My Visual Database старается самостоятельно понять, как именно необходимо связать таблицы между собой, чтобы получились именно те данные, на которые вы рассчитываете, таким образом, избавляя вас от необходимости изучения языка запросов SQL.


К сожалению, не всегда программа может предвидеть, каким образом необходимо связать таблицы, чтобы в результате получить данные, которые вы хотели бы видеть. Такая ситуация может возникнуть, когда вам необходимо связать 3 и более таблицы и если между ними нет очевидных связей. Так, например, между таблицей «Client» и «Equipment» нет связей, связь между этими таблицами осуществляется посредством другой таблицы «Rent».


Что же делать? На вкладке «Таблицы базы данных», под каждой таблицей есть галочка «Таблица является словарем». На данной вкладке необходимо отметить, какие таблицы в вашем проекте являются словарями. Но как понять, какие именно таблицы являются словарями?


Примерами словарных таблиц может служить таблица, в которой содержаться названия стран, статусы (Открыт, Закрыт),  типы (Юридическое лицо, Физическое лицо), наименование с ценами, и т.д.


То есть, такие таблицы, которые, как правило, заполняются первыми при начале работы с БД и в дальнейшем не редактируются либо редактируются редко.


В данном случае к словарными таблицам можно отнести «CustomerType» (тип клиента) и «Equipment» (техника), для данных таблиц необходимо установить галочку «Таблица является словарем» под данными таблицами, таким образом, вы поможете программе правильно связать таблицы.



Чтобы создать шаблон отчета, необходимо запустить проект

В запущенном проекте, нажмите на данную кнопку с действием отчет, таким образом, вы откроете дизайнер отчета.


В данном отчете будут использованы так называемые блоки (или Band). Блоки позволяют создать почти любую структуру отчета. С некоторыми из них мы сейчас познакомимся.


Чтобы посмотреть все доступные блоки, нажмите слева иконку , после чего вы увидите меню, как показано на рисунке ниже.









Приступаем к созданию отчета с помощью блоков, попутно узнаем, для чего они.


Из меню, показанного на рисунке выше, выберите блок Report Title, после чего данный блок появится в отчете. В данном блоке вы можете поместить заголовок отчета, например его название. Информация, размещенная в данном блоке, будет распечатана только на первой странице вашего отчета.

Поместим в данный блок название отчета. В результате у вас должно получиться, как показано на рисунке ниже:



Вы можете пропустить данный блок, если для вашего отчета не нужен заголовок.






Поместите следующий блок Group Header. Данный блок позволяет сгруппировать данные. В нашем случае мы будем группировать данные по клиенту, таким образом, расположенный ниже блок MasterData будет отображать только те данные, которые принадлежат текущему клиенту.


При расположении данного блока, вам необходимо указать, по какому именно полю таблицы БД необходимо группировать данные, в нашем случае мы специально для этого добавили поле Client.id, данное поле однозначно идентифицирует клиента, даже если по ошибке, в базе данных присутствует два клиента с одинаковым именем.




В данном блоке мы поместим информацию о клиенте. Также поместим заголовки для таблицы, которая будет расположена в следующем блоке.

Поместите в данный блок текст и поля с данными, как показано на рисунке ниже:







Следующий блок, который необходимо поместить в отчет, это Master Data. Данный блок предназначен для вывода информации в виде таблицы.


Благодаря тому, что в предыдущем шаге мы расположили блок GroupHeader, в распологаемом блоке Master Data мы будем видеть данные, которые принадлежат текущему клиенту, а именно данные об арендованной им техники.


Поместите данный блок в отчет, выбрав его из меню. Перед тем как он появится в отчете, вы увидите окно с заголовком Select DataSet, в котором необходимо выбрать источник данных. Выберите из списка источник данных с названием Report и нажмите OK.


В данном блоке необходимо поместить поля базы данных, из которых будет сформирована таблица. В результате у вас должно получиться, как показано на рисунке ниже:



Обратите внимание на поле [Report."Rent.TotalCost"], в котором отображается цена аренды. Давайте применим к данному полю денежное форматирование, а именно добавим разделитель тысяч и обязательные два знака после запятой. Для этого нажмите правкой кнопкой мыши по данному полю и выберите в меню "Display Format..."


Выберите в списке Category значение Number, а в списке Format значение 1,234.50, затем нажмите кнопку OK.







Поместите следующий блок Group Footer. В данном блоке вы можете подсчитать, например итоговую сумму, потраченную текущим клиентом за аренду техники.


Чтобы подсчитать итоговую сумму, разместите в данном блоке компонент System text . После того как вы поместите данный компонент, появится диалоговое окно, которое необходимо настроить, как показано на рисунке ниже:




После этого ваш шаблон отчета должен выглядеть так, как показано на рисунке ниже:


Для данного поля вы также можете применить денежное формативрование, как было описано в предыдущем шаге.




И последний блок, который мы поместим в отчет, это Page Footer, данный блок будет распечатан на каждой странице отчета, его мы используем просто для того, чтобы пронумеровать страницы.

Поместите в данный блок системную переменную Page# из правой части дизайнера отчета (вкладка Variables), просто перетащите мышкой:




Теперь ваш шаблон отчета полностью готов



Зайдя в меню File > Preview или просто нажав Ctrl+P вы можете посмотреть, как будет выглядеть ваш отчет.


Сохраните шаблон отчета в папку Report вашего проекта, меню File > Save As….  Дайте файлу имя, например «все клиенты и техника», как показано на рисунке ниже:




Осталось снова зайди в настройки данной кнопки и выбрать данный шаблон отчета, чтобы он использовался при печати:





Готово. Теперь снова можете запустить проект. Нажмите на данную кнопку, после чего вы увидите готовый к печати отчет.



Документацию по работе с дизайнером отчетов вы можете найти здесь http://www.fast-report.com/ru/download/public_files/130/