# 如何配置使用分摊功能

来源快照：`result_data_new_260518.json`

- 来源 ID：`1232301270574579788`
- 模块：电子费控
- 目录：场景示例 - 费用分摊
- space ID：`1963167002611772846`
- 原文链接：未提供
- 产品基线：未提供

## 正文

# 场景一

如使用过E9系统，E9系统预算后台财务流程有预算分摊流程，是指对已经生成的已发生费用进行分摊操作；先走了报销流程，产生了已发生费用，后面将这笔已发生费用分摊到其他承担主体上；

如行政部采购了一批办公用品，行政部发起报销扣除本部分预算1000元，后续销售部、研发部领用办公用品，根据实际领用金额，把这1000的已发生费用摊到销售部、研发部，扣除销售部、研发部预算，还原部分预算给行政部，就可以走费用分摊流程；

该功能在E10系统上，不是对应后台设置里的分摊设置菜单功能，是对应关联工作流设置菜单中报销工作流、对公付款工作流的功能，编辑工作流-预算设置-高级设置，字段对应中，对应转出字段，触发预算冻结、预算扣除接口，就可以实现上述已发生费用的分摊效果。

## 1、具体配置说明

关联工作流设置页面，在报销工作流或者对公付款工作流中，编辑流程，预算设置-高级设置-点进具体模板，字段对应中，增加转出日期与转出维度对应，默认不需要对应，即是标准的预算报销流程，对应后，即是费用分摊；  
![](https://weapp.eteams.cn/papi/file/preview?fileId=1232301425383751683&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、常见问题

（1）转出字段是否一定要对应？  
解答：不是必须对应，只有需要将已发生费用调整到其他维度的时候，才需要对应；  
也可以填两行明细，一行正数一行负数去实现费用的调整；  
（2）报销流程提交触发接口后，费用查询统计表生成费用数据不对？  
解答：报销流程预算设置的字段对应中，转入字段对应的跟上面的维度字段一模一样，即代表本身费用的调出与调入，没有意义，请至少对应一个不同的字段；

 

# 场景二

对流程表单上的报销金额进行分摊。流程表单明细行上，点击分摊按钮进入分摊页面，按照预设的分摊规则对该明细行上的报销金额进行分摊，支持批量分摊、导入分摊明细；

该功能仅E10有，对应电子费控后台的分摊设置菜单；生成分摊明细后，暂时没有标准报表查看分摊明细，可自己用分摊明细表结合流程表单做eb报表，或者通过接口，整合流程表单数据与分摊明细数据转入到eb表单或者业务表单；暂时也不支持分摊明细对应去扣除预算，要在生成分摊明细后，将分摊明细转入到报销流程明细（或者子流程）里，通过报销流程去扣除预算；

## 1、具体配置说明

（1）分摊设置菜单，新建分摊规则，分摊维度自定义，支持部门、人员及自定义维度，自定义维度可取eb表单数据；  
设置好分摊规则后，前台流程里就可以使用这个分摊规则了，也可进一步设置分摊方案；  
![](https://weapp.eteams.cn/papi/file/preview?fileId=1232301442471346177&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=1232301429608497154&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）关联工作流设置菜单，需要分摊功能的流程，绑定在报销工作流或者对公付款工作流上，  
在字段对应中新建规则，或者原规则中勾选分摊功能，进行字段对应，最基础的需要对应两个字段，一个是费用分摊，对应单行文本字段，一个是分摊金额，对应浮点数两位小数字段；（250501基线前仅支持工作流程模块新建的流程，250501基线后支持eb流程）  
![](https://weapp.eteams.cn/papi/file/preview?fileId=1232301433833545731&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=1232301433847857160&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=1232301429588910080&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）流程动作流使用  
 分摊功能涉及三个动作流：分摊数据删除、分摊数据校验、分摊数据转业务表单（eb表单）；第三个动作流需要手动配置；  
 先执行分摊数据删除，再执行分摊数据校验接口；分摊明细是绑定流程明细行ID的，当删除明细行后，分摊明细表的数据不会自动删除，需要执行【分摊数据删除】去删除，避免分摊明细表中有不需要的脏数据；设置完分摊明细行，可能人为或者赋值调整了表单分摊金额字段的值，导致分摊金额与分摊明细中的金额不一致，因此需要执行【分摊数据校验】去校验；  
  
动作流配置方式如下：  
 0801基线之后，可在关联工作流设置菜单中编辑工作流页面的节点附加操作 中，直接启用分摊相关接口；

![](https://weapp.eteams.cn/papi/file/preview?fileId=1232301433932644355&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)

0801基线版本之前，分摊校验动作流配置方式如下：  
可在动作流页面，新建动作流，选择从模板新建，搜分摊：  
![](https://weapp.eteams.cn/papi/file/preview?fileId=1232301438206820354&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=1232301438134435840&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)  
分摊校验组件设置动态赋值，取流程ID；  
![](https://weapp.eteams.cn/papi/file/preview?fileId=1232301429595734019&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=1232301425204477953&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=1232301429595734021&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=1232301433833545729&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)  
  
0801基线版本之前，分摊删除动作流配置方式如下：  
 可在动作流页面，新建动作流，选择从模板新建，搜分摊：选择模板后也要修改4处；

输入参数同样动态赋值流程ID：

![](https://weapp.eteams.cn/papi/file/preview?fileId=1232301438135336966&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)  
异常处理选择跳过当前节点；

分支条件code=200 成功 否则输出错误动态赋值msg

![](https://weapp.eteams.cn/papi/file/preview?fileId=1232301425204477955&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表单）动作流配置：  
 动作流中引用开放平台接口获取token，具体方式可参考附件中的文档【开放平台+ESB连接器配置说明.docx】  
![](https://weapp.eteams.cn/papi/file/preview?fileId=1232301433847857159&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)  
 获取access_token后，再有两个接口，分别是获取分摊数据接口和分摊上报接口；可用附件中的连接器导出文件【分摊业务接口-个人报销(2023-12-11102249)1758157327852.zip】在后台esb中心，连接器页面导入连接器，修改下当前系统的域名，再引用到动作流中；  
 配置执行完分摊上报接口后，就会把分摊明细的数据与该行流程明细表单的字段数据进行组合，到这里配置还未结束，后面需要用新建上报组件或者新增表单数据组件（更新表单数据组件）把分摊上报接口组合出来的数据写入到业务表单或者eb表单；  
![](https://weapp.eteams.cn/papi/file/preview?fileId=1232301438206820355&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=1232301433928630284&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=1232301425383751684&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=1232301429608497153&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)

上面body参数中有两个list，一个是上一个组件获取分摊数据拿到的分摊明细，一个是流程明细表数据，这个组件的作用是将两部分数据根据流程ID和流程明细行ID进行组合，返回一个数据合计给到下一个新建上报或者新增表单数据使用，写入到其他台账中；

 

## 2、常见问题

（1）分摊明细数据能扣预算吗？  
解答：不能，该分摊功能跟预算无关，  
只能尝试将分摊明细写入到报销流程明细表里再去触发预算相关接口；
