# 报告版式

> 一份报告版式的每一个字段、章节目录和它的选项、收尾与页脚的固定件、打印样张，以及 PDF 会印出什么。

一份报告版式是**报告**库（Process > 模板 > 报告）里的一行，每个模型共用。一份版式只挑选章节、决定它们的顺序和页面上的固定件：它不引用任何通道，也不引用一个模型的任何东西，因为这份 PDF 完全从自成一体的运行记录文件里渲染出来。正因如此，任何一次已记录的运行记录都可以在[历史](histories-export#pdf)里用任意一份版式重新导出，而一份被删掉的版式只是退回到全章节的默认版式，不会把一次重新生成弄坏。编辑它需要**管理 Process**；每一个字段在离开它或者拨动它时自动保存，而工作站拒绝掉的一次保存（有单元在运行、运行时已停止）会把字段放回去，并在操作记录条上报出理由。

这一页是两张卡片：**标识**，以及**这份报告**，也就是这份 PDF 自己的画法。每一个选项都立在它所改变的那一部分页面上，因此没有另外一份需要往预览上对号入座的开关清单。

## 标识 {#identity}

| 字段 | 是什么 | 取值 / 默认 | 效果 |
| --- | --- | --- | --- |
| 名称 | 库、一个动作的报告选择器和历史里的选择器所显示的那个名称。 | 文本；创建时是“报告”（“报告 2”，依此类推）。空名称会被拒绝（“报告版式必须有名称。”）。 | 在每一个挑得到它的地方重命名这份版式；已经发布出去的文档保留自己的名称。 |
| 标题（留空 = 运行记录名称） | 文档标题。 | 文本；空。 | 留空就把运行记录的名称（“流程 · 单元”）印成标题；这份画法上为它显示“‹ 运行记录名称 ›”。 |
| 页眉文字 | 标题下面的自由文字（实验室的名称、一句声明）。 | 多行文本；空。 | 印在每一页页眉带里标题的下面。 |

## 这份报告 {#the-report}

这张卡片从页眉带开始：徽标板放在位置所选的那一侧，然后是标题和页眉文字。徽标那两个选择器立在徽标所在的那条带里，因此把它挪到页脚，两个选择器也跟着挪过去。

| 字段 | 是什么 | 取值 / 默认 | 效果 |
| --- | --- | --- | --- |
| 徽标 | 徽标立在哪条带、哪一侧。 | 不印徽标、左上、右上、左下、右下；默认左上。 | 上方把它放进页眉带，在标题之前或者结论之后；下方把它放进页脚，在生成行之前或者页码之后。不印徽标会把图片选择器藏起来。 |
| 图片 | 徽标是哪一张图。 | 工作站徽标（[设置里的品牌](settings-branding)中的徽标，用浅色版本，因为纸是白的）或者任意一张导入的图片；默认工作站徽标。 | 这块板显示 PDF 将要印出来的那张图；工作站徽标是实时读取的，所以这期间在设置里选好的徽标就是它显示的那张。什么都解析不到时，板上写“没有图片”，并有一行说明为什么：没有在 设置 ▸ 品牌 下设置徽标，或者选中的图片已不在库里。指名一张已经没有了的图片的版式，什么徽标也不印，而不是印另一张。 |

带下面是正文的各节，顺序就是 PDF 书写它们的顺序。**运行记录标识**领着每一份报告，永远不是可选的，也永远不动：它那一行读作“始终”，并说明自己印什么，“模型、单元、流程、开始与结束时间、时长和结论。”。随后是目录里每一节一行，各带自己的开关、自己的说明、自己的选项，以及一对把它上移或下移的箭头（到了两端就变灰）。关掉的一节画得很淡，也被排除在 PDF 之外；某一节如果没有可写的记录，会被跳过，而不是印成空白。每一节都关掉时，有一行说“每一节都关掉了，因此这份报告只印标题和运行记录标识。”。

| 章节 | 默认 | 印什么 | 行上的选项 |
| --- | --- | --- | --- |
| 元数据 | 开 | 运行记录开始时操作员填写的值。 | 无 |
| 数据记录图表 | 开 | 把记录下来的通道画在一张时间图上，从第一个采样点到最后一个，各用自己通道冻结下来的颜色和分组。 | **把这次运行记录的图表标注画上去**（开）。**画出运行记录的哪一段**：整条运行记录（默认）、开头几分钟、最后几分钟，两种节选都带一个**分钟**字段（默认 30，最小 1）。 |
| 判定结果 | 开 | 每一条判过的判据，连同它的限值、证据和结果。 | 无 |
| 事件条目 | 开 | 运行记录期间监视到的那些发生记录。 | **在发生记录下面附上监视审计**（开）：摘要背后那些原始跳变和会话边界。 |
| 配方（实际执行） | 开 | 这次运行记录写下的每一个设定值、写入的时间，以及是否写入成功。在开始时出的那份单据印的则是计划值。 | 无 |
| 操作员备注 | 开 | 运行记录期间和结束之后记下的备注。 | 无 |

一份什么都没排过的版式，按这个顺序把整份目录写出来；产品以后的版本新加的一节，到达时是启用的，排在末尾。图表的一段节选会自报是节选：章节标题变成“数据记录图表（运行记录的前 30 分钟）”，图下面的一句说明会把画出来的那一段和记录下来的那一段并排写出来；一个比记录本身还宽的窗口会缩回整条运行记录，而不是声称做了一次并没有做的截取。无论哪种，运行记录文件都保留每一个采样点。

**报告的收尾**跟在各节后面，属于固定件，不是一节：无论版式排了什么，它都待在下面。

| 选项 | 默认 | 印什么 |
| --- | --- | --- |
| 留给试验人和批准人的签名栏 | 关 | “签名”这个标题下面两条横线，“试验人及日期”和“批准人及日期”。运行记录是由一位已登录的人启动的时候，它记下的责任人印在第一条下面；由工作站或者自动化启动的运行记录把那里留空。 |
| 一行写明报告到此结束 | 关 | “报告结束”，居中写在一条横线下面，这样少了一页就看得出来。 |

两者都关时，这份画法上说“文档在上面最后一节之后就停住，没有任何标记表示结束。”。

页脚是每一页底部的那些页面固定件：

| 字段 | 是什么 | 默认 | 效果 |
| --- | --- | --- | --- |
| 页脚附注（每页都印） | 这份报告关于自身的那句常设声明（结果与什么有关、一个文档控制编号）。 | 空 | 每一页都印在生成行上面。 |
| 生成行与页码 | 不可编辑。 | 始终 | `由 Ganter Lab <日期> <时间> 生成（<时区>）`，以及“n / N”，徽标放在下方时就印在它们旁边。 |

两行文字收住这张卡片：“PDF 会落到应用数据旁边的报告文件夹里。”（数据根目录下的 `reports` 文件夹），以及一张样张会用什么来填。

## 打印样张 {#print-sample}

**打印样张**立在选中这份版式时的详情栏上（管理 Process；工程锁定之下变灰）。它打开“打印一张样张”对话框：用来填它的那条运行记录（这台工作站最近一次已完成或已中止的运行记录）、**已安装的 Windows 队列**选择器（“（请选一个队列）”或者“（没有已安装的队列）”）、**取消**和**发送样张**。这张样张是由真实报告所经过的同一个生成器拼出来的，因此纸上显示的就是这份版式带着真实证据产出的样子；它不发布任何 PDF，不在它借用的那条运行记录上登记任何东西，并在页眉下面印上一句说明，讲清这是从一条已记录的运行记录打出来的样张，不是那次运行记录已发布的 PDF。一台没有已结束运行记录的工作站读到“没有可用来打印的已结束运行记录”，也没法发送；被拒绝的队列落在操作记录条上（“样张没有发出：理由”）。成功只表示 Windows 队列接受了这份文档，并不表示真的出了一张纸。运行时已停止期间样张会被拒绝。

## PDF 会印出什么 {#what-the-pdf-prints}

A4 页面，正文 9 pt。印出来时，这一页填满打印机能着墨的整个区域，保持比例并居中：文档自带半英寸的页边距，打印机不再另加自己的。纸比 A4 小、或者靠不到那么近边缘的打印机，会把这一页缩放到它有的尺寸，而不是把它裁掉。每一页的页眉是：徽标、标题、“结论：合格”“不合格”“无法判定”或者“无”、页眉文字，样张上还有那句样张说明。运行记录标识表：模型（带修订号）、流程、单元、结束原因（由联锁停下时是联锁，否则是缺口短横）、结论、开始时间、结束时间、时长、快照间隔，然后在这条运行记录是从另一处安装导入来的副本时，还有导入时间和收到的文件，以及这条运行记录带有附注时的附注；仍在记录的运行记录不印结束时间，也不印时长。被暂停过的运行记录还会印出暂停者和继续者，写明最后一次暂停和最后一次继续是谁做的、在什么时候；从没被暂停过的运行记录两项都不印。在这里记录下来的运行记录完全不印来路，这一页也从不声称那份副本来自哪台机器：运行记录文件里的回执记的是到达，不是发送方。随后是启用的那些节，按排好的顺序：

- **元数据**：每一个被提示填写的字段一个名称和一个值，按提示顺序排列，每个值都按运行档案里的显示方式写出：数字字段用工作站的小数分隔符，不加千位分隔符，其他值按记录时的原样写出。
- **数据记录图表**：共用的图表引擎从记录下来的那些行在屏幕之外画出来的那幅图，因此它和实时图表一致，选项开着时带上标注。带时间戳的备注不会画在上面，实时图表上的判定色带也不会，因为 PDF 只印运行记录文件证明得了的东西。画不出这幅图的工作站（没有 webview 的无界面宿主，或者绘制失败、超过 30 秒还没画完）会保留这一节，并在原处印上“这台工作站画不出图表，因此这份报告里缺少它。记录下来的数据不受影响：从这次运行记录重新出一份报告，就能把图表印出来。”
- **判定结果**：判据、通道、限值、严重程度、证据（先写判的是哪一段，再写“已判定 n · 越限 n · 不可用 n · 无效 n”和最差的一次偏离，和[运行档案](histories-record#judged-criteria)里一样）、受影响、结果。
- **事件条目**：事件条目（带严重程度和消息）、开始时间、结束 / 状态、持续时间、信号不可用；选项开着时随后是审计附录。
- **配方（实际执行）**：时间、通道、数值、目标值、结果（成功、已被更新的值取代，或者那次失败）。在开始时出具的文档在那一行印的是**配方（计划值）**：预选配方的那些目标值（时序配方还带曲线段和时长），此外还有一张“收尾”表，写着运行记录结束时写下去的安全状态值。没有哪一份文档同时带这两者。这些数值和计划的时长都按工作站的数字格式印出。
- **操作员备注**：时间、阶段（运行中或运行之后）、备注，被改写过的一行带着“（… 编辑过）”。

严重程度、结果和状态变化都用工作站的语言印出，用词和运行档案里的一样。在任何语言里，表格都不会把表头里的一个词或者这些词中的一个拆到两行上。

随后是启用时的签名和结束行，而每一页上都有页脚附注、生成行和页码。

## 一份版式不做的事 {#what-a-layout-does-not-do}

它不添加内容：客户、方法、被测样品或者一个测量不确定度都不是工作站记录的东西，也没法打进一份版式里；那些自由文字（标题、页眉文字、页脚附注）才是一台工作站放自己那几句常设文字的地方。它不挑选任何通道，也不挑选任何单元。它不决定一份报告什么时候产出或者打印：那是一个动作的报告命令（[产出标签与报告](process-emission)）。而一条仍在记录的运行记录没法用它渲染；动作在开始时出的那份随行单据是唯一的例外，它是通过这次运行记录自己那个还开着的文件拼出来的。
