动词:动作、提交条件与记录
参数、规则、提交条件;先校验再执行,一个事务;每次执行都留下记录。

本课目标
读完这一课,你将能够
- 写出一个动作的参数、规则和提交条件
- 解释「先校验、再执行」和「一个事务」
- 说出动作记录记下了什么
一个动作由三样东西组成
动作(Action Type)是事先写好的一次修改。以示例本体里的「调整座位数」为例:
- 参数
公司(一个客户公司对象,必填)、新座位数(1 到 10000 的整数,必填)、理由(可选,最多 200 字)。
- 规则
修改这家公司:座位数 = 新座位数。规则一共六种:新建对象、修改对象、新建或修改、删除对象、建立关系、解除关系。
- 提交条件
新座位数不能少于这家公司的成员数。不满足时,返回写好的一句话:「座位数不能少于成员数」。
参数可以是一个值、一个对象、一组对象或一个列表;提交条件可以看参数、看对象的属性,也可以看是谁在执行。
先校验,再执行
执行一个动作分两步。平台先把每个参数、每条提交条件都检查一遍,逐项给出结果;全部通过,才在一个事务里写入——要么全部改成,要么一个都不改。
| 只校验 | 校验并执行 | |
|---|---|---|
| 用途 | 表单提交前告诉人哪里不对 | 真正修改 |
| 会写入吗 | 不会 | 会,一个事务 |
| 返回什么 | 每个参数、每条条件的结果 | 同样的结果,加上新建、修改、删除了哪些对象和关系 |
- 一个动作一次最多改 1 万个对象;批量执行一次最多 20 个请求,同样是一个事务。
- 只读访客和公开链接的访客永远不能执行动作。
每次执行都留下记录
打开了动作记录(Action Log)的动作,每执行成功一次,就在同一个事务里多写一个记录对象:哪个动作、什么时候、谁执行的、参数是什么、改了哪些对象。记录本身也是对象,可以查、可以统计,也可以放进看板。
每个对象类型还能查编辑历史(Edits History):某个对象被哪一次操作改过,改前是什么,改后是什么。
规则只写一次:应用上的按钮、工作流里的一步、智能体的一句「帮我改」,执行的都是同一个动作。
要点
- 动作 = 参数 + 规则 + 提交条件。
- 先逐项校验,全部通过才在一个事务里写入。
- 只校验不写入,适合在表单提交前提示。
- 动作记录让每次执行都成为一个可以查的对象。
练一练
把一次手工修改写成动作
选一件你们经常手工改的事:改交期、换负责人、调额度。
列出这个动作要的参数,写上每个参数的类型和限制。
什么情况下不允许改?写成提交条件,再写好失败时给人看的那句话。
事后要从记录里回答哪些问题?这个动作要不要打开动作记录?
小测
选一个答案,马上看解析。
Q1「座位数不能少于成员数」应该写在哪里?
取值范围只看参数自己;要拿参数和对象的属性比,就是提交条件。写在动作里,所有入口都受约束。
Q2批量执行 20 个请求,第 15 个校验不通过,会怎样?
先全部校验,任何一个不通过就都不执行;执行时整批是一个事务。
Q3只校验(不执行)一次动作,会留下动作记录吗?
只校验不写入任何东西;动作记录和修改在同一个事务里,只有执行成功才有。