对象视图:一个对象的一张脸
标准视图与配置视图;完整视图与面板视图;AIDC 的 Object View 与用应用做一张。

本课目标
读完这一课,你将能够
- 区分标准对象视图与配置对象视图,判断各自适合什么
- 说出完整视图与面板视图的差别,各举一个示例工厂里的用法
- 读懂 AIDC 的 Object View 里的标记,并用 SDK 读出同样的内容
标准视图:不用配置就有
上一节从一张表里筛出一批对象。点开其中一行,就是这个对象的对象视图(Object View):属性、关系和相关的应用,集中在一处。
每个对象类型都自动有一个标准对象视图,它照对象类型的配置生成,类型变了它跟着变。规则是:
- 突出(prominent)属性排在最上面:时间序列画成曲线,位置画在地图上,媒体放进播放器,其余的用大卡片。
- 普通属性放进一张表;隐藏属性不显示。
- 「关联对象」组件按关系分组:可以内联预览,也能把一部分对象整批在新标签里打开。
示例工厂的 machine(设备)有两条时间序列 vibration 和 temperature。在标准视图里,它们是顶部的两条曲线,型号和安装日期在表里,下面按关系列出产线。
配置视图与两种形态
标准视图对所有工作流一视同仁。想为某个工作流量身定做,就用配置对象视图:可定制、可复用,由应用搭建器做出来。一旦创建,它就成为默认视图,用户仍然可以切回标准视图。
新建的对象类型会得到一个默认的配置视图:突出属性(没有突出属性就用全部非隐藏属性),加一个关系列表。它会随对象类型自动更新,但只要你编辑过一次,它就归你管,之后的变化都要手动跟上。
编辑权限跟着对象类型走:能编辑这个对象类型的人,才能改它的视图;发布之后,改动对这个类型的全部对象生效,不是只改一个对象。
| 完整视图 | 面板视图 | |
|---|---|---|
| 用途 | 一个对象的全貌,深入细节 | 嵌进别的应用里,只放这个工作流最要紧的数据 |
| 工单的例子 | 工单信息、检验与缺陷列表、产出趋势 | 工单号、状态、进度、到期日 |
| 什么时候选 | 要查根因、要复盘时 | 在别的界面里需要瞄一眼时 |
AIDC 里的对象视图,和自己动手做一个
AIDC 的 Object View 是标准视图。它支持媒体属性预览,也支持 PROMINENT 媒体整页展示。其余属性放一张表,派生属性与「只在语义层」的属性带标记;每条关系下面是相关对象,点一个就走过去;右边是编辑历史。它还会告诉你数据的来历:数据源的时间、语义层改过几个属性、被改动盖住的属性「数据源现在是什么」、以及「源头已消失」。
这些标记在 SDK 里是对象的 rev、edited、overridden、sourceGone。下面这段代码读出一张工单的「一张脸」,再读一台设备的振动曲线(时间序列内联最多 1,000 个点):
overridden 值得多看一眼。它非空,说明这个属性被语义层的改动盖住了,而数据源现在给的是另一个值:可能是 ERP 里已经改了,也可能是有人在这边改错了。排查「为什么这里和 ERP 对不上」,先看它。
const client = semantic.ontology();
const pk = "WO-2409-017";
const [order, inspections, history] = await Promise.all([
client.objects("workOrder").fetchOne(pk),
client.linked("workOrder", pk, "inspections", { $pageSize: 20 }),
client.editsHistory("workOrder", { primaryKey: { workOrderNo: pk }, pageSize: 10 }),
]);
const raw = await semantic.objects("workOrder").get(pk); // props、rev、edited、overridden、sourceGone
const points = await client.timeSeries("machine", "M-07", "vibration").getAllPoints();
要点
- 对象视图是一个对象的集中入口:属性、关系、相关应用。
- 标准视图自动生成、随对象类型变化;配置视图为工作流定制,创建后成为默认,可切回标准。
- 默认的配置视图一旦被编辑,就不再随对象类型自动更新。
- 完整视图讲全貌,面板视图只放这个工作流最要紧的数据。
- AIDC 今天只有标准视图;配置视图与面板视图目前还没有,由 Nexus 应用承担。
练一练
读一张脸,设计两张脸
第一项在 /semantic 里做,后两项在纸上或代码里做。
打开一个被改过的对象的 Object View,列出它的四块内容,说出哪些标记表示「语义层改过」。
为 workOrder 写出一个完整视图和一个面板视图:各放哪些属性和关系?为什么面板里不放检验列表?
照上面的代码读出一个对象的属性、关系和编辑历史,再说出 overridden 非空意味着什么。
小测
选一个答案,马上看解析。
Q1你编辑了 workOrder 的默认配置视图,之后给类型新增了属性 reworkQty。它会自动出现在视图里吗?
默认视图在被编辑之前会自动更新,编辑之后就由你维护。
Q2想在别的界面里瞄一眼一张工单最要紧的几项,该用哪种形态?
面板视图就是为嵌进别的界面、只放最要紧的数据设计的。
Q3在 AIDC 里,想让计划员看到工单「专门定制的一张脸」,今天怎么做?
配置视图目前还没有。媒体属性可预览或整页展示;定制工单的组合视图可用 Nexus 应用实现。