多个子表单上下合并(不汇总)

1. 简介

1.1 案例简介

本文将介绍,如何多个子表单内容,按照顺序合并(不汇总)至另一个子表单中,实现多个子表单的上下拼接。

1.2 应用场景

在销售业绩上报场景中,当主管发起业绩上报流程后,各销售组长将会收到流程待办,在各自的子表单内填入所属销售组的业绩后,各组的业绩明细便可汇总至「当日业绩汇总」子表单供主管审核,并便于后续的数据分析。

1.3 预期效果

1)主管发起业绩上报流程后,销售一组、二组组长会同时收到流程待办(为便于效果演示,此处一组、二组组长均为 Lucy)。如下图所示:

2)各组长仅可在所属子表单内录入业绩数据,如销售一组组长仅能填写「销售一组业绩明细」子表单:

3)各组业绩数据上报完成后,流程将流转至「主管审核节点」,主管可在「当日业绩汇总」子表单内查看合并后的所有业绩数据。

注:由于安装模板时限制单个表单数据最多为 100 条,故安装模板时,需要重新按照【3.1 节中「子表单基础表」录入数据】的步骤录入数据,否则将无法实现预期效果。

2. 设计思路

1)「多个子表单上下合并」实现思路

新建「销售业绩上报」流程表单,主要包括 3 个子表单:销售一组业绩明细、销售二组业绩明细、当日业绩汇总。其中,需要进行如下设置,实现子表单内容的拼接:

  • 在需要汇总的多个子表单中,分别汇总出各行的「产品+数量+金额」至「合并字段」中;
  • 在主表中,用 “,” 字符将所有的「合并字段」连接成一个字符串,便于后续计算数量;
  • 在主表中,通过计算「合并字段集合」中 “,” 字符的数量,计算出汇总后子表单的行数;
  • 通过字符串分割「合并字段集合」,将数据分别填充至汇总表的各行子表单中。

2)「销售业绩上报流程」实现思路

对「销售业绩上报」表单进行流程设定,使得在主管发起流程后,各销售组长能同时收到待办,并上报各自的业绩,具体如下:

  • 销售一组上报节点:仅对销售一组组长开放「销售一组业绩明细」子表单的编辑权限;
  • 销售二组上报节点:仅对销售二组组长开放「销售二组业绩明细」子表单的编辑权限;
  • 主管审核节点:开放「当日业绩汇总」子表单的可见权限,将汇总后的业绩交由主管审核。

3. 设置步骤

3.1 表单搭建

在学习之前建议安装 多个子表单上下合并 应用模板,本文将按照模板中的示例数据进行讲解。

本案例需要调用 2 张表单数据,分别是:

1)销售业绩上报

在「销售业绩上报」表单中,主要包括如下 3 个子表单:

在该表单的流程设定中,设有「销售一组上报」、「销售二组上报」以及「主管审核」环节,以便各组组长能够同时收到待办,并提交各自的业绩数据至主管处审核。不同节点的负责人和字段权限配置可在右侧进行查看:

注:其余流程节点的字段权限等设置,可参见 多个子表单上下合并 应用模板。

2)子表单基础表

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

字段名称

字段类型

总行数

数字

子表单

子表单

序号

子字段-数字

数字

子字段-数字

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

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

3.2 设置数据联动

1)进入「销售业绩上报」表单,选中「当日业绩汇总」整个子表单,在「字段属性 >> 默认值」处,设置选项为「数据联动」,点击「数据联动设置」:

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

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

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

3.3 设置公式

1)选中「销售一组业绩上报.合并字段」,在「字段属性 >> 默认值」处,设置默认值为「公式编辑」,点击下方「编辑公式」:

2)在公式编辑页面,设置「销售一组业绩明细.合并字段」的公式为:CONCATENATE(销售一组业绩明细.产品名称,'+',销售一组业绩明细.数量,'+',销售一组业绩明细.金额),表示将每行子表单的产品名称、数量和金额通过 CONCATENATE 函数连接起来。

设置完成后,需点击确定」保存。

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

字段名称

公式

公式含义

销售二组业绩明细.合并字段

CONCATENATE(销售二组业绩明细.产品名称,'+',销售二组业绩明细.数量,'+',销售二组业绩明细.金额)

将每行子表单的产品名称、数量、金额和“+”字符串通过 CONCATENATE 函数连接起来

合并字段集合

CONCATENATE(TEXT(销售一组业绩明细.合并字段),',',TEXT(销售二组业绩明细.合并字段))

用 “,” 字符将所有的「合并字段」连接成一个字符串

子表单总行数

COUNT(SPLIT(合并字段集合,','))

在主表中,计算出「合并字段集合」中 “,” 字符的数量,作为汇总后子表单的行数

当日业绩汇总.产品名称

SPLIT(TEXT((SPLIT(合并字段集合,',')[当日业绩汇总.序号-1])),'+')[0]

先通过逗号分割「合并字段集合」字符串,根据子表单序号取出对应行数的产品名称+数量+金额,再通过”+“分割出产品名称、数量、金额,其中的第一个即为产品名称

当日业绩汇总.数量

SPLIT(TEXT((SPLIT(合并字段集合,',')[当日业绩汇总.序号-1])),'+')[1]

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

当日业绩汇总.金额

SPLIT(TEXT((SPLIT(合并字段集合,',')[当日业绩汇总.序号-1])),'+')[2]

同上,取其中第二个即为金额

3.4 设置字段显隐规则

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

3.5 效果演示

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

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