子表单多条数据联动填充示例(BOM表)
2026-02-10 15:45

本文为大家介绍子表单多条数据联动填充的设置方式,通常用于BOM(物料清单)表。

1. 基础数据表

首先我们建一个基础数据表,包括了所有产品和它对应的材料明细。



这里我们以餐饮为例,分别录入了番茄炒蛋套餐和青椒炒蛋套餐的数据。

从下表中可以看到每个套餐所包含的二级物料。



然后我们录入二级物料包含的三级物料数据。



2. 二级材料清单(主表填充子表)

在这个表中,我们通过在主表的产品名称中选择产品,并输入产品数量,来列出单个产品的二级和三级材料明细。



首先给产品名称这个下拉单选字段设置选项来自他表数据,选择基础数据表中的产品字段。

因为产品字段中不仅包含产品还包含了二级和三级物料,所以这里需要添加一个选项筛选,将包含“套餐”的产品筛选出来。



然后选择二级用料明细子表单,在右侧设置被填充模式为“多条”。



设置数据填充规则如下:

数据源表单是用来填充的数据源,选择“基础数据表”;

当数据源表单中的“产品”字段与当前表单中的“产品名称”字段相等时,将“基础数据表”中的字段填到当前表单中。

同时,将当前表单中的“产品数量”也填到这个子表单中。

注意:主表填充到子表时,子表中每一行都会填充相同的数据



再将“二级子物料用量”字段设置为公式编辑,等于“单个产品的二级子物料用量” * “产品数量”。

这样就完成了二级用料明细子表单的联动填充设置。



“三级用料明细”子表和“二级用料明细”子表的填充方式是类似的,区别在于这里是判断数据源表单中的“产品”字段与当前表单中的“二级用料明细”子表中的“二级子物料”字段相等时,将“基础数据表”中的字段填到当前表单中。(相当于将“二级用料明细”子表中每一行数据都拿来与“基础数据表”比对筛选)

同时将“二级用料明细”子表中对应行的“二级子物料用量”字段填充到“三级用料明细”子表的“二级子物料用量”中。



这里的“三级子物料用量”字段也需要设置为公式编辑,等于“单个二级子物料的三级子物料用量” * “二级子物料用量”。

这样就完成了三级用料明细子表单的联动填充设置。



最后我们看一下效果。



3. 二级材料清单(子表填充子表)

如果同时录入多个产品,可以使用该方式。

在这个表单中,我们可以在产品明细子表中添加多个产品,输入对应的产品数量。

然后可以在二级用料明细子表中看到所有产品的子物料明细。

在二级用料汇总中可以看到去重聚合后的子物料明细。



首先添加一个子表单,里面添加产品名称(下拉单选)和产品数量(单行文本),这里的产品名称和上面一样,设置为来自他表数据,并且设置选项过滤为包含“套餐”。



这里的“二级用料明细”子表单和上面的设置也相同,选中后设置填充模式为“多条”,然后设置被填充规则。

这里是将“产品明细”子表中每一行数据中的“产品名称”字段拿去与“基础数据表”中的“产品”字段进行比对筛选。



“二级用料汇总”子表与“二级用料明细”子表在联动填充设置上是完全一致的,所以我们在编辑时可以直接通过复制来创建,然后将后面两个字段隐藏掉(因为当前应用中,聚合后这两个字段没有实际意义)。




接下来把去重聚合功能打开,聚合顺序选择“先公式计算后聚合”,去重字段选择“二级子物料”。

注意:聚合顺序和想实现的效果有关,“先公式计算后聚合”是先求出所有公式计算结果,然后对结果进行聚合;“先聚合后公式计算”是先对数据进行聚合,然后再进行公式计算。



在“聚合设置”中,设置“二级子物料用量”的聚合方式为“求和”,其他字段保持“不聚合”(不聚合时默认取第一个数值)。



最后我们看一下效果。

可以看到在“二级用料明细”子表中列出了“番茄炒蛋套餐”和“青椒炒蛋套餐”的所有材料,其中“米饭”在两个产品中都包含,所以在“二级用料汇总”子表中,“米饭”是去重求和后的结果。



4. 三级材料清单

三级和二级的设置方式类似,这里我们在上面的二级材料清单(子表填充子表)基础上增加三级用料明细和三级用料汇总。

因为只需要查看三级用料,所以这里隐藏了“二级用料明细”子表单。

注意:当页面中的字段和数据量较多时会影响性能,推荐将不需要显示的字段进行隐藏,尤其是子表单,对应的字段总数量=字段数 * 数据行数。



“三级用料明细”子表和上面的“二级用料明细”子表设置方式是相同的。



区别在于设置填充规则时,使用的是“二级用料明细”子表中的数据。



同样,“三级用料汇总”子表也与上面的“二级用料汇总”子表设置方式相同。



如果有更多级,设置方式和上面也是一样的。

示例应用文件如下:子表单填充示例

河星 河星

Log in,More exciting content waiting for you to find,Contribute wonderful answers,Participate in comment interaction

go Sign in! No accountgoregister

comments0

No comment

扫描关注公众号

更多数字孪生可视化干货内容等你发现

了解更多内容

扫一扫
加入官方微信群
Copyright © 2020-2026 多算科技, All Rights Reserved. 浙ICP备20006837号-17