修改一条规则
规则改动先批准后追加,判定用的金额取自规则表,不取自模型
修改一条规则参数,要经提议、检查、批准,再追加成表里新的一行,旧行保留,程序版本不变。判定用的金额、是否需要审批这类值取自规则表,不取自模型;模型起草的单据,也按同一张规则表判定。金额档位与审批单型注册表不走这条路,随版本发布追加新行。
界面

图上每条规则一行,版本差异把前一行与新行并排,程序没有动。演示图为了直观,把审批金额档也画在规则页里;在系统里,金额档的新版本随版本发布追加,不经变更单,见下文「改动的类别与路径」。
规则表的一行
| 字段 | 说明 |
|---|---|
| 键 | 规则参数的名字,如「单笔付款复核线」 |
| 值、类型与范围 | 值是什么类型、合法范围多大,写入时由数据库校验 |
| 版本 | 每次变更加一,每个键各有自己的版本 |
| 生效时间 | 同一个键取已生效且生效时间最晚的一行;写在未来就是预约 |
| 变更人、时间、理由 | 随行记下 |
示例:财务负责人提议把「单笔付款复核线」从 20,000 元改为 30,000 元,次日零点起生效。批准后表里多一行,旧行保留:
| 键 | 值 | 生效时间 | 版本 |
|---|---|---|---|
| 单笔付款复核线 | 20,000 元 | 2026-07-01 00:00 | v2 |
| 单笔付款复核线 | 30,000 元 | 2026-11-02 00:00 | v3 |
行为什么这样存、取值怎样按时点查,见规则写成带版本的数据。
角色分工
| 角色 | 能做什么 |
|---|---|
| 业务角色 | 只读规则表,看当前规则与版本历史 |
| 有资格的发起人 | 提议改值,写明新值、预约生效时间与理由 |
| 最高层级 | 批准变更单;发起人不占签核位 |
写入只有一个入口,且只接受已批准的变更单。谁有资格提议、谁有资格批准,由权限与审批链决定,见谁能做什么。
一次改动怎样走
| 步 | 发生什么 | 你会看到 |
|---|---|---|
| 提议 | 发起人写明键、新值、预约生效时间、理由 | 一张变更单,内容已冻结 |
| 检查 | 系统判定键是否已登记、类型与范围是否合法、与当前值是否不同、是否违反次序约束;不合格当场退回 | 退回时附原因,不产生变更单,没有批不过的废单 |
| 批准 | 变更单走审批,最高层级批准;批准时刻按同一份检查再算一遍 | 驳回则单据终态,规则表不动 |
| 追加 | 规则表多一行,旧行保留;生效时间取预约时间与批准时刻中较晚的一个,不倒填 | 版本加一,历史里记下前一行、新行、变更人、理由 |
各项检查的含义,以及批准时刻为什么要再检查一遍,见修改规则参数的唯一入口。
改动的类别与路径
| 制度数据 | 怎样改 | 检查 |
|---|---|---|
| 规则参数的值,如时限、复核线、开关 | 变更单,经写入入口追加 | 只做校验,只读判定,不写表 |
| 可编辑规则定义,如新增一个分支 | 变更单,经写入入口追加 | 先做演习 |
| 金额档位、审批单型注册表 | 随版本发布追加新行(新的档位版本、更晚的生效时间),旧行由触发器拒改拒删 | 不经变更单 |
金额档与注册表的新版本只影响新建的单,在途单仍按冻结的旧版本走,见审批流转。
下面是变更单上的检查:
- 参数改值:只做校验,不预演影响面。
- 可编辑规则定义:先做演习,在子事务里真写一遍再整笔回滚,不合规的当场拒绝。演习证明写得进去,不证明改后业务会怎样。
所以新增分支这类改动,被拒的原因在建单前就给出,不会等到批准之后才发现写不进去。
版本差异
版本差异把前一行与新行并排:改了哪个字段,谁改的,何时改的,程序有没有动,一眼可见。审计时拿两个版本比,看的就是这个视图。
回到某个版本
回到某个版本不另设一套操作:按目标版本的内容,重新提交一次既有的变更,走同一套审批。历史里多一条记录,被跳过的中间版本照常保留,不覆盖,不删除。
所以回退也有提议人、批准人和理由,与向前改一样可查。
已建的单据
建单时,单据记下它命中的那一行规则。此后规则怎么改,都不回改已建的单;查旧单时,按当时的规则复现判定,见重放一张旧单的判定。追查上个月的单据,结果与当时一致,不会因新规则翻案。
限制与不适用
- 批准之前不生效。
- 批准的是最高层级的一个人。
- 参数改值只做校验,不预演影响面。
- 金额档位与审批单型注册表不走变更单,随版本发布追加新行。
- 新增判据种类或签核位种类要改解释器,同样随版本发布。
规则的内容由企业在设计阶段与 SZV 一起定下,文中的编号与数值是示例。规则表管条件、阈值与动作;单据怎样沿链签字,见审批流转。
验收时可以问的问题
- 请在界面里打开一条规则的版本差异,看改了哪个字段、谁改的、何时改的。
- 请演示规则改动之后,一张已建的单据仍按建单时命中的那一行判定。
相关页
- 修改规则参数的唯一入口:写入入口为什么只接受已批准的单,检查为什么做两次。
- 规则写成带版本的数据:规则行的存法与取值顺序。
- 审批流转:变更单与业务单据怎样沿链签字。
- 追溯一笔付款的审批:把一条付款审批规则写成表并上线。