# 根据流程明细表的数字字段值生成对应数量条数的EB数据

来源快照：`result_data_new_260518.json`

- 来源 ID：`1248865366229762300`
- 模块：低代码平台e-builder
- 目录：动作流 - 场景搭建
- space ID：`1157961794811633670`
- 原文链接：未提供
- 产品基线：未提供

## 正文

# 泛微e-cology10ESB中心应用场景专题介绍

根据流程明细表的数字字段值生成对应数量条数的EB数据

# 一、编写目的

实现流程触发组件根据流程明细数据每行生成对应的EB数据，但每行生成的具体条数的EB数据由该行上的数字字段的值决定，根据明细行数字字段值生对应数量条数的EB主表数据。

# 二、支持版本

ecology 10.0版本

# 三、流程表单以及EB表单搭建

1、在流程设置的工作流管理中搭建好对应的流程数据，流程明细数据中的会有个数字字段

![](https://weapp.eteams.cn/papi/file/preview?fileId=1248865477842403329&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

![](https://weapp.eteams.cn/papi/file/preview?fileId=1248865477813346326&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

2、

在低代码平台e-builder中搭建对应的EB表单，字段根据自己的需要进行配置

![](https://weapp.eteams.cn/papi/file/preview?fileId=1248865473513881604&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

 

 

 

 

# 四、ESB中心相关配置

1、在ESB中心的动作流菜单中，新建动作流，整个动作流的配置需要用到 流程触发组件+两个循环组件+新建表单数据组件，新建表单数据组件嵌套在第二层循环组件内部

![](https://weapp.eteams.cn/papi/file/preview?fileId=1248865482176413704&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

![](https://weapp.eteams.cn/papi/file/preview?fileId=1248865482108837889&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

 

2、流程触发组件：触发组件选择流程触发，工作流选择搭建好的流程数据，触发时机根据自己需求自行配置

![](https://weapp.eteams.cn/papi/file/preview?fileId=1248865486356840456&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

3、

第一个循环组件：循环方式选择按表单明细表、多选浏览框、动态赋值数据循环遍历，数据来源于流程触发组件的明细表，具体配置如图

![](https://weapp.eteams.cn/papi/file/preview?fileId=1248865477671731206&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

4、

第二个循环组件：循环方式选择指定数值循环，数据来源于第一层循环组件上下文中的数字字段，具体配置如图

![](https://weapp.eteams.cn/papi/file/preview?fileId=1248865477813346313&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

5、

第二层循环内部的新建表单数据组件：需要将流程明细其他非数字字段的字段值映射到EB的对应字段上，则映射需要从第一层循环的上下文中去获取

![](https://weapp.eteams.cn/papi/file/preview?fileId=1248865490622750722&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

注：如果需要映射流程的主表字段值，直接动态赋值从流程触发组件的上下文去选择映射

 

# 五、展示效果：

动作流保存启用后，在流程模块中发起流程，输入对应的明细表数据，当触发时机触发后，流程的明细数据会生成对应的EB数据。

![](https://weapp.eteams.cn/papi/file/preview?fileId=1248865477671731215&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

 

六、

# 流程退回再触发不想重复生成EB数据配置思路：

上述场景：若存在流程退回后再次出发动作流时会继续新增EB数据，会存在重复生成数据的情况；若不想重复生成EB数据，需要先查下是否存该流程已经生成过数据，若存在先删除再去新增。

配置思路：

整体配置和上述一致，需要在EB表单加个存储流程ID的字段，在EB那先根据流程ID字段查询下EB那是否存在数据，若存在则删除，若不存在就走上面的配置，配置如下：

1、

在EB表单加个存储流程id的字段：流程ID存储

![](https://weapp.eteams.cn/papi/file/preview?fileId=1248865486356840450&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

2、

新建表单数据组件对流程ID存储映射下

![](https://weapp.eteams.cn/papi/file/preview?fileId=1248865482154147848&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

3、在流程触发组件下面增加查询组件、条件组件以及条件下加删除表单数据组件，当查询出的数量大于0时，则进入到条件内部的删除组件，先删除再增加；若不满足条件，则跳出条件直接执行循环组件内容

![](https://weapp.eteams.cn/papi/file/preview?fileId=1248865473535680524&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

![](https://weapp.eteams.cn/papi/file/preview?fileId=1248865486356840458&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)
