多级BOM及MRP运算实现方案
1. 简介
1.1 基本概念
在生产领域,BOM(物料清单)是指一份详细记录制造某个产品时,所需的所有原材料、零部件、元器件等物品的清单。而 MRP(物料需求计划)则是以 BOM 为基础,确定生产计划所需原材料和组件数量的运算逻辑。
1.2 方案简介
本文将介绍如何通过 关联数据 实现多级 BOM 的高效维护,并结合 智能助手Pro 进行 MRP 的运算。企业能够高效管理产品的多级 BOM 结构,并进行精确的 MRP 运算,以确保生产计划的顺利执行和物料供应的及时性。
该搭建方式具有以下突出优势:
- 维护便捷:多级 BOM 能够清晰显示每个产品的组成部分及来源,使得生产过程更加透明,便于监控和管理。
- 自动计算:通过自动拆解多级 BOM,生产计划师能快速精确地计算出生产每个产品所需的所有物料和数量,缩短生产准备时间,并减少生产中断。
- 易于拓展:搭建思路清晰、易拓展,用户可基于该搭建思路,轻松往下扩展搭建所需层级的 BOM。
本文将以三级 BOM 为例,讲解如何通过关联数据实现多级 BOM 的维护。您可在了解逻辑后,参考本文 4.4 节继续拓展 BOM 层级。
1.3 预期效果
1)多级 BOM 维护
在查看 BOM 信息时,可以在「子BOM」标签页中查看所有的子 BOM 信息,并可实现子 BOM 信息的便捷维护与快速新增。同时,可不断向下钻取,查看更深层次的 BOM 信息。
2)MRP 运算
变更生产计划的状态为 “物料分析” 时,便可触发智能助手Pro 进行 MRP 运算,将结果写入到「物料需求」表中。
此时,便可在生产计划的「物料需求清单」标签页内分组查看所需的各级物料及具体数量。同时,还会将计算得到的每一级物料需求都写入相应地运算表中。
2. 表单搭建
点击安装应用模板 BOM&MRP实现方案 ,本文将按照模板中的示例数据进行讲解。
本文案例主要用到如下 7 张表单:
1)BOM维护相关表单
- 产品信息表:存储产品相关的基本信息,如产品名称、型号等,是 BOM 的基础数据来源。
- BOM基础表:用于记录产品与其组成部件之间的关系,以及所需的每个组件的数量。
2)MRP运算相关表单
- 生产计划:记录产品的生产计划,包括计划生产的产品和需求数量。
- 物料需求:存储 MRP 运算的最终结果,包括所需的各级物料名称和数量,可用于指导采购和生产活动。
- 运算过程表:根据主产品的 BOM 层级,由上到下逐级拆解计算的过程表。
- 一级BOM运算:一级物料需求计算的中间表及结果表。
- 二级BOM运算:二级物料需求计算的中间表及结果表。
- 三级BOM运算:三级物料需求计算的中间表及结果表。
3. 多级BOM搭建方案
3.1 搭建思路
以维护三级 BOM 为例,搭建思路如下:
第一步:明确产品的组成结构
- 逐层向下拆分产品的各个组成部分,明确各部分间的层级结构及所需数量;
- 以电脑组装为例,其组成结构包括键盘、主机、主板、显卡、存储单元、硬盘和内存。
第二步:录入产品信息
- 将所有用到的原始物料作为单独的产品录入到「产品信息」表中,用于后续 BOM 的调用。
- 例如,电脑及其所有组件(键盘、主机等)都需要在「产品信息」表中有所记录。
第三步:构建BOM结构
- 在「BOM基础表」中,通过关联数据字段将每个产品和其直接上级产品关联起来,构建出整个 BOM 结构。
注:本文仅演示了三级 BOM 的构建,但您可以通过该方式(关联本表),自由地,不断扩展 BOM 层级。
3.2 实现步骤
3.2.1 产品基础信息录入
在「产品信息」表中录入每一个产品的基本信息。如下图所示:
需录入的产品包括电脑及其所有组件(键盘、主机、主板、显卡、存储单元、硬盘、内存),录入后的效果如下:
3.2.2 BOM表录入
在「BOM基础表」中从顶层产品开始向下录入,逐一构建当前录入产品及其直接上级产品的关联。录入时,需要分别通过两个关联数据字段来选择当前产品,与直接上级产品BOM(录入顶层产品时无需填写)。
以关联键盘与其上级产品、电脑,并填写分子(即所需的材料数量)为例:
需要录入的数据,及录入后的数据效果如下所示:
当前产品 | 上级产品 |
电脑 | 无需录入 |
键盘 | 电脑BOM |
主机 | |
主板 | 主机 |
显卡 | |
存储单元 | |
内存 | 存储单元 |
硬盘 |
Tips:在录入 BOM 时,可以直接在顶层产品的数据详情页中的「子BOM」下进行快捷录入。以连续录入「电脑 >>主机」「主机>>存储单元」为例,如下图所示:
3.3 效果演示
效果参见本文【1.3 预期效果】。
4. MRP运算实现方案
完成多级 BOM 的搭建后,便可通过智能助手Pro 基于 BOM 进行 MRP 运算。
4.1 实现思路
1)MRP 逻辑说明
MRP运算,是根据生产计划中的主产品和需求数量,基于主产品的 BOM 结构,从主产品开始逐级向下拆解,计算所需的各级物料及其具体数量。具体如下:
- 确认主产品及需求数量: 如需要生产电脑共 10 台;
- 计算一级物料需求:根据 BOM 找到电脑的直接下级产品,如键盘、主机,并计算所需的键盘、主机数量;
- 计算二级物料需求:继续查找键盘和主机的下级产品,如主板、显卡、存储单元,并计算所需数量;
- 计算三级物料需求:继续查找下级产品,如硬盘、内存,并计算所需数量;
- ……:根据 BOM 继续查找下级物料,直至最后一层物料被算尽。
2)智能助手Pro设计思路
以计算最多具有三级 BOM 结构的产品为例(如电脑),智能助手Pro 的设计思路如下:
- 核心思路:由上到下地查找各级物料,计算各级物料需求,并将计算结果同步到运算过程表跟物料需求表中。
- 配置思路:三级 BOM 的产品最多会有三级物料需求,则需要 4 个 Pro:
- Pro1:触发整个MRP运算链路,查找一级物料
- Pro2:用于计算和同步一级物料需求、查找二级物料
- Pro3:用于计算和同步二级物料需求、查找三级物料
- Pro4:用于计算和同步三级物料需求
具体如下图所示:
特殊逻辑说明:此处使用到了 Pro级联触发 的逻辑。例如:
- Pro2 找到二级物料的时候,向二级BOM运算表中新增数据,以级联触发 Pro3 进行二级物料需求计算;
- Pro2 未查找到二级物料,便不会向二级BOM运算表中新增数据,不会级联触发 Pro3。
4.2 实现步骤
由 4.1 节可知,Pro 3、Pro 4 的设置逻辑基本同 Pro2,因此此处仅讲解 Pro1 和 Pro 2 的具体配置,其余 Pro 配置可通过应用模板进行了解学习。
4.2.1 生产计划录入
在制定生产计划时,需要分别通过关联数据字段 “生产产品”、“BOM” 选择当前需要生产的主产品、主产品 BOM,并录入计划生产数量,作为后续 MRP 运算的基础。以生产 10 台电脑 为例:
4.2.2 设置智能助手Pro1
Pro1「执行分析,写入一级」,用于在触发后,将查询到的一级物料数据新增到「一级BOM运算表」中。
1)选中触发节点,并进行如下设置,使智能助手Pro 生产计划的状态变更为 “物料分析” 时触发:
- 添加触发动作:仅在任意指定字段「状态触发器」修改时;
- 添加触发条件:「状态触发器」等于「物料分析」。
2)通过 查询多条数据节点,设置查询条件为选择上级产品「等于」触发数据—BOM,将主产品所需的一级物料 BOM 查询出来。
3)通过 新增数据节点,将查询到的一级物料 BOM 新增到「一级BOM运算表」中。
4.2.3 设置智能助手Pro2
Pro2「计算一级物料,写入二级」,用于在触发后计算一级物料需求数量,并同步到「一级BOM运算表」、「物料需求」表中。同时,查询二级物料需求,并写入「二级BOM运算表」中。
1)选中触发节点,并进行如下设置,是 Pro2 能够在新增数据时(由Pro1 新增)触发 :
- 添加触发动作:新增数据时;
- 添加触发条件:「一级物料」不为空。
2)使用 计算节点,设置公式为,计算出当前一级物料的具体需求数量。
3)通过 修改数据节点,将上述计算得到的数量信息,更新至「一级BOM运算表」中。
4)使用 新增数据节点,将上述计算得到的数量信息,新增至「物料需求」表中。
5)通过 查询多条数据节点,设置查询条件为选择上级产品「等于」触发数据— 一级物料,将主产品所需的二级物料 BOM 查询出来。
6)通过 新增数据节点,将查询到的一级物料 BOM 新增到「二级BOM运算表」中。
4.3 效果演示
效果参见本文【1.3 预期效果】。
4.4 扩展BOM层级
本文第四节示例的智能助手Pro配置,最多支持计算三级 BOM 的产品物料需求。而实际上,您可通过复制修改相关配置,继续向下扩展可计算的 BOM 层级。
以扩展至计算四级 BOM 的产品为例:
1)新增四级BOM运算表
通过复制的方式新增一张「四级BOM运算表」,设置如下 2 个关联数据字段,并对其他字段进行相应地调整。
- 三级物料:选择主表为「三级BOM运算表」
- 四级物料:选择主表为「BOM基础表」
2)修改物料需求表
新增相关四级物料字段,以及关联数据字段 “四级物料明细”,并设置主表为刚刚新增的「四级BOM运算表」。
3)新增智能助手Pro 5
通过复制 Pro4 的方式新增 Pro5「计算四级物料」,且复制时,需要变更触发表单为「四级BOM运算表」。相应地,参考上述 Pro 的配置,调整 Pro5 为如下所示的配置逻辑:
- 新增四级物料时触发
- 触发后计算四级物料需求,并回写至四级物料表和物料需求表中
4)修改智能助手Pro 4
需要在 Pro4「计算三级」中新增查找四级物料,并在找到时写入四级BOM运算表的配置。