示例应用文件如下:子表单填充示例
本文为大家介绍子表单多条数据联动填充的设置方式,通常用于BOM(物料清单)表。
首先我们建一个基础数据表,包括了所有产品和它对应的材料明细。
这里我们以餐饮为例,分别录入了番茄炒蛋套餐和青椒炒蛋套餐的数据。
从下表中可以看到每个套餐所包含的二级物料。
然后我们录入二级物料包含的三级物料数据。
在这个表中,我们通过在主表的产品名称中选择产品,并输入产品数量,来列出单个产品的二级和三级材料明细。
首先给产品名称这个下拉单选字段设置选项来自他表数据,选择基础数据表中的产品字段。
因为产品字段中不仅包含产品还包含了二级和三级物料,所以这里需要添加一个选项筛选,将包含“套餐”的产品筛选出来。
然后选择二级用料明细子表单,在右侧设置被填充模式为“多条”。
设置数据填充规则如下:
数据源表单是用来填充的数据源,选择“基础数据表”;
当数据源表单中的“产品”字段与当前表单中的“产品名称”字段相等时,将“基础数据表”中的字段填到当前表单中。
同时,将当前表单中的“产品数量”也填到这个子表单中。
注意:主表填充到子表时,子表中每一行都会填充相同的数据
这里的“三级子物料用量”字段也需要设置为公式编辑,等于“单个二级子物料的三级子物料用量” * “二级子物料用量”。
这样就完成了三级用料明细子表单的联动填充设置。
如果同时录入多个产品,可以使用该方式。
在这个表单中,我们可以在产品明细子表中添加多个产品,输入对应的产品数量。
然后可以在二级用料明细子表中看到所有产品的子物料明细。
在二级用料汇总中可以看到去重聚合后的子物料明细。
首先添加一个子表单,里面添加产品名称(下拉单选)和产品数量(单行文本),这里的产品名称和上面一样,设置为来自他表数据,并且设置选项过滤为包含“套餐”。
这里的“二级用料明细”子表单和上面的设置也相同,选中后设置填充模式为“多条”,然后设置被填充规则。
这里是将“产品明细”子表中每一行数据中的“产品名称”字段拿去与“基础数据表”中的“产品”字段进行比对筛选。
“二级用料汇总”子表与“二级用料明细”子表在联动填充设置上是完全一致的,所以我们在编辑时可以直接通过复制来创建,然后将后面两个字段隐藏掉(因为当前应用中,聚合后这两个字段没有实际意义)。
接下来把去重聚合功能打开,聚合顺序选择“先公式计算后聚合”,去重字段选择“二级子物料”。
注意:聚合顺序和想实现的效果有关,“先公式计算后聚合”是先求出所有公式计算结果,然后对结果进行聚合;“先聚合后公式计算”是先对数据进行聚合,然后再进行公式计算。
在“聚合设置”中,设置“二级子物料用量”的聚合方式为“求和”,其他字段保持“不聚合”(不聚合时默认取第一个数值)。
最后我们看一下效果。
可以看到在“二级用料明细”子表中列出了“番茄炒蛋套餐”和“青椒炒蛋套餐”的所有材料,其中“米饭”在两个产品中都包含,所以在“二级用料汇总”子表中,“米饭”是去重求和后的结果。
三级和二级的设置方式类似,这里我们在上面的二级材料清单(子表填充子表)基础上增加三级用料明细和三级用料汇总。
因为只需要查看三级用料,所以这里隐藏了“二级用料明细”子表单。
注意:当页面中的字段和数据量较多时会影响性能,推荐将不需要显示的字段进行隐藏,尤其是子表单,对应的字段总数量=字段数 * 数据行数。
“三级用料明细”子表和上面的“二级用料明细”子表设置方式是相同的。
区别在于设置填充规则时,使用的是“二级用料明细”子表中的数据。
更多数字孪生可视化干货内容等你发现
了解更多内容
评论0