给单据加状态, 并管住它怎么流转
"草稿 → 已确认 → 已完成",已完成的不能再改回草稿,已确认之后内容不许再动,金额大的还要领导批——这些都配在状态字段上:状态是一个「下拉选项」字段,「状态流转」管它能怎么走,「可编辑状态」管什么时候还能改内容,要人批的再加一条「审批」。
入口:「设置管理 → 企业设置 → 应用中心 → 模块设计器」,打开你的应用,顶栏切到表格档。
第一步:加一个状态字段
- 点「+ 添加字段」,字段标签填「状态」,字段类型选下拉选项;
- 在下拉选项里点「+ 添加选项」,每行左边填键(存进系统的值,用英文小写),右边填显示文本。例如:
draft草稿、confirmed已确认、done已完成、cancelled已取消; - 控件选状态点——只有这个控件的状态字段,升级后表单页头才会出现流转按钮;
- 默认值选「草稿」。
第二步:限定状态能怎么走
同一个面板往下,把状态流转的开关拨开,会出现一张勾选表:每一行是"当前状态",每一列是"可改为"。开关刚打开时是全勾的(等于不限制),把不该有的走法取消掉:
| 当前状态 | 草稿 | 已确认 | 已完成 | 已取消 |
|---|---|---|---|---|
| 新建 | 勾 | |||
| 草稿 | 勾 | 勾 | ||
| 已确认 | 勾 | 勾 | ||
| 已完成 | ||||
| 已取消 |
- 新建这一行:新建的单据能直接存成哪些状态,一般只留草稿;
- 期初补录(仅管理员)这一行:只有公司管理员新建时还能直接选的状态,补录历史单据用,用不到就不勾;
- 一整行都不勾,就是终态,到了这个状态就不能再改去别处。

升级之后,用的人会看到:
- 状态下拉只列当前能改去的选项;
- 已保存的单据页头多出按钮,能去几个状态就有几枚。「已确认」「已完成」这类会显示成动作词(「确认」「完成」),其余显示成「转为…」,去向超过三个时多出来的收进「更多」;
- 改到一个回不去的状态时,先弹一次确认。

第三步:哪些状态下还能改内容
勾选表最右边有一列可编辑:勾上的状态下可以改单据内容;没勾的状态下整张表单只读(状态本身除外),绕开表单去改,保存时系统同样会拒绝。一个都不勾等于不限制。
- 没开状态流转时,同样的勾选在下面可编辑状态那一格;
- 个别字段要例外(比如已确认后仍允许补备注):选中那个字段,在在这些状态下仍可改里选状态;
- 一张表只能有一个状态字段设可编辑状态;
- 想按别的条件锁整张单,用数据表属性里的整单锁定。
第四步(可选):有的单据要人批
导图上有一个「审批」分支(只有一张表的应用里它是收起的,点面板底部的显示全部)。选中它,在属性面板里选一张表,点「新增审批声明」,然后配:
- 触发条件:满足条件的单据才要批,不设就是每一张都批;
- 审批节点:每一级的审批人(直属上级 / 部门负责人 / 公司管理员)、多人时怎么算(一人通过即可 / 全员通过 / 按比例通过)、驳回后怎么办(驳回即终止 / 退回修改);点「加一级审批」加下一级。

要让审批结果自动写回状态,状态字段要对得上三处:
- 字段的技术名是
x_state(标签叫「状态」时会自动起成这个,可在面板最下面「高级」里核对); - 选项的键里有
pending、approved、rejected,显示文本随你写(审批中 / 已批准 / 已驳回)。提交、通过、驳回时系统自动把状态改过去,这三个状态不会出现在手动按钮里; - 勾选表里「草稿 → 审批中」那一格要勾上,否则单据上不出「提交」按钮。
升级后审批流就生成了。之后改流程(换审批人、加分支)在「设置管理 → 企业设置 → 审批流配置」里做,设计器里这一条只决定它最初的样子。审批只在公司里有,个人空间用不了。
新建应用时走「三问向导」并回答"要审批",状态字段和审批声明都会替你建好,再回来按本篇微调即可。
常见问题
升级后页头没有流转按钮:依次检查——状态字段的控件是不是「状态点」、状态流转开关开了没有、这张单据保存过没有(新建还没保存的单据不出按钮)。
设计器预览里看不到按钮:预览只画表单本身,不画页头。到应用里打开一张已保存的单据看。
老单据的状态下拉还是全部选项:它当前的状态不在勾选表里(比如后来删掉的选项),系统不拦,照旧全列。
审批人怎么只能选三种:设计器里只能选组织里的角色,由各公司的组织架构决定具体是谁;要指定到具体的人,升级后到审批流配置里改。
相关:审批、不写代码,让系统自动算一笔账、让单据自动编号。