3.2. 单实体报表

假设我们想获取有关图书的详细出版信息,即 library$BookPublication 实体的实例。

首先,运行报表向导并指定报表详细信息:

  • Entity - 要在报表中展示的实体 - library$BookPublication.

  • Template type - 报表模板格式 - 定义报表输出的格式 - DOCX。注意,还可以使用XSLXHTMLCSVChart格式。

  • Report name - Publication details

接下来,指定报表类型: Report for single entity

single entity step 1
Figure 2. 单实体报表:第一步

然后单击 Next 按钮; 将出现 Select attributes for the simple report region 窗口。指定 BookPublication 实体和应该在体现在报表中的相关实体的属性(Publication.Book.NamePublication.Publisher.NamePublication.YearPublication.City.Name)。要执行此操作,请在左列中选择它们并通过单击 attributes_selection_arrow 或双击将它们移动到右侧。

报表中属性的顺序将对应于右侧列表中指定的顺序。要更改显示顺序,请单击 attributes_selection_up/attributes_selection_down 上下移动属性。

single entity attributes
Figure 3. 单实体报表:选择实体属性

单击 ОК 进入第二步 - 报表区域编辑。

出现的界面包含一个命名区域列表,这些区域是用来显示相关数据。向导允许向模板添加多个纯文本区域,以显示不同的数据集。

加载到特定区域的实体属性列表可以通过单击选中的属性列表链接来修改。还可以通过单击 Add simple region 来添加新区域。

如果实体包含集合属性,则会出现 Add tabulated region 按钮。它可以添加显示表格数据的区域。

在这两种情况下,选择对话框将显示 library$BookPublication 实体的属性列表,允许添加或删除集合中的属性。

single entity step 2
Figure 4. 单实体报表:第二步

在此步骤,我们已经可以运行报表并查看报表的样式。单击 Run 按钮,选择 library$BookPublication 实例并查看结果。

single entity test running
Figure 5. 测试运行

配置完所有报表区域后,可以进入第三步:保存报表。此时,可以查看完整的报表模板,或将输出文件的名称和格式更改为任意一种可用的类型。

single entity step 3
Figure 6. 报表输出类型

单击 Save 按钮后,将出现标准报表编辑界面。现在,可以按常规方式微调报表。编辑完成后,在报表编辑界面单击 Save and close

该报表现已添加到报表浏览界面中的 General 报表组,可以通过单击 Run 按钮来运行该报表。

single entity reports list
Figure 7. 报表浏览

此外,我们可以在出版物浏览界面上调用报表运行功能。为此,我们将在 bookpublication-browse.xml 界面描述中声明一个标准的 ListPrintFormAction

<groupTable id="bookPublicationsTable"
            width="100%"
            dataContainer="bookPublicationsDc">
    <actions>
        <action id="create" type="create"/>
                <!-- -->
        <action id="list" type="listPrintForm" caption="msg://printDetails"/>
    </actions>
    <columns>
        <!-- -->
    </columns>
    <rowsCount/>
    <buttonsPanel id="buttonsPanel"
                  alwaysVisible="true">
        <button id="createBtn" action="bookPublicationsTable.create"/>
        <!-- -->
        <button id="listBtn" action="bookPublicationsTable.list"/>
    </buttonsPanel>
</groupTable>

然后我们应该将报表与 BookPublication 浏览界面关联起来。打开报表编辑界面,切换到 Roles and Screens 标签页,并从下拉列表中将 library$BookPublication.browse 界面添加到表格:

single entity screens
Figure 8. 添加界面

现在,可以通过在网格中选中出版物并单击 Print details 按钮来运行任何出版物的报表

single entity running
Figure 9. 打印详情

输出如下:

single entity result
Figure 10. Report result