2. 制造主数据对象建模

制造主数据不是一张“大表”,而是一组彼此引用、共同约束生产执行的对象集合。物料回答“做什么”,BOM 回答“用什么做”,工艺路线回答“怎么做、在哪做”,工厂与工作中心回答“在哪做、由谁做”,供应商与客户则回答“从哪来、到哪去”。建模的核心任务,是把这些对象拆成可独立维护的主数据实体,再通过编码与版本把它们稳定地连接起来。

一、对象属性:每个主数据对象必须回答的问题

物料主数据通常分为基本属性、计划属性、采购属性、生产属性和财务属性。基本属性包括物料编码、名称、规格、基本计量单位、物料类型(原材料、半成品、成品、包装材料);计划属性包括计划策略、提前期、安全库存、批量规则;采购属性包括采购类型、供应商、采购单位、最小起订量;生产属性包括是否可制造、默认 BOM、默认工艺路线;财务属性包括评估类、价格控制、标准价格。以某机械制造企业为例,物料 MAT-100234 为“减速箱壳体”,基本单位“件”,物料类型“半成品”,提前期 5 天,安全库存 80 件,采购类型“自制”,默认 BOM 版本 BOM-V3,默认工艺路线 RT-100234-A。这些字段不是孤立填写,而是后续 MRP 运算、工单创建和成本核算的输入。

BOM 主数据描述父件与子件的层级关系,关键属性包括父件编码、子件编码、用量、计量单位、损耗率、生效日期、失效日期、替代组、版本号。BOM 的“用量”必须与子件基本单位一致,若采购单位与基本单位不同,需在物料主数据中维护换算关系,而不是在 BOM 中临时换算。工艺路线描述工序顺序与资源占用,关键属性包括工序号、工序描述、工作中心、标准工时、准备工时、排队时间、移动时间、是否质检、是否外协。工厂主数据定义工厂代码、名称、地址、日历、时区、货币;工作中心定义所属工厂、产能、班次、成本中心、可用设备;供应商与客户主数据则分别维护编码、名称、税号、付款条件、交货条件、联系人、银行信息等。

二、编码规则:让对象可被机器和人都识别

编码规则要同时满足唯一性、稳定性、可扩展性和可读性。常见做法是“分类码 + 顺序码 + 校验位”,例如物料编码 M-01-000234-7:M 表示物料,01 表示半成品大类,000234 为顺序号,7 为校验位。BOM 编码可采用“父件编码 + BOM + 版本”,如 BOM-MAT-100234-V3;工艺路线编码可采用“物料编码 + 路线 + 版本”,如 RT-MAT-100234-A。工厂、工作中心、供应商、客户建议使用固定长度数字码,如工厂 1000、工作中心 WC-1000-01、供应商 V-000123、客户 C-000456。

编码规则一旦发布,不应因组织调整而随意变更。若必须变更,应通过“旧码停用、新码启用、历史数据保留旧码”的方式处理,而不是直接改写历史记录。编码中的分类段应保持粗粒度,避免把易变的组织、产线、项目信息编进码中,否则后续扩展会非常困难。

三、版本管理:让变更可控、可追溯、可回滚

制造主数据的版本管理,重点在 BOM 和工艺路线。版本状态通常包括草稿、已发布、冻结、停用。草稿可修改,已发布可被工单引用,冻结表示不再允许新工单引用但历史工单仍可追溯,停用表示彻底退出使用。版本切换必须与生效日期绑定,例如 BOM-V3 生效日期为 2025-04-01,则 4 月 1 日之后创建的工单默认引用 V3,之前创建的工单仍引用 V2。

版本变更的触发条件包括:设计变更、工艺改进、替代料切换、成本优化、法规要求。每次变更应记录变更单号、变更人、变更原因、影响范围。若变更涉及已下达工单,需要评估是否切换、如何切换、是否允许旧版本继续完工。版本管理不是简单加一个“版本号”字段,而是要把“谁在什么时间、因为什么、把哪个对象从哪个版本改到哪个版本、影响了哪些下游单据”完整记录下来。

制造主数据对象关系与版本引用 物料 编码 / 类型 / 单位 提前期 / 安全库存 默认 BOM / 工艺路线 BOM 父件 / 子件 / 用量 损耗率 / 替代组 版本 / 生效日期 工艺路线 工序 / 工作中心 标准工时 / 准备工时 版本 / 生效日期 父件引用 制造物料引用默认工艺路线 工厂 工厂代码 / 日历 时区 / 货币 工作中心 产能 / 班次 成本中心 / 设备 供应商 编码 / 税号 付款 / 交货条件 客户 编码 / 税号 付款 / 交货条件 归属 工序占用 采购来源 销售去向 版本状态 草稿 → 已发布 → 冻结 → 停用 生效日期绑定,历史工单可追溯 引用

四、建模落地:从对象清单到可执行配置

实际建模时,建议先建立对象清单,再定义对象之间的引用关系,最后确定编码与版本策略。对象清单应明确每个对象的责任部门、维护入口、审批流程和下游消费方。例如物料由工程与计划共同维护,BOM 由工程维护、生产确认,工艺路线由工艺维护、生产确认,工厂与工作中心由制造运营维护,供应商由采购维护,客户由销售维护。

引用关系要避免循环和悬空。物料可以引用默认 BOM 和默认工艺路线,但 BOM 的子件必须已存在且已发布;工艺路线的工序必须引用已存在的工作中心;工作中心必须归属某个工厂。若某物料尚未发布,则不能被 BOM 引用;若某工作中心已停用,则不能被新工艺路线引用。这些约束应在建模阶段通过校验规则固化,而不是等到工单创建时才报错。

建模时先问三个问题:这个对象是否会被多个系统引用?它的变更是否会影响历史单据?它的编码是否会在组织调整时失效?如果答案都是“是”,就必须纳入版本管理和编码治理范围。

五、一个可参考的建模检查表

对象 关键属性 编码示例 版本策略
物料 类型、单位、提前期、安全库存、默认 BOM/路线 M-01-000234-7 属性变更记录变更单,编码不变
BOM 父件、子件、用量、损耗率、生效日期 BOM-MAT-100234-V3 按版本 + 生效日期管理
工艺路线 工序、工作中心、标准工时、准备工时 RT-MAT-100234-A 按版本 + 生效日期管理
工厂 代码、日历、时区、货币 1000 属性变更记录变更单
工作中心 所属工厂、产能、班次、成本中心 WC-1000-01 停用后不可被新路线引用
供应商 编码、税号、付款条件、交货条件 V-000123 状态管理:启用/冻结/停用
客户 编码、税号、付款条件、交货条件 C-000456 状态管理:启用/冻结/停用

建模完成后,应通过一次小范围试运行验证:选取 3~5 个代表性物料,分别创建 BOM 和工艺路线,模拟工单创建与 MRP 运算,检查默认版本是否正确带出、工作中心是否可被占用、供应商与客户是否可被采购和销售单据引用。若出现“找不到默认 BOM”“工作中心已停用”“供应商未启用”等错误,说明对象状态或引用关系尚未闭环,需要回到建模阶段修正,而不是在业务单据中临时绕过。