4.1. Отчет по экземпляру сущности
Допустим, что мы хотим получить сведения об отдельно взятом издании книги, то есть экземпляре сущности library$BookPublication
.
Для этого необходимо запустить мастер создания отчетов и на первом этапе указать детали отчета:
-
Entity - сущность, по экземпляру которой будет создаваться отчет -
library$BookPublication
. -
Format of template file - формат шаблона, по которому будет создаваться отчет - DOCX. Доступны также форматы XSLX и PDF.
-
Report name - имя, под которым будет сохранен отчет -
Publication details
.
Затем нужно выбрать тип построения отчета - Report for single entity. Этот тип построения означает, что отчет будет создаваться по одной сущности.

После этого необходимо нажать на кнопку Next и в отобразившемся окне выбрать атрибуты сущности BookPublication
и связанных с ней сущностей, которые будут включены в отчет (Publication.Book.Name
, Publication.Publisher.Name
, Publication.Year
и Publication.City.Name
). Для этого выбираем их в левой колонке и переносим в правую колонку нажатием на кнопку или двойным кликом.
Атрибуты будут отображаться в отчете в том порядке, в котором они выбраны на этом этапе. Для того чтобы изменить порядок отображения, перемещайте атрибуты при помощи кнопок /
.

После нажатия на кнопку ОК произойдет переход ко второму этапу - редактированию регионов отчета.
Отобразишийся экран содержит список именованных регионов - полос шаблона отчета, в которых будут отображаться данные. Мастер позволяет добавить в шаблон несколько регионов, позволяющих отображать разные наборы данных в виде простого текста.
При необходимости набор атрибутов сущности, загружаемых в регион шаблона отчета, можно отредактировать, нажав на ссылку со списком атрибутов в описании региона. Также можно добавить новый регион, нажав на кнопку Add simple region.
Если в сущности есть атрибуты-коллекции, появится также кнопка Add tabulated region, позволяющая добавить регион для отображения данных в виде таблицы.
В обоих случаях отобразится окно выбора атрибутов сущности library$BookPublication
, позволяющее добавить или удалить атрибуты из набора.

На этом этапе можно посмотреть, как отчет будет выглядеть с текущим набором данных, нажав на кнопку Run и выбрав экземпляр сущности library$BookPublication
.

После настройки регионов можно переходить к третьему этапу - сохранению отчета. На этом этапе можно просмотреть готовый шаблон отчета, изменить название и формат файла вывода. Доступны три типа: DOCX, HTML, PDF.

После нажатия на кнопку Save откроется стандартный редактор отчета, в котором при необходимости можно произвести более тонкую настройку шаблона и структуры данных. После завершения редактирования нажмите Save and close в редакторе отчета.
Отчет будет добавлен в группу отчетов General в браузере отчетов, откуда его можно запустить кнопкой Run.

Дополнительно мы можем сделать так, чтобы чтобы отчет о деталях публикации запускался из браузера публикаций. Для этого необходимо добавить в XML-дескрипторе bookpublication-browse.xml
к таблице публикаций кнопку Print details для запуска отчета:
<groupTable id="bookPublicationTable"
...
<buttonsPanel>
...
<button id="printDetails"
caption="msg://printDetails"/>
После чего необходимо добавить к ней в контроллере экрана действие TablePrintFormAction
для запуска отчета:
@Inject
private Button printDetails;
@Override
public void init(Map<String, Object> params) {
TablePrintFormAction action = new TablePrintFormAction("report", bookPublicationTable);
bookPublicationTable.addAction(action);
printDetails.setAction(action);
}
После этого можно запускать отчет по любой публикации, выбирая ее в таблице и нажимая на кнопку Print details.

Готовый отчет выглядит следующим образом:
