动作
一次运行在开始时或完成时发出的、命名好的标签和报告文书包,它们的命令、一张标签的标记映射,以及一个流程怎么选中它们。
一个动作是一次运行发出的、命名好的一包文书:它里面每一次产出一条命令,每一条都写明出来的是什么(一张标签还是一份报告)、什么时候出(开始时还是完成时)、用工作站库里的哪个模板,以及在完成时针对哪些结论。一个流程选中的是整个动作,因此写一次的一包文书就服务于每一个发出它的流程,而改一条命令是改一处,不是每个流程改一遍。动作住在 Process > 模型 > 某个模型 > 设定 > 动作下面。创建它们、删除它们,以及编辑一个动作的名称、它的命令和它们的映射,全都由同一项编辑配方与判定权限把关,页面上也这样写着(“更改动作需要‘编辑配方与判定’权限。”)。
动作文件夹
选中动作那一行打开的页面和设定里其他文件夹不一样:是这个模型的动作列表,旁边是列表里被点中的那一个,因为一个动作要对着它的兄弟来读。列表的顺序就是每一个流程发出这些动作的顺序,因此行上的那些动作挪的是一个动作,绝不是一条命令。这一页会把两个工作站库(标签模板和报告版式)载进来判断就绪程度;其中一个载不进来时,会有一条提示条写着“无法载入全局标签模板:…”或者“无法载入全局报告:…”。
| 列 | 显示什么 |
|---|---|
| # | 这个动作在列表里的位置。 |
| 名称 | 可以就地编辑,离开单元格时提交。空名称会被拒绝,写着“动作必须有一个用于操作的名称。” |
| 命令 | 有多少条命令,然后是它们产出什么:“0 · 还没有”,或者“2 · 开始时的标签,完成时的标签和报告”。悬停提示把它们一行一条列出来,写作 完成时的标签 · <template>。 |
| 状态 | 就绪,或者在这个动作或它任何一条命令还缺什么时写待复核。 |
| 行上的动作 | 把动作上移、把动作下移、删除动作(危险色;问“删除动作”:“这会删除这个动作及其命令。”)。 |
列表旁边那一栏的标题是动作,它显示被点中动作的名称(这里也能编辑)、它那些命令作为只读的行,每一行带一枚就绪 / 待复核小药丸(“这些命令按这个顺序,在列里这个动作自己的页面上编辑。”),以及一条需要复核提示条,把缺的东西全部列出来。一个动作都没有时,列表写着“没有动作。当这个模型的某个流程应该出标签或出报告时,添加一个。”;什么都没点中时,那一栏写着“选中一个动作,看它产出什么。它的命令在列里它自己的页面上编辑。”
| 命令 | 做什么 | 什么时候变灰(情形) | 什么时候不画出来(角色) |
|---|---|---|---|
| 新建动作(选中文件夹时在详情栏上;右键添加动作) | 在列表末尾添一个空的 动作 <n>(这个模型还没有动作用过的第一个号),并在那一栏里点中它。 |
任何一个单元上有运行,或者运行时已停止。 | 没有编辑配方与判定时。 |
| 上移 / 下移 / 删除动作(行上的动作) | 重新排序或者删除。 | 没有管理 Process 时、工程锁定之下,或者运行时停止期间(按下去会在操作记录条上报出原因)。 | 一直画出来。 |
动作的页面
在树里选中一个动作就打开它:标题栏带着动作的名称和一枚数出它命令条数的小药丸,然后是权限和库的那些提示条,一张带名称字段的动作卡片(失焦时提交;空的被拒绝),以及命令列表,旁边是列表里被点中的那一条命令。
| 命令 | 做什么 | 什么时候变灰(情形) | 什么时候不画出来(角色) |
|---|---|---|---|
| 新建命令(选中动作时在详情栏上;右键添加命令) | 在列表末尾添一条命令,它生下来是一张完成时为合格运行出的标签,还没有模板,并在那一栏里点中它。 | 任何一个单元上有运行,或者运行时已停止。 | 没有编辑配方与判定时。 |
| 删除动作(危险组;右键;文件夹页面卡片上那个叉) | 在“删除动作”之后删掉这个动作和它的那些命令。每一个选中过它的流程都不再发出它。 | 同上。 | 没有编辑配方与判定时。 |
命令列表
| 列 | 显示什么 |
|---|---|
| # | 这条命令在这个动作里的位置,也就是它在这个动作内部的产出顺序。 |
| 产出内容 | 标签或者报告。 |
| 触发时机 | 开始或者完成。 |
| 模板 | 一个跨两个库的选择框:标签那一行提供那些标签模板(“(请选择模板)”),报告那一行提供那些报告版式(“(请选择报告)”)。库里已经没有的引用仍然占着它的位置,处于禁用状态,写作“模板缺失 · <id>”或者“报告缺失 · <id>”,这样一条降级了的命令就不会读起来像一条还没配置的命令。 |
| 结论 | 开始时的命令写“开始时用不到”;否则写勾选的那些结论(“合格、不合格”)或者“一个也没选”。 |
| 标记 | “报告用不到”;对标签则是:“没有模板”“模板缺失”“没有指令”(这个模板还没有打印机指令)“无法读取”“固定,没有标记”,或者“<total> 个中已绑定 <bound> 个”。 |
| 状态 | 就绪或者待复核。 |
| 行上的动作 | 把命令上移、把命令下移、删除命令(“删除命令”:“这会把这条命令从动作里删掉。”)。 |
一条命令都没有时,列表写着“没有命令。当这个动作应该出标签或出报告时,添加一条。”;什么都没点中时,那一栏写着“选中一条命令,就能在一个地方编辑它的全部内容。当这个动作应该出标签或出报告时,从上面的命令栏添加一条。”
一条命令的全貌
那一栏打开被点中的那条命令,标题是 命令 <n> · <种类>,<触发时机>时。它只显示所选种类拥有的那些字段。
| 字段 | 是什么 | 取值 / 默认 | 效果(字段下面那一行) |
|---|---|---|---|
| 产出内容 | 这条命令拿出什么。 | 标签 / 报告;创建时是标签。 | “用一个指令模板打印一张标签,打印队列由单元在这个时机为标签选定。”或者“用工作站库里的一份报告发布这次运行记录的 PDF。”改动种类,会把结论筛选重新落到新种类的默认值上(标签:合格;报告:全部结论)。 |
| 触发时机 | 它在一次运行的哪一个时点出来。 | 开始 / 完成;创建时是完成。 | 开始时的标签:“在运行记录开始的那一刻生成,那时还没有任何结果。”;完成时的标签:“在运行记录结束时生成,针对下面勾选的最终结论。”;开始时的报告:“在运行记录开始的那一刻发布,因此还什么都没记录的那些节会被略去。”;完成时的报告:“在运行记录结束时发布,针对下面勾选的最终结论。” |
| 报告(报告命令) | 用工作站库里的哪一个版式来发布这份 PDF。 | “(请选择报告)”或者一个版式;创建时没有。 | “不发布 PDF。”“引用的报告不在库里。”“运行记录开始时发布一份 PDF。” / “……运行记录结束时……”,打开了打印时还加上“并把它送到这条命令在单元上的打印队列。” |
| 报告打印:自动打印(版式解析出来之后才显示) | 已发布的 PDF 是否也送到这个触发时机下该单元的报告队列。 | 创建时关。 | 图例:“无论如何,PDF 都会在这条命令所在的运行时点发布。打印只决定它是否还被送进一个队列。”开:“PDF 还会送到这条命令在单元上的打印队列。请在打印机屏幕上选那个队列。”关:“PDF 发布到报告文件夹,不再往下走。” |
| 报告副本:把它留在运行记录里(版式解析出来之后才显示) | 排好的 PDF 是否存进运行记录文件里,这样在版式被编辑或删除之后,一次重发送出的仍然是那些字节。 | 创建时关。 | 图例:“运行记录保留这份文档的什么,也就是以后一次重发会送出什么。”开:“每一次运行记录都带着排好的那份 PDF,几百 KB,重发送出的就是那一份文档。”关:“每一次运行记录只指向已发布的那份 PDF,因此重发送出的是后来重排的那一份。” |
| 全局模板(标签命令) | 这条命令打印工作站库里的哪一个标签模板,下面绑定的也是它的标记。 | “(请选择模板)”或者一个模板;创建时没有。选中一个,会为这个模板声明、而这条命令还没有映射的每一个标记创建出一行映射。 | “选一个模板:它的标记就是这条命令要填的东西。”“引用的模板已不在库里。”“这个模板还没有打印机指令,因此没有可发送的东西。”“无法读取这个模板的标记。”“没有标记:每一次匹配的运行记录都发送相同的字节。打印队列由单元选定。”,或者“<n> 个标记,每一个都在下面绑定到为这次运行记录冻结的一个值上。打印队列由单元选定。” |
| 对哪些最终结论产出(只有完成时才有) | 哪些最终结论会让这条命令生效。 | 四个复选框:合格、不合格、无法判定、没有结论。标签一开始只勾合格;报告一开始四个全勾,因为一个什么都不判的流程以没有结论收尾,而它照样必须出它的文档。 | 只有当一次运行以某个勾选的结论收尾时,这条命令才发出。开始时的命令还没有结论,因此它不读任何筛选。 |
字段下面有一条需要复核提示条,把这条命令还缺的东西全部列出来(见下面的就绪程度)。
一份打印出来的文档送到哪个队列,不是这条命令的字段:它是按这条命令的种类和触发时机、通过该单元那四个打印机槽位解析出来的,因此同一种组合的两条命令是有意共用打印机的。见打印机。
标记
标记就是一个标签模板留给这次运行去填的那些 {{NAME}} 字段,因此这一节只为标签命令画出来,别的都不画。它的状态跟着模板走:
| 状态 | 这一节显示什么 |
|---|---|
| 没有选模板 | “先选一个模板,才能映射它的标记。”如果还留着更早那个模板的映射:“模板缺失期间,已保存的映射仍然保留。”并写出那些标记的名字。 |
| 模板已经不在库里 | “模板缺失”,配上同样那份保留下来的清单。 |
| 模板没有打印机指令 | 一条提示条:“‘<template>’还没有打印机指令:在‘模板 ▸ 标签’下写入或导入之前,没有可发送的东西,也没有可映射的标记。” |
| 标记读不出来 | 一条提示条“无法读取‘<template>’的标记:<error>”,以及“已保存的映射得以保留。更改这些绑定之前,请先修复或替换这个模板。” |
| 模板没有标记 | “固定模板。这个模板没有标记,对每一次匹配的运行记录都发送相同的字节。” |
| 找到了标记 | 一个标记一行,标题是那个标记和一枚已映射 / 必填小药丸,下面是那些字段。 |
| 字段 | 是什么 | 取值 / 默认 |
|---|---|---|
| 冻结值来源 | 代进这个标记里的那一个运行值。 | “(未映射)”再加上下面那张表里的那些来源。开始时的命令只列出开始时就能取到的来源;完成时的命令把它们全列出来。“元数据 · 目录字段”只有在这个模型的元数据目录里有字段时才出现,而那些判据来源只有在这个模型的某份判定声明了判据时才出现。当前触发时机答不上来的来源仍然占着它的位置,处于禁用状态,写作“…(这条命令用不到)”。改动来源会把上一个来源所选的字段、循环和格式设置清掉。 |
| 目录元数据(元数据来源) | 这个模型目录里的哪一个字段。 | “(请选择目录元数据)”,已经不在的字段写“字段缺失 · <id>”,然后是每一个字段,写作“<name> · 文本 / 数字 / 流水号”。 |
| 判据(判据来源) | 这个模型哪一份判定里的哪一条判据。 | “(请选择判据)”“判据缺失 · <id>”,然后是每一条判据,写作“<evaluation> · <判据名或判据 n> · <channel>”。 |
| 循环(从 0 开始)(判据来源) | 哪一个循环的结果。绝不隐含:必须输入。 | 0 到这个模型任何一个流程所跑的最大循环数减一;占位写“必填”。超出这个范围的数字会在字段下面被拒绝。 |
| 数值格式(日期和时间来源) | 那个时刻怎么写出来。 | 工作站日期和时间(默认)、工作站日期、工作站时间、工作站日期和时间、ISO 8601 格式。 |
| 小数位(数值来源,以及数值型的元数据字段) | 固定的小数位数。 | 0 到 9;占位写“自动”(工作站自己的偏好)。 |
| 清除无效的格式设置 | 一个按钮,当某个映射带着它的来源用不了的格式设置时才画出来(日期上带小数位、数字上带日期格式、文本上两者带其一)。 | 把那个出格的字段重置。 |
那些来源,按选择框列出它们的顺序:
| 来源 | 开始时可用吗 | 种类 |
|---|---|---|
| 元数据 · 目录字段 | 可以 | 文本,数值字段则是数字 |
| 模型 · 名称、模型 · 修订、单元 · 名称、单元 · 代号、流程 · 名称、流程 · 代号、运行记录 · 标识 | 可以 | 文本 |
| 运行记录 · 开始于 | 可以 | 日期和时间 |
| 运行记录 · 状态(开始时)/ 运行记录 · 最终状态(完成时) | 可以 | 文本 |
| 运行记录 · 结束于 | 不可以 | 日期和时间 |
| 运行记录 · 时长(秒) | 不可以 | 数字 |
| 运行记录 · 结论、运行记录 · 结束原因 | 不可以 | 文本 |
| 判据 · 名称、通道、限值、严重程度、结果、错误、受影响的通道 | 不可以 | 文本 |
| 判据 · 窗口开始于、窗口关闭于 | 不可以 | 日期和时间 |
| 判据 · 已判的采样点、超限的采样点、不可用的采样点、无效的采样点、最大越限 | 不可以 | 数字 |
标记那些行下面,已移除的标记列出为当前模板已经不再声明的标记所存下来的那些映射(“<n> 个失效”;“这些映射在选中的模板里已经不存在,必须删掉。”),每一个都配一个删除失效的标记映射。
就绪程度
两页上的就绪 / 待复核小药丸,以及验证页面列出来的那些行,来自同一次判断。没有命令的动作缺一条命令:“请添加一条命令:这个动作目前不产生任何输出。”一条命令缺什么,按修理它们的顺序:
- “请至少选择一个完成结论。”(完成时的命令一个结论都没有勾选)
- “请选择一份报告。” / “选中的报告已不存在。”
- “请选择一个标签模板。” / “模板被清除或删除了;存下来的映射仍然保留。” / “选中的全局模板已不存在。”
- “选中的模板还没有任何打印命令;请在一次运行走到这条命令之前写好或导入它们。”
- “无法读取模板标记:
<error>” - “{{M}} 需要一个信号源。” / “{{M}} 被映射了不止一次。”
- “{{M}}:请选择一个信号源”“这个信号源在开始时还取不到”“请从这个模型的元数据目录里选一个字段”“请从这个模型的某个判定里选一条判据”“请明确指定一个从 0 到
<n>的循环序号”“请去掉这个日期时间信号源上的小数位”“请对这个数值信号源使用默认格式”“小数位必须在 0 到 9 之间”“请去掉这个文本信号源上的数值或日期格式” - “{{M}} 已经从当前模板里移除;请把它存下来的映射删掉。”
处于待复核的命令照样跑:产出时什么都不会被丢掉,而一个解析不出来的标记,还是和一向那样让那一张标签失败。配置屏幕才是知道这件事的地方,不是打出来的那张标签。
一个流程怎么选中动作
一个流程的页面上带着这个流程发出的动作卡片,配一枚“已选 <n> 个”的小药丸,以及这个模型每一个动作一个复选框,按列表顺序排。每一行都显示这个动作的产出那一行(“开始时的标签,完成时的标签和报告”,或者“目前不产生任何输出:这个动作还没有命令。”),选中之后还有一枚就绪或待复核小药丸。待复核会把这个流程为了那个动作的标记而缺的东西列出来,一个标记一条说明,因为一个按运行解析的标记,只有在这个流程手里有它所指的那样东西时才解析得出来:
- “{{M}} 读取一个这个流程不提示填写的元数据字段。请在上面的元数据里勾上它。”
- “{{M}} 读取一条判据的结果,而这个流程不按任何判定来判。”
- “{{M}} 读取的判据,这个流程的判定里没有声明。”
- “{{M}} 读取第
<c>个循环,而这个流程只跑一个循环。” / “……只跑<n>个。”
这个动作既不被藏起来也不被拒绝:流程说出它缺什么,而补救就在同一页上。这个模型里一个动作都没有时,卡片写着“这个模型里还没有动作。请到模型的动作下面添加一些。”
产出顺序
在一次运行的边界上,被选中的那些动作按模型列表的顺序产出,每个动作内部按它的命令顺序产出,并按那个边界的触发时机筛选:整个模型只有一个答案,绝不是每个流程一个。开始时的命令在这次运行成形之后(在流水号元数据被占用之后)跑,完成时的命令在最终结论封存之后跑。每一条命令都是隔离的:一次失败什么都不发布,不改变这次运行的任何东西,也绝不拦住它后面的命令。一份报告按这次运行和发出它的那个动作来命名;同一条命令后来的一次重排,只替换那条命令的那份文档,别的都不换。每一次产出在这次运行里记下什么、以及它在历史里怎么被重出,写在发出标签和报告那一页上。