三级BOM用料清单

1. 简介

1.1 案例简介

本文将介绍,如何搭建三级 BOM 用料清单。

1.2 应用场景

三级 BOM 适用于产品组成较为复杂的生产场景,如五金制品、家装用品等,包含三级材料的产品:

1.3 预期效果

在产品明细中输入产品名称和对应的数量,即可自动计算出所需的二级、三级材料及其用量,效果如下:点击体验效果

注:由于安装模板时限制单个表单数据最多为 100 条,故安装模板体验效果时,需要重新按照 BOM物料清单【2.2.2 录入数据】的步骤录入数据才能成功实现效果,否则将无法体验。

2. 设置方法

在学习之前建议安装 BOM物料清单 应用模板,本文将按照模板中的示例数据进行讲解。

注:本表单中包含 二级 BOM 用料清单 的部分字段设置,如已经搭建了二级 BOM 用料清单,则可以在复制二级 BOM 用料清单后,继续新增其他字段。

2.1 表单搭建

新建「三级 BOM 用料清单」表单,字段设置如下:

字段名称

字段类型

产品明细

子表单

产品名称

子字段-下拉框

数量

子字段-数字

二级材料集合

子字段-单行文本

二级材料用量集合

子字段-单行文本

物料数

子字段-数字

数量重复

子字段-单行文本

产品数量重复

单行文本

二级材料总集合

单行文本

二级用料总行数

数字

二级材料用量集合

单行文本

二级用料

子表单

序号

子字段-数字

材料名称

子字段-单行文本

材料用量

子字段-数字

单个产品需要材料用料

子字段-数字

产品数量

子字段-数字

三级材料集合

子字段-单行文本

三级材料用量集合

子字段-单行文本

三级材料数

子字段-数字

数量重复

子字段-单行文本

二级用料数量重复

单行文本

三级材料总集合

单行文本

三级用料总行数

数字

三级材料用量集合

单行文本

三级用料

子表单

序号

子字段-数字

三级材料名称

子字段-单行文本

三级材料用量

子字段-数字

单个二级需要材料数

子字段-数字

二级材料数量

子字段-数字

三级材料名称+用量

子字段-单行文本

三级材料名称去重

单行文本

行数

数字

三级材料名称+用量集合

单行文本

用料汇总

子表单

序号

子字段-数字

三级材料名称

子字段-单行文本

三级材料用量

子字段-数字

2.2 字段设置

2.2.1 产品明细子表单字段设置

1)选中「产品明细.产品名称」子字段,在选项中手动输入产品名称,与 BOM 物料清单「BOM基础表」录入的主产品相对应,无需输入物料名称:

2)选中「产品明细.二级材料集合」子字段,在「字段属性 >> 默认值」处,设置选项为「数据联动」,点击「数据联动设置」,设置内容如下:

  • 联动表单:「BOM 基础表」;
  • 条件设置为:「主产品」等于「产品明细-产品名称」;
  • 触发联动:「产品明细-级材料集合」字段显示「子物料集合」字段的值;

全部设置完成点击「确认」。

3)同样的方法,设置「产品明细.级材料用量集合」子字段的数据联动规则如下:

  • 联动表单:「BOM 基础表」;
  • 条件设置为:「主产品」等于「产品明细-产品名称」;
  • 触发联动:「产品明细-级材料用量集合」字段显示「用量集合」字段的值;

全部设置完成点击「确认」。

4)同样的方法,设置「产品明细.物料数」子字段的数据联动规则如下:

  • 联动表单:「BOM 基础表」;
  • 条件设置为:「主产品」等于「产品明细-产品名称」;
  • 触发联动:「产品明细-物料数」字段显示「子物料数」字段的值;

全部设置完成点击「确认」。

5)选中「产品明细.数量重复」子字段,在「字段属性 >> 默认值」处,设置默认值为「公式编辑」,点击下方「编辑公式」:

6)设置「产品明细.数量重复」字段的公式为:LEFT(REPT(CONCATENATE(TEXT(产品明细.数量),','),产品明细.物料数),LEN(REPT(CONCATENATE(TEXT(产品明细.数量),','),产品明细.物料数))-1),用于计算每种子物料的重复次数。

2.2.2 级用料主表字段设置

同上公式设置的方法,设置如下四个字段的公式如下:

字段名称

公式

公式含义

产品数量重复

TEXT(产品明细.数量重复)

汇总「产品明细.数量重复」字段的全部文本内容

级材料总集合

TEXT(产品明细.二级材料集合)

汇总「产品明细.级材料集合」字段的全部文本内容

级用料总行数

COUNT(SPLIT(二级材料总集合,','))

计算「级材料总集合」中包含的材料总数

级材料用量集合

TEXT(产品明细.二级材料用量集合)

汇总「产品明细.级材料用量集合」字段的全部文本内容

2.2.3 级用料子表单字段设置

1)选中「级用料」整个子表单,在「字段属性 >> 默认值」处,设置选项为「数据联动」,点击「数据联动设置」:

2)进入数据联动设置页面,设置内容如下:

  • 联动表单:「子表单基础表」;
  • 条件设置为:「总行数」等于「级用料总行数」;
  • 触发联动:
    • 级用料」字段显示「子表单」字段的值;
    • 添加「序号」子字段,显示为「序号」子字段的值;

全部设置完成点击确定。

3)同【2.2.1 产品明细子表单字段设置】中子字段公式编辑的方法,设置「二级用料」中如下字段的公式如下:

字段名称

公式

公式含义

级用料.材料名称

SPLIT(二级材料总集合,',')[二级用料.序号-1]

通过逗号分割「级材料总集合」字段,根据子表单序号填写至对应行中

级用料.材料用量

二级用料.单个产品需要材料用料*二级用料.产品数量

通过单个产品所需材料用量和产品数量计算出该材料用量

级用料.单个产品需要材料用料

SPLIT(二级材料用量集合,',')[二级用料.序号-1]

通过逗号分割「级材料用量集合」字段,根据子表单序号填写至对应行中

级用料.产品数量

SPLIT(产品数量重复,',')[二级用料.序号-1]

通过逗号分割「产品数量重复」字段,根据子表单序号填写至对应行中

级用料.数量重复

LEFT(REPT(CONCATENATE(TEXT(二级用料.材料用量),','),二级用料.三级材料数),LEN(REPT(CONCATENATE(TEXT(二级用料.材料用量),','),二级用料.三级材料数))-1)

计算每种级用料物料的重复次数

4)同【2.2.1 产品明细子表单字段设置】中子字段数据联动设置的方法,设置「级用料」中以下字段的数据联动:

  • 级用料.三级材料集合:
    • 联动表单:「BOM 基础表」;
    • 条件设置为:「主产品」等于「级用料-材料名称」;
    • 触发联动:「级用料-三级材料集合」字段显示「子物料集合」字段的值。

  • 级用料.三级材料用量集合:
    • 联动表单:「BOM 基础表」;
    • 条件设置为:「主产品」等于「级用料-材料名称」;
    • 触发联动:「级用料-三级材料用量集合」字段显示「用量集合」字段的值。

  • 级用料.三级材料数:
    • 联动表单:「BOM 基础表」;
    • 条件设置为:「主产品」等于「级用料-材料名称」;
    • 触发联动:「级用料-三级材料数」字段显示「子物料数」字段的值。

2.2.4 三级用料主表字段设置

同上公式设置的方法,设置如下四个字段的公式如下:

字段名称

公式

公式含义

级用料数量重复

TEXT(二级用料.数量重复)

汇总「级用料.数量重复」字段的全部文本内容

三级材料总集合

TEXT(二级用料.三级材料集合)

汇总「级用料.三级材料集合」字段的全部文本内容

三级用料总行数

COUNT(SPLIT(三级材料总集合,','))

计算「三级材料总集合」中包含的材料总数

三级材料用量集合

TEXT(二级用料.三级材料用量集合)

汇总「级用料.三级材料用量集合」字段的全部文本内容

2.2.5 三级用料子表单字段设置

1)选中「三级用料」整个子表单,在「字段属性 >> 默认值」处,设置选项为「数据联动」,点击「数据联动设置」:

2)进入数据联动设置页面,设置内容如下:

  • 联动表单:「子表单基础表」;
  • 条件设置为:「总行数」等于「三级用料总行数」;
  • 触发联动:
    • 「三级用料」字段显示「子表单」字段的值;
    • 添加「序号」子字段,显示为「序号」子字段的值;

全部设置完成点击「确认」。

3)同【2.2.1 产品明细子表单字段设置】中子字段公式编辑的方法,设置「二级用料」中除「序号」外其他字段的公式如下:

字段名称

公式

公式含义

三级用料.三级材料名称

SPLIT(三级材料总集合,',')[三级用料.序号-1]

通过逗号分割「三级材料总集合」字段,根据子表单序号填写至对应行中

三级用料.三级材料用量

三级用料.单个二级需要材料数*三级用料.二级材料数量

通过单个二级材料所需三级材料用量和二级材料数量计算出该三级材料用量

三级用料.单个级需要材料数

SPLIT(三级材料用量集合,',')[三级用料.序号-1]

通过逗号分割「三级材料用量集合」字段,根据子表单序号填写至对应行中

三级用料.级材料数量

SPLIT(二级用料数量重复,',')[三级用料.序号-1]

通过逗号分割「二级用料数量重复」字段,根据子表单序号填写至对应行中

三级用料.三级材料名称+用量

CONCATENATE(三级用料.三级材料名称,三级用料.三级材料用量,",")

将每行三级用料子表单的材料名称和材料用量通过 CONCATENATE 函数连接起来

2.2.6 用料汇总主表字段设置

同【2.2.1 产品明细字段设置】中子字段公式编辑的方法,设置如下三个字段的公式如下:

字段名称

公式

公式含义

三级材料名称去重

UNION(三级用料.三级材料名称)

对三级用料子表单中的「三级材料名称」进行去重,只保留不重复的「三级材料名称」

行数

COUNT(UNION(三级用料.三级材料名称))

计算去重后的「三级材料名称」数量,用于作为汇总子表单行数

三级材料名称+用量集合

CONCATENATE(三级用料.三级材料名称+用量)

将子表单中的所有三级材料名称和用量通过 CONCATENATE 函数连接起来

2.2.7 用料汇总子表单字段设置

1)选中「用料汇总」整个子表单,在「字段属性 >> 默认值」处,设置选项为「数据联动」,点击「数据联动设置」:

2)进入数据联动设置页面,设置内容如下:

  • 联动表单:「子表单基础表」;
  • 条件设置为:「总行数」等于「行数」;
  • 触发联动:
    • 「用料汇总」字段显示「子表单」字段的值;
    • 添加「序号」子字段,显示为「序号」子字段的值;

全部设置完成点击确定。

3)同【2.2.1 产品明细子表单字段设置】中子字段公式编辑的方法,设置「用料汇总」中除「序号」外其他字段的公式如下:

字段名称

公式

公式含义

用料汇总.三级材料名称

SPLIT(三级材料名称去重,',')[用料汇总.序号-1]

通过逗号分割「三级材料名称去重」字段,根据子表单序号填写至对应行中

用料汇总.三级材料用量

SUM(SPLIT(CONCATENATE(SPLIT(三级材料名称+用量集合,用料汇总.三级材料名称)), ","))

通过该行子表单的材料名称将「三级材料名称+用量集合」进行分割,再通过“,”字符将对应材料的用量提取出来,最后通过 SUM 函数相加即为对应的三级材料总用量

2.3 设置字段显隐规则

1)对于表单中的辅助字段,可以在「字段属性 >> 字段权限」处设置字段为不可见,仅保留如下字段可见

  • 产品明细:产品名称、数量
  • 用料汇总:三级材料名称、三级材料用量

2)在「表单属性 >> 不可见字段赋值」处,设置赋值规则为「始终重新计算」:

2.4 效果演示

效果演示参见本文【1.3 预期效果】。

文档内容是否对您有帮助?
有帮助
没帮助没帮助
如需获取即时帮助,请联系技术支持
咨询
扫码领取100+零代码资料简道云官方微信号400-111-0890
图标在线咨询
立即体验