我现在搭建 BOM 表以后,想做个简单版的 MRP 计算,现在搭了一个计划主表和计划明细表后,想通过工作量在计划明细表里把目标 BOM 展开新增,大佬们可以提供点参考的思路吗?
马先生1 1天前子表加上排序字段,用代码块给他生成排序结果,不太灵活,只有一个排序方式。
这个好像不是完美树形吧。。
frank.lin 2天前明道云里怎么展示这样的树形结构,自己写视图插件吗?我印象中之前好像有个案例
子表加上排序字段,用代码块给他生成排序结果,不太灵活,只有一个排序方式。
明道云里怎么展示这样的树形结构,自己写视图插件吗?我印象中之前好像有个案例
不太懂,找 AI 答了一下 😄
在搭建 BOM 表并希望实现简单版的 MRP 计算时,通过计划明细表将目标 BOM 展开新增是一个关键步骤。以下提供一些参考思路来帮助你实现这一目标:
一、明确 BOM 表与 MRP 的关系
- BOM 表的作用:BOM 表(Bill of Materials)描述了产品的层次结构和组成关系,是 MRP 计算的基础数据。它详细列出了制造一个产品所需的所有零部件和原材料及其数量。
- MRP 的需求:MRP(Material Requirements Planning)即物料需求计划,用于确定在特定时间段内为满足生产计划所需的实际物料数量。它根据 BOM 表、库存状态记录和销售预测等信息进行计算。
二、搭建计划主表和计划明细表
- 计划主表:用于记录产品的生产计划,包括产品名称、计划生产数量、计划开始日期和计划结束日期等信息。
- 计划明细表:用于记录每个产品所需的所有零部件和原材料及其数量,即 BOM 表的展开。它应与计划主表相关联,以便根据生产计划自动展开 BOM。
三、实现 BOM 展开新增的思路
- 确定 BOM 的层次结构:首先,需要明确 BOM 的层次结构,即产品由哪些零部件组成,这些零部件又由哪些原材料组成。这可以通过树形结构或表格结构来表示。
- 建立 BOM 表与计划明细表的关联:在数据库或 ERP 系统中,建立 BOM 表与计划明细表的关联。这通常通过外键或索引来实现,以确保当 BOM 表发生变化时,计划明细表能够自动更新。
- 编写 BOM 展开逻辑:根据 BOM 表的层次结构,编写 BOM 展开的逻辑。这通常涉及递归算法或循环算法,用于遍历 BOM 树的每个节点,并根据节点信息计算所需的物料数量。
- 实现自动化展开:在计划明细表中,实现 BOM 的自动化展开。当输入产品名称和计划生产数量时,系统应自动根据 BOM 表计算所需的零部件和原材料数量,并将其填充到计划明细表中。
- 处理特殊需求:考虑特殊情况,如替代物料、物料批次、有效期等。这些特殊情况需要在 BOM 展开逻辑中进行处理,以确保计算结果的准确性和可行性。
- 验证与核对:完成 BOM 展开后,务必对计划明细表进行核对和验证。确保所有零部件和原材料的数量都准确无误,并符合生产计划的要求。
四、注意事项
- 数据准确性:确保 BOM 表和库存状态记录的数据准确无误。数据错误将导致 MRP 计算结果的不准确性。
- 系统性能:对于大型 BOM 树和复杂的生产计划,BOM 展开可能需要较长的计算时间。因此,需要优化系统性能,以提高计算效率。
- 用户培训:对用户进行 BOM 表和 MRP 计算相关知识的培训。确保用户能够正确理解和使用这些工具来制定生产计划。
通过以上步骤和注意事项,你可以实现 BOM 表的展开新增,并搭建一个简单的 MRP 计算系统。这将有助于你更准确地制定生产计划、降低库存成本并提高生产效率。
Eric 2天前我理解的,第一层需求物料,我理解的成品物料是吗,然后第二层开始挂成品的下阶物料
然后用循环的方式,从第二层开始,把下阶物料逐层新增和计算是吗?
对。
但是要特别注意,BOM 不能形成环路。
比如:A 物料的 BOM 里有 B 物料,B 物料的 BOM 里又有 A 物料。
如果出现环路,循环会无法终止。
方棱 2天前计划明细表要做成树结构,第 1 层是需求物料。
从第 2 层开始用循环,把第 i 层的 BOM 物料挂在第 i-1 层下。
直到找不到第 m 层的 BOM 物料,就停止,此时的树有 m-1 层。
我理解的,第一层需求物料,我理解的成品物料是吗,然后第二层开始挂成品的下阶物料
然后用循环的方式,从第二层开始,把下阶物料逐层新增和计算是吗?
取数出来,扔到代码块中进行计算后,存到子表中。
计划明细表要做成树结构,第 1 层是需求物料。
从第 2 层开始用循环,把第 i 层的 BOM 物料挂在第 i-1 层下。
直到找不到第 m 层的 BOM 物料,就停止,此时的树有 m-1 层。