规则与流程配置中心 P25 · 主数据与配置
供应链业务的变化速度远快于系统发版速度。配置中心的价值,是让业务规则的调整不必依赖开发; 但配置化不是万能药——过度配置同样会拖垮系统。
这一页讲什么
什么该配置、什么该硬编码、规则引擎的结构(事件–条件–动作)、四类常见可配置项、配置治理与回滚。
关键概念
规则引擎、事件驱动、条件表达式、动作编排、流程编排、配置版本、灰度发布、配置漂移。
常见坑
把"配置"做成"另一种编程语言"。当配置项的复杂度超过代码,业务人员根本不敢改, 最后还是找开发——既失去了效率,又增加了维护成本。
1. 什么该配置,什么该硬编码
| 判断维度 | 适合配置 | 适合硬编码 |
|---|---|---|
| 变化频率 | 频繁变化(审批人、阈值、费率) | 常年不变(单据编号规则、编码结构) |
| 业务差异 | 不同组织/品类要求不同 | 全公司统一的核心逻辑 |
| 修改影响面 | 改错了容易回滚(阈值、路由) | 改错会导致数据错乱(库存过账逻辑) |
| 典型例子 | 审批链、预警阈值、补货参数、承运商选择规则 | 库存过账、成本计算、三单匹配核心算法 |
一条实用的判断标准:如果这条规则每季度都会变,做成配置;
如果三年没变过,硬编码反而更省心、更安全。
2. 规则引擎:事件 – 条件 – 动作
① 事件
② 条件(可多选)
③ 动作(可多选)
生成的规则
3. 四类最常见的可配置项
点击查看配置要点与风险审批流
预警规则
库存与补货策略
自动化任务
可配内容:条件(金额/品类/组织/供应商状态)→ 审批人(角色/指定人/上级)→ 审批方式(会签/或签/依次)。
必须支持:加签、转办、抄送、代理人、超时自动提醒或自动通过。
风险:配置错误导致"没人审批"或"谁都能批",前者卡业务,后者失控。
建议:提供审批链预览与模拟测试(输入一张测试单,看会走哪些人),这是上线前必做的功能。
必须支持:加签、转办、抄送、代理人、超时自动提醒或自动通过。
风险:配置错误导致"没人审批"或"谁都能批",前者卡业务,后者失控。
建议:提供审批链预览与模拟测试(输入一张测试单,看会走哪些人),这是上线前必做的功能。
可配内容:预警对象(库存/订单/运单/质检)、阈值、判断频率、通知对象与渠道、升级规则。
风险:阈值定得太敏感 → 预警疲劳,所有人最终都会忽略通知(这是预警系统最常见的死法)。
建议:① 上线初期宁松勿紧;② 每条预警要带建议动作,而不只是"请注意"; ③ 定期统计预警的有效率(有多少真的被处理了),据此调阈值。
风险:阈值定得太敏感 → 预警疲劳,所有人最终都会忽略通知(这是预警系统最常见的死法)。
建议:① 上线初期宁松勿紧;② 每条预警要带建议动作,而不只是"请注意"; ③ 定期统计预警的有效率(有多少真的被处理了),据此调阈值。
可配内容:补货策略(ROP/Min-Max/定期)、安全库存与最高库存、批量规则、服务水平、盘点周期。
粒度:通常按物料 + 仓库配置,支持按分类批量设置模板。
风险:参数被随意调整且无版本记录,导致库存波动后无法归因。
建议:参数变更留历史版本,并在库存异常时能回溯"当时参数是多少"。
粒度:通常按物料 + 仓库配置,支持按分类批量设置模板。
风险:参数被随意调整且无版本记录,导致库存波动后无法归因。
建议:参数变更留历史版本,并在库存异常时能回溯"当时参数是多少"。
可配内容:定时任务(MRP 运算、分配跑批、对账、报表推送)、触发频率、失败重试与告警。
风险:任务重叠(上一轮没跑完下一轮又启动)导致数据错乱;失败静默无告警。
建议:① 任务必须互斥 + 有执行日志;② 失败要告警到具体责任人; ③ 关键任务(如库存过账)支持手动重跑与幂等。
风险:任务重叠(上一轮没跑完下一轮又启动)导致数据错乱;失败静默无告警。
建议:① 任务必须互斥 + 有执行日志;② 失败要告警到具体责任人; ③ 关键任务(如库存过账)支持手动重跑与幂等。
4. 配置治理:自由配置不等于随意配置
必须有的四道防线
- 环境隔离:先在测试环境验证,再同步生产。
- 变更审批:核心配置(审批链、价格规则)变更需审批。
- 版本与回滚:每次变更留快照,出问题能一键回退。
- 操作日志:谁在什么时候改了什么,改前改后都要记录。
配置漂移(Configuration Drift)
测试环境与生产环境长期不一致,导致"测试没问题,上线就出事"。
解法:提供配置导出/导入与差异比对功能,定期核对两套环境的差异。
过度配置化的代价
某项目把"每个字段是否必填、每个按钮是否显示、每个状态能否跳转"全部做成配置,
最终配置项达数万条,没人敢改,也没人知道改一条会影响什么。
结果业务每次调整还是找开发,配置中心沦为摆设。
教训:配置化的粒度要控制在"业务人员能理解"的层面。
供应链管理系统演示原型 · 静态教学版 · 数据均为模拟演示数据