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.
 
  Готовый отчет выглядит следующим образом: