# 如何在流程节点自动校验预算是否超支

来源快照：`result_data_new_260518.json`

- 来源 ID：`1969709883982350699`
- 模块：低代码平台e-builder
- 目录：专题学习 - 场景专题 - 流程专题
- space ID：`1157961794811633670`
- 原文链接：未提供
- 产品基线：未提供

## 正文

**1.  ****场景说明  **

为了在流程流转中对信息实现智能化的处理，提高用户工作效率，减少不必要的人工干预和错误，保证流程的正常流转与运行，系统的流程模块提供了各式各样的自动化操作。例如在员工报销场景中，部门预算信息表记录预算金额以及剩余预算，当员工提交报销申请流程并流转至部门领导审批时，系统自动对比校验“报销金额”与“部门剩余预算”，当预算充足时，自动进入下一节点；当预算不足时，会进行提醒并无法流转。

![](https://weapp.eteams.cn/papi/file/preview?fileId=1157694085280849928&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.  ****功能简介**  

上述场景通过流程的【节点字段校验】功能实现的，员工发起报销审批流程，流转至部门领导审批节点时，领导点击批准会自动进行校验，通过【动作流-查询表单】查询部门剩余预算，之后利用动作流-分支进行比较，若“报销金额”>“剩余预算”，动作流输出状态失败，反之动作流执行成功。动作流的“成功与失败”对应节点校验的“合规与不合规”。

  


**3.  ****操作说明**  

**1.****搭建部门预算表，记录预算信息**

如下图所示， 部门预算信息表中包含部门、预算年月、预算金额等字段，每个部门每季度批复一笔新的预算：

![](https://weapp.eteams.cn/papi/file/preview?fileId=1157694085333123102&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=1157694085229781034&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=1157694089575079997&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=1157694093786898436&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=1157694093839171604&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=1157694093786898483&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)

部门剩余预算金额查询出来后，利用动作流-分支使其与报销金额做比较，在选择两个字段时，报销金额从流程触发中选取，剩余金额从查询表单-表单数据中选取，并且此时的剩余金额是一个数组字段，这是由于在执行查询表单时，输出的是一个数组列表，系统无法判断表单中是否有多个符合条件的数据，可以在字段中间加入数字0，取列表中的第一列数字：

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

此时条件1：报销金额>剩余金额，预算不足，校验不合规，因此在下方添加一个输出组件，输出失败状态，当报销金额≤剩余金额时，动作流走其他条件分支，默认执行成功：

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