创建 HTML 访问报告模板
在 LN 10.5 及更高版本(包括 LN Cloud Edition)中支持 HTML 访问报告模板。HTML 模板可用于 Windows、Android 和 iOS 的 LN Mobile Service。RTF 模板只能用于 Windows 版本。
占位符 HTML
在 HTML 访问报告模板中,占位符通过使用 HTML 标签内容中的标记内的文本来定义,或定义为 HTML 元素的属性。占位符有五种类型。其中三种通过在标记内使用文本来定义。另外两种由 HTML 元素的属性定义。
表示法 | 占位符类型 |
---|---|
{{label name}} | 标签 |
##占位符名称## | 数据集中的数据项 |
%%占位符名称%% | 数据集中的图像 |
data-dataset=”dataset name” (attribute) | 数据集标识 |
data-datasetrow=”dataset name” (attribute) | 数据集行标识 |
布局
占位符可以作为文档的 HTML 标签内容的一部分置于任意位置。因此,以下结构完全有效。
<span>服务订单编号 ##ServiceOrder## 的起始日期为 ##StartDate##</span>
##ServiceOrder## 和 ##StartDate## 占位符替换为实际访问报告中访问的对应值。
要定义数据集部分,请使用“data-dataset”和“data-datasetrow”两个属性。
如果数据集中有任何记录,则“data-dataset”属性指定存在的要素。数据集没有记录时,不显示要素。如果任何页眉和页脚内容仅在有记录的情况下才应显示,则这些内容应包含在此要素中。如果任何页眉和页脚内容应始终显示,即使没有记录也如此,则应位于此要素之外。
“data-datasetrow”属性可指定重复用于数据集的每条记录的要素。每个重复部分都填入数据集的一条记录的数据值。具有“data-datasetrow”属性的要素通常在具有匹配“data-dataset”属性的要素中定义。
红色:LaborCost 的数据集要素。如果 LaborCost 数据集中至少有一条记录,则会显示此元素及其包含的所有内容。
橘黄色:针对 LaborCost 数据集中的每条记录重复数据集行要素。
蓝色:属于文档数据集或父数据集的要素。
假设服务订单 ABC0001 于 2020 年 1 月 8 日开始,包含两个人工成本即“挖掘”和“填充”,分别持续一小时和两小时。以上模板可以产生下列访问报告。
服务订单编号 ABC0001 的起始日期为 2020 年 1 月 8 日
人工 | |
小时 | 任务 |
1:00 | 挖掘 |
2:00 | 填充 |
为了能够表示父/子关系,子项数据集要素应嵌套在父项数据集行要素中。例如,活动与人工成本之间存在这些父/子关系。
对于活动和人工成本而言,如果必须显示每个活动的人工成本,则人工成本数据集要素必须嵌套在活动数据集行要素中。数据集具有可以识别是否用作子集的结构。在嵌套人工成本部分中,只会显示当前活动的人工成本,而不会显示访问的所有人工成本。
绿色:对于 Activities 数据集中的每条记录重复数据集行要素。
红色:LaborCost 的数据集要素。如果 LaborCost 数据集中至少有一条记录,则会显示此要素及其所有内容。
橘黄色:针对 LaborCost 数据集中的每条记录重复数据集行要素。
蓝色:属于文档数据集的要素。
假设服务订单 ABC0055 于 2021 年 7 月 8 日开始,并且有两个活动:“检查电缆”和“更正标志”。第一个活动“检查电缆”包含两个人工成本即“挖掘”和“填充”,分别持续一小时和两小时。第二个活动“更正标志”没有人工成本。以上模板将产生下列访问报告。
服务订单编号 ABC0055 的起始日期为 2021 年 7 月 8 日
检查电缆活动
ABC0055-1
人工 | |
小时 | 任务 |
1:00 | 挖掘 |
2:00 | 填充 |
更正标志活动
ABC0055-2
无文档数据集要素
文档数据集是基本数据集,并且只有一条记录。数据集要素和数据集行要素不必也不应为文档数据集指定。
可选数据集要素
使用“data-dataset”属性指定数据集要素包含数据集行要素为可选操作。如果只需要为数据集显示重复要素,则只能指定具有“data-datasetrow”属性的要素。如示例 2 中所示。对于 Activities 数据集,不使用“data-dataset”属性,只有“data-datasetrow”属性会指定应对 Activities 数据集中的每条记录重复的要素。
子项中的父数据值
如果数据集或数据集行要素包含与任何数据集属性不对应的数据占位符,则会使用父数据集进行取代。如果在父数据集中找不到匹配项,则占位符会与文档数据集值匹配,并可能会被其取代。如示例 2 中所示。对于 Activities 数据集行,使用文件数据集的 ##ServiceOrderCode## 占位符,将服务订单代码随活动行一起打印。
合计
针对显示成本的每个数据集,都会计算合计。在默认模板中,这些合计会显示在摘要段落中。
占位符 Totalxxx 和 GrandTotal 显示选定活动的所有成本值。这些成本的详细行不必显示在报告中。TotalDetailxxx 和 GrandDetailTotal 占位符仅包含来自详细成本行的值。
编辑模板
要编辑 HTML 访问报告模板,需要了解 HTML 的基本知识。可以在文本编辑器中打开 HTML 文件进行编辑,但有多个更复杂的工具可用于创建和编辑 HTML 文件。
样式和图像
模板不支持外部文件。模板文件中应嵌入样式和图像。CSS 形式的样式可以通过 HTML 要素内的样式属性内联定义,也可以通过 head 部分中的样式要素在文档层内部定义。以各种方式将图像嵌入在 HTML 文档本身中。
可以在 LN 的默认 HTML 模板中找到嵌入图像的示例。可以从“访问报告模板 (tsmdm5100m000)”进程导入和下载此模板,也可以从“附加文件(ttadv2570m000,附加文件 tssocLN_Mobile_Service_Visit_Report_Template.html)”进程下载此模板。