元数据

一次运行在开始时采集的字段目录(文本、数字,或者拼出来的流水号标识)、流水号字段背后的那个计数器,以及每个单元的代号和计数器状态。

以 Markdown 查看

元数据是模型的一份目录,列出一次运行在开始时要采集的那些字段:一个序列号、一个批次、一个操作员姓名、一个拼出来的标识。一个字段在模型上定义一次,因此它在每一个单元上含义相同,历史筛选和报告也就保持一致;每一个流程挑出它要提示的那一部分,而这些值会被冻结进运行记录文件。元数据屏幕(Process > 模型 > 定义 > 元数据)上面装着这份目录,下面是那些单元,旁边则是被选中字段或被选中单元的设置。标题栏写着“运行记录开始时采集的字段目录,以及每个单元用它们盖上的东西。”,并数出字段数和单元数。

读取需要查看模型;每一次编辑都需要管理 Process 和一台没有被锁住的工作站。这个屏幕穿着每个定义屏幕共用的那一副样子(见定义)。

模型定义:那份目录

标题栏写着“这份目录对每个单元都有效:在这里加一个或删一个字段,每个单元的表都会跟着变。”,并带着新建字段,按它就追加一行,名字取第一个空着的“Field N”(工作站被锁住时变灰;没有管理 Process 时不画出来)。

是什么 取值 / 默认 效果
名称 “每一次运行记录都以这个名称记下它的值。”它同时也是下一次启动会消费掉的那个预选点位 Process.<Model>.<Unit>.Next.<Name> 自由文本;创建时是“Field N”。 一次安全重命名:预告行说出有多少处位置读这个地址,提交时把它们改写,并把某个单元上已经预选好的值带到新名字下。名称的地址段和另一个字段映射到同一个时会被拒绝(“元数据字段名称‘X’映射到的地址段‘Y’已经被‘Z’占用。”),用了预选流程那个点位的保留名称时也会(“元数据字段名称‘Procedure’映射到了保留的地址段‘Procedure’。”)。
类型 “一次运行记录里这个字段的值从哪里来。” 文本(“运行记录开始时由操作员输入。”)、数字(“运行记录开始时由操作员输入一个数。”)、流水号(“由应用拼出来,运行被受理时确定并占用这个值。”);默认文本。 切到流水号时,会把必需的计数器组成部分加进那份组成里。
必填 是不是每一个流程都提示这个字段(“这个模型上的每一个流程都会提示填写它,并把它锁进各自的元数据清单。不是只有流程要它时才必填。”)。 开 / 关;默认关。 开:“这个模型的每一个流程都会提示填写它,没有它就没有运行记录可以启动。”关:“只有要它的流程才会提示填写。”
计数器范围 只有流水号才有:这个计数器按什么来分别计数。 整个模型按单元按流程按流程加单元;默认整个模型。 改动它会先问一次:“要把‘Serial’改成每个单元一个计数器吗?已经有一个或多个计数器发出过值。当前的上一个/下一个状态不会被转换或分摊。新状态从配置的初始值起算,下一次运行之前必须复核。”
下一个标识 只有流水号才有:这份组成接下来会发出的那个标识,配上示例日期和代号。 只读。 见下面的预览。
把字段上移把字段下移(行上) 把这个字段在目录里挪一个位置。 到了列表两头就变灰。工作站要是拒绝这次写入,这一行回到原来的位置。
删除(行上,危险色) 把这个字段以及它在每一个流程里的选择一并删掉。 确认“要删除‘X’吗?这会删除这个字段,以及它在这个模型每一个流程里的使用。此操作无法撤销。”

字段按目录里存放的先后排列,开始时也按这个顺序提示;那就是添加进来的先后,直到行上的命令把它改掉。

一个字段的设置栏

点中一行就把它完整打开(“元数据 · 序列号”):名称类型必填,每一个都写在说明它决定什么、当时生效的值会产出什么的那一行上面。流水号字段还会在它们下面加上它的组成和它的计数器。

预览

预览那一块显示这个字段接下来会发出的标识,取自计数器当前的“下一个”值、模型上找到的第一个单元代号和流程代号(还没有设时写 UNITPROC),以及今天的日期:“示例日期和代号。运行被受理时才确定并占用这个值。”字段拒绝的配置写作“预览不可用”,理由作为一条附注立在预览下面(“流水号元数据‘X’必须正好含有一个计数器组成部分。”“……需要 1 到 18 位计数器位数。”“……的初始值超出了 0 到 999999。”“……有一个年份组成部分,它必须用两位或四位。”)。

计数器

字段 是什么 取值 / 默认 效果
计数器范围 计数器状态的共享边界:整个模型一份状态、每个单元一份、每个流程一份,或者每一对流程加单元一份。 四个范围;默认整个模型。 改动范围会从初始值造出全新的状态,绝不转换也不重新分摊旧的(就是上面那句确认)。
初始值 每一份新建的状态从哪里起算,以及计数器走到最大值之后回绕到哪里。 0 到位数所允许的最大值;默认 1。 编辑它绝不会重置已有的状态。
计数器位数 印出来的宽度,也因此是它的上限:六位数到 999999。 1 到 18;默认 6。 把它减到某份状态当前的“下一个”之下,会在保存时被拒绝:“‘Serial’的计数器位数表示不了它当前的下一个值 1200000。请先调整‘下一个’,再减少位数。”
计数器前面补零 计数器那一部分是不是左边补零到位数宽度。 开 / 关;默认开。 000042 对着 42

组成

这个标识是一串有序的组成部分,与地区设置无关。组成的标题上带着一个类型选择框和新建组成部分,按它就追加一个那种类型的部分。

组成部分 发出什么 设置
固定文本 字面文字,分隔符也在内。 一个文本字段(占位写“分隔符或固定文本”;新加的部分一开始是 -)。
本地日历年份。 2 位或者 4 位(新加的部分是 4 位)。
“两位数的本地月份”。
“两位数的本地日期”。
计数器 “这个字段占用的计数器”。 正好一个,字段变成流水号时自动加上;它不能删除,类型也不能改。
单元代号 “在单元上配置的代号”。
流程代号 “在流程上配置的代号”。

每一个组成部分那一行都带着它的序号、它的类型(除计数器外每种类型都是一个下拉框)、它的设置,以及把组成部分上移把组成部分下移删除组成部分。凡是组成里用到单元代号或流程代号的,在代号空着的那个单元或流程上启动都会被拒绝(“流水号元数据‘X’需要一个单元代号。请在单元 → 元数据里配置它。”)。

共享的模型计数器

对于按整个模型计数的字段,这一栏最后是一行共享的模型计数器,写着“所有单元和所有流程”:上一个发出的(实际上一次确定并占用的值,第一次启动之前是一个空缺)和下一个(下一次被受理的启动会占用的那个值)。“下一个”可以编辑,往回调也行;“下一个”不高于“上一个”时这一行警告“可能重复出同一个标识”,标题上也重复着“调低‘下一个’可能重复出一个已经发出过的标识。”超出 0 到最大值的取值会被拒绝:“‘Serial’的下一个值必须在 0 到 999999 之间。”工作站被锁住时,以及状态还不存在时(状态是在模型保存时创建的),“下一个”是禁用的。

按流程计数的计数器立在流程自己那一页上;按单元和按流程加单元计数的计数器立在下面的单元里。

按单元:单元列表

下面那一块列出那些单元,标题栏最末端是管理单元

显示什么
单元 单元的名称。
代号 单元的代号,空着时写“没有代号”,而在这个模型有流水号字段把单元代号拼进去时,用警示色写“还没有代号”。
计数器 “没有计数器”“1 个计数器”或者“N 个计数器”:按单元计数的每个字段各一个(必填字段,或者某个流程选中的字段),加上按流程加单元计数的每个字段在每一个适用流程上各一个。

一个单元的设置栏

点中一个单元,就打开这张试验台盖下什么(“单元 · 单元 1”):

字段 是什么 效果
单元代号 “每一个含有‘单元代号’的流水号字段都共用它。重命名单元绝不会改变它。”占位写“用到之前可以不填”。 和模型页面上单元表格里那个代号是同一个;去掉首尾空格,空着就是没有。
计数器状态那些行 这个单元持有的每一份计数器状态一行:字段的名称,加上上下文“这个单元”(按单元)或者流程的名称(按流程加单元);上一个发出的,以及一个可以编辑的“下一个”,同上。 “‘上一个’绝不会被改写。调低‘下一个’或者到达最大值后回绕,都可能重复出同一个标识。”一份都没有时:“这个模型没有按单元计数的流水号字段,因此这张试验台不保存计数器状态。”

一个流水号的值是怎么被占用的

在一次被受理的启动上,等其他每一项校验都通过之后(手工填写的字段、必需的代号、绑定、单元可用性、信号源锁),这次运行的每一个流水号字段都在一次立即事务里占下它的号;同时发生的多次启动绝不可能看到同一个“下一个”。格式化好的文字,前导零也在内,会被冻结进这次运行:此后对字段、代号或计数器的编辑,绝不会改写它。崩溃正好落在那一小段窗口里可能留下一个空号,但一个号绝不会被自动重用。快照和独立的判定不提示任何元数据,也不占用任何号。在一个单元的界面上,流水号字段读作对它下一个值的预测,不用输入。

这个屏幕不做的事

  • 它不挑选子集:一次运行提示哪些字段,是在每一个流程上选的;只有必填会把一个字段强加给每一个流程。
  • 它不输入任何值:值是在单元的操作面板上或者某张仪表画面上于开始时输入的,或者由自动化提供。
  • 它不在范围改动时转换计数器状态。
  • 它不改写任何已冻结的值:一次运行保留它当时盖下的东西。