文 / 明道云销售部参谋 潘娟
编辑 / 蒋礼轩
在制造业中,物料治理是非常重要且繁冗的局部。很多用户在明道云上构建生产类利用都会遇到困难。本文以简略的产品 BOM 搭建为根底,延长一些层级关联和代码块的应用技巧,为用户提供办法与借鉴。
一、物料治理
1. 表单搭建
本文对物料层级定义为四级,别离是原料及半成品的大类划分、大类的细分,以及大类细分的再次细分。
首先是建设表单。咱们依据物料层级数量,将表单划分为四个层级。咱们的物料分几个层级就建设几张表单。
下一步是对层级之间的数据做关联,高一级与上级之间都为一对多的关系。当咱们建设好数据后,咱们能够用层级视图来清晰地展现物料详细信息和层级关系。
接下来,咱们会遇到一个较难的问题——物料元件编码。咱们假如每个分类下的物料编码起始值都为 001,四级元件的编码则是 0001,而且每个物料的显示须要组合下级编码及本级的物料名称。
看上面的图片,咱们能更间接地了解物料编码规定,以及其在表单配置中的实现形式。
因为不同的物料下明细物料的编码都要从 001 起始,所以单纯利用零碎自带的自动编码字段是无奈实现该成果的。那么,这个编码规定就要利用到工作流。
2. 非凡编码规定工作流配置
这条工作流的大抵配置逻辑如下:
1. 设置工作流的触发条件为“新增时触发”
2. 查找关联同一个下级的同级同类型的最大编码记录
3. 最大编码记录的数值 +1
4. 在表单内增加一条数值作为编码运算的辅助内容
5. 应用代码块,将运算后果数值转化为能够显示的文本。
还记得前文提到,物料有“原料”和“半成品”之分吗?不同类型的物料有不同的运算规定。因而,咱们在第二步找到记录之后,要做物料分类的分支判断,不同的物料类型运行不同的运算节点。
下一步,利用代码块将数值转化为对应格局的文本。代码块很简略,只有上面两行:
var non = input.num;
return {Str:"."+non.toString().padStart(3, "0")}
最初,将计算数值及转化后的文本编码更新至触发数据的对应字段内,物料的编码及划分就实现了。
二、产品治理
1. 产品表单配置
实现物料表单的搭建后,下一步要配置产品表单。作者选取了一个典型的 BOM 表单作为参考的成品成果,并对应地配置表单字段。
除了产品表单以外,咱们还须要有一张产品物料清单,以此来列举每个产品对应须要的半成品以及原料。这样以便物料主动汇总和排序,并且不便制作更简洁的 BOM 打印模板。每个产品记录将关联其对应的产品物料清单,成果如下图:
2. 物料主动汇总工作流配置
工作表触发形式为:
物料清单更新或者新增时触发,同时限定条件产品表及触发的物料类型为半成品(限定触发类型是因为本条工作流最终的成果是须要新增类型为原料的明细,如果流程中不限定类型的话,工作流就会重复被触发)。
当获取到触发的半成品关联的元件明细较多时,这就须要用子流程去解决获取到的元件明细。
同时,因为在子流程中咱们须要应用到主流程的数据,所以咱们在子流程中就须要去做传递关联项用以绑定关联关系。最初咱们在子流程内只须要实现查找及新增后,流程就完结了。
那么,就产品物料内的排序而言,咱们仅须要在视图内设置排序关联视图就能够将其实现。
三、打印模板
不少客户都要把 BOM 表单打印进去,以便在生产车间核查。而咱们搭建进去的 BOM 清单最终的打印模版配置和成果如下图所示。以下效果图和最后对照搭建的 BOM 表单十分相似。