创建 RTF 文档访问报告模板

该模板存储为 RTF 文档 (.rtf)。可以使用支持 RTF 文件的文本处理器来创建或修改模板。
本用户指南在所有示例和图表中使用默认模板的布局。完整的默认模板已添加到“访问报告的默认模板”附录中。默认模板也可以在 LN 的“访问报告模板 (tsmdm5100m000)”进程中使用。
注意

RTF 模板用于 Windows 的 LN Mobile Service,因此不适用于 Android/iOS 版本。Android/iOS 版本使用 HTML 模板。

占位符 RTF 文档

在 RTF 文档访问报告模板中,占位符通过在标记内使用文本来定义。占位符有四种类型。所有占位符都通过在标记内使用文本来定义。

表示法 占位符类型
<<标签名称>> 标签
##占位符名称## 数据集中的数据项
%%占位符名称%% 数据集中的图像
[[数据集标识]] 数据集标识
1. 占位符示例:
##DepartmentName## <<Order>> ##ServiceOrder##

##DepartmentAddress##

<<OrderReference>>

<<StartTime>>

<<ServiceEngineer>>

##ReferenceA##

##StartTime##

##Engineer##

在此示例中,<<Order>>、<<OrderReference>> 等都是标签(可翻译文本占位符)。##DepartmentName##、##ServiceOrder## 等都是数据项。在这种情况下,这些数据项检索自文档级别数据集。由于此文档数据集普遍可用,这些占位符可以用于文档中的任意位置。如需所有占位符的清单,请参阅附录 访问报告模板的占位符

当生成报告时,上述示例可能会产生以下结果,并且占位符会替换为实际数据。
NL Service Department Service Order SOO001407

Het Torentje

Binnenhof 19

2513 AA Den Haag, Zuid Holland

The Netherlands

Reference

Start Time

Service Engineer

CUST_B_00012

15-8-2016 10:28

John Doe

布局

通常,占位符可以置于 RTF 文档中的任意位置。因此,类似服务订单编号 ##ServiceOrder## 的起始日期为 ##StartDate##的结构完全有效。

为了对齐要素,可以使用标签或表格。可以插入表格。栏和行可以合并。例如,如下表格有效:具有两行,第一行具有一个单元格,第二行具有三个单元格。

<<SomeTranslatedText>>
##FieldA## ##FieldB## ##FieldC##

上面显示的布局将从文档数据集检索字段 A、B 和 C。

若要显示任意其他数据集的数据,必须遵循布局惯例。所有数据集相依的占位符必须在一个表格中。数据集标识是布局惯例的关键。标识必须置于第一行的第一个单元格作为此表格的第一个文本。

数据集布局惯例:

[[DataSetIdentifier]]
<<HeaderTextA>> <<HeaderTextB>> <<HeaderTextC>>
##FieldA## ##FieldB## ##FieldC##

数据集惯例定义三个或更多行。

  • 第一行必须包含数据集标识(带有 [[ ]] 标记)。另请参阅文档中之前提供的数据集定义。找不到数据集标识时,该表格会作为布局表格处理。请参阅上文。执行合并之后,数据集标识行将被删除。
  • 数据集包含多少条记录就会将最后一行复制多少次。每个已复制行的数据占位符都会取代为相应数据集记录的值。如果布局行包含与数据集属性不对应的数据占位符,则会使用父数据集进行取代。如果在父数据集中找不到匹配项,则占位符会与文档数据集值匹配,并可能会被其取代。
  • 所有其他行为页眉行(零、一或多个)页眉行通常包含可翻译的文本占位符 (<< >>)。如果页眉行包含数据占位符,则会从父数据集取代数据。如果不适用,则会使用文档数据集中的数据取代占位符。

数据集表格的最低要求是两行。页眉行为可选项。

带有两个页眉行的示例:

[[MaterialCost]]
<<Materials>>
<<Quantity>> <<ItemCode>> <<ItemDescription>> <<Amount>>
##Quantity## ##Item## ##Description## ##AmountOrCoverage##

没有页眉行的示例:

[[MaterialCost]]
##Quantity## ##Item## ##Description## ##AmountOrCoverage##

嵌套布局

为了能够显示父/子关系,定义了额外的惯例。对于活动和材料而言,如果必须显示每个活动的材料,则必须将材料表嵌套在活动表中。数据集具有可以识别是否用作子集的结构。在嵌套材料表中,只会显示当前活动的材料,而不会显示访问的所有材料。

注意

在最后一行中插入嵌套表时要谨慎。如果需要多个表(例如,材料、人工和其他成本),则可以将表格插入在同一单元格中,并在中间使用段落结束标记(回车)。另请参阅,附录 访问报告的默认模板中的 Materials - LaborCost - OtherCost 布局。

在 Word 中,这很容易实现。将光标置于表格单元格中,并从“插入”标签中选择“添加表格”。

嵌套数据集布局惯例:

[[DataSetIdentifier]]
<<HeaderTextA>> <<HeaderTextB>> <<HeaderTextC>>
##FieldA## ##FieldB## ##FieldC##
[[DataSetIdentifier]]
<<HeaderTextX>> <<HeaderTextY>> <<HeaderTextZ>>
##FieldX## ##FieldY## ##FieldZ##

嵌套数据集布局示例:

[[Activities]]
<<Activity>> ##Description##
[[MaterialCost]]
<<Materials>>
<<Quantity>> <<ItemCode>> <<Description>>
##Quantity## ##Item## ##ItemDescription##

在上述示例中,在活动数据集 [[Activities]] 中插入了材料成本数据集 [[MaterialCost]]。##Description## 检索自活动数据集。##Quantity##、##Item## 和 ##ItemDescription## 检索自 MaterialCost 数据集。

嵌套数据集布局结果示例:

活动维修框
材料
数量 物料代码 说明
6 件 AVDK17 刨花板
3 箱 AVDK1501 钉子

合计

针对显示成本的每个数据集,都会计算合计。在默认模板中,这些合计会显示在摘要段落中。

占位符 Totalxxx 和 GrandTotal 显示选定活动的所有成本值。这些成本的详细行不必显示在报告中。TotalDetailxxx 和 GrandDetailTotal 占位符仅包含来自详细成本行的值。

通过这种方式,您可以决定仅显示不含明细的合计值,还是显示明细并显示这些明细的合计值。

编辑模板的工具

模板必须存储为 RTF 文件。Microsoft Word 可以处理此类型的文件,此外还有其他文本处理应用程序可以编辑此类型的文件。创建模板之后,该文件必须存储为 .rtf 文档。

注意

尽管屏幕上的布局看起来可能相同,但是在不同文本处理器(以及应用程序)的打印输出中还是会有不同。所以,如果您使用预印的纸张,请使用真实数据测试模板,然后存储为 PDF。

编辑模板的工具

模板必须存储为 RTF 文件。Microsoft Word 可以处理此类型的文件,此外还有其他文本处理应用程序可以编辑此类型的文件。创建模板之后,该文件必须存储为 .rtf 文档。

注意

尽管屏幕上的布局看起来可能相同,但是在不同文本处理器(以及应用程序)的打印输出中还是会有不同。所以,如果您使用预印的纸张,请使用真实数据测试模板,然后存储为 PDF。

提示:编辑占位符

添加或更改占位符时,在一次动作中键入整个占位符,不要更改任何个别字符,因为有时候 Word 会在 RTF 文档中添加某些看不见的标记。如果是这样,报告合并器无法立即解释模板,占位符也无法在访问报告中得到取代。对于拼写正确,但是并没有显示合并值的占位符,请编辑模板文档,并重新键入从开始到结束的占位符,包括前端和后端标记。

提示:MS Word 设置中的 Web 布局视图

当使用 Word 作为编辑器时,建议使用 Web 布局视图。从菜单栏,选择视图标签,然后单击Web 布局视图。纸张右边距外面的表边框将会显示出来并可以编辑。

提示:查看网格线

单元格网格线也可以显示出来。默认情况下,此功能未启用。使用主页标签中的边框布局选项,然后单击查看网格线。不具有可见边线的边框会显示为虚线。