子表单内多类型数据拆分

1. 简介

1.1 案例简介

本文将介绍,如何将一个子表单内的多种数据,根据类型拆分到其他子表单中,将某类数据的精准分类,便于后续进行查看、打印等操作。

1.2 应用场景

  • 资产盘点场景中,需要将固定资产/非固定资产单独拆分在子表单中,打印单独的资产明细;
  • 库存管理场景中,需要将不同类型的货物拆分在子表单中,储存时单独保存物品明细;
  • 学生成绩管理中,可以将学生某一科目的成绩单独次拆分在子表单中,用于分析成绩变化趋势等。

1.3 设计思路

1)在需要拆分的子表单中,通过 IF 函数判断资产类型,当所选的类型需要单独拆分时,通过函数将该行数据汇总;如所选类型不需要拆分,则为空;

2)在主表中,对各行「汇总」数据全部连接在一起,连接成一个字符串;

3)在主表中计算「汇总」字段中不为空的个数,作为拆分子表单的行数;

4)通过字符分割的全部汇总内容,根据子表单序号取出对应行数的资产信息,再通过字符分割出类型、编码、名称等信息,如取其中的第一个即为物资类型,第二个即为物资编码等。

1.4 预期效果

以资产盘点时,拆分出「非固定资产」为例:

1)在物资明细中录入所有的物资信息,子表单「非固定资产明细」自动获取「非固定资产」类型的全部物资,效果如下:

2)将拆分出的子表单字段添加到 打印模板 中,即可打印出单独的非固定资产明细表:

2. 设置方法

在学习之前建议安装 子表单取出某类数据 应用模板,本文将按照模板中的示例数据进行讲解。

以汇总采购需求的场景为例:

2.1 表单搭建

1)新建「资产盘点」表单,字段设置如下:

字段名称

字段类型

字段设置

物资明细

子表单

物资类型

子字段-下拉框

自定义设置选项:

  • 固定资产
  • 非固定资产

物资编码

子字段-单行文本

物资名称

子字段-单行文本

数量

子字段-数字

汇总

子字段-单行文本

集合

单行文本

子表单行数

数字

非固定资产明细

子表单

序号

子表单-数字

物资类型

子字段-单行文本

物资编码

子字段-单行文本

物资名称

子字段-单行文本

数量

子字段-数字

2)新建「子表单基础表」辅助表单,字段设置如下:

字段名称

字段类型

总行数

数字

子表单

子表单

序号

子字段-数字

数字

子字段-数字

2.2 「子表单基础表」录入数据

1)在「子表单基础表 >> 数据管理 >> 导入」处导入附件中的示例数据:200行子表单基础表序号全集.xlsx

2)导入数据时需确认示例数据和表单字段的关联关系如下:

2.3 设置数据联动

1)进入「资产盘点」表单,选中「非固定资产明细」整个子表单,在「字段属性 >> 默认值」处,设置选项为「数据联动」,点击「数据联动设置」:

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

  • 联动表单:「子表单基础表」;
  • 条件设置为:「总行数」等于「子表单行数」;
  • 触发联动:
    • 「非固定资产明细」字段显示「子表单」字段的值;
    • 添加「序号」子字段,显示为「序号」子字段的值;

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

2.4 设置公式

1)选中「物资明细.汇总」字段,在「字段属性 >> 默认值」处,设置默认值为「公式编辑」,点击下方「编辑公式」:

2)在公式编辑页面,设置「物资明细.汇总」的公式为:IF(物资明细.物资类型=="非固定资产",CONCATENATE(物资明细.物资类型,"+",物资明细.物资编码,"+",物资明细.物资名称,"+",物资明细.数量,","),""),表示当子表单中「物资类型」选择「非固定资产」时,将该行子表单的物资类型、物资编码、物资名称、数量和字符串通过 CONCATENATE 函数连接起来;当「物资类型」未选择「非固定资产」时,则为空。

设置好记得点击确定」保存。

3)按照同样的方法,设置其他字段的公式如下:

字段名称

公式

公式含义

集合

CONCATENATE(物资明细.汇总)

将每行子表单的「汇总」字段通过 CONCATENATE 函数连接起来

子表单行数

COUNT(SPLIT(集合,","))-1

计算子表单中「物资类型」选择「非固定资产」的个数,用于作为子表单行数

非固定资产明细.物资类型

SPLIT(TEXT(SPLIT(集合,",")[非固定资产明细.序号-1]),"+")[0]

先通过“-”分割全部的子表单汇总内容,根据子表单序号取出对应行数的类型、编码、名称和数量,再通过”+“分割,取其中的第一个即为物资类型

非固定资产明细.物资编码

SPLIT(TEXT(SPLIT(集合,",")[非固定资产明细.序号-1]),"+")[1]

同上,取其中第二个即为物资编码

非固定资产明细.物资名称

SPLIT(TEXT(SPLIT(集合,",")[非固定资产明细.序号-1]),"+")[2]

同上,取其中第三个即为物资名称

非固定资产明细.数量

SPLIT(TEXT(SPLIT(集合,",")[非固定资产明细.序号-1]),"+")[3]

同上,取其中第四个即为数量

2.5 设置字段显隐规则

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

  • 物资明细.汇总
  • 集合
  • 子表单行数
  • 非固定资产明细.序号

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

2.6 效果演示

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

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