全部文档
文档中心工作流DEMO案例库提交校验示例

提交校验示例

通过 Python 抛出异常阻止任务提交,可在数据流的 Python 节点或工作流调用的 Python 脚本中实现。普通必填项可先使用 UX 表单校验;关键业务规则还应在服务端校验。

若要求校验失败时本次任务也不能完成,应让校验节点与任务完成处于同一事务范围,不要在两者之间设置异步延续。若任务已在前一事务中完成,后续校验失败不会自动撤销它。详见 异步延续。

完成任务时填写的备注,在完成任务后会落库到对应的表中,如果使用了DeepModel组件,可以体现在DFProcessComment-流程备注对象中,因此需要使用到DeepModel组件、并添加好流程备注对象,详见文档:DeepModel — 关联元素 | DeepFOS Docs。如果没有DeepModel组件,则需要直连数据库查询对应底表数据,用【连接器组件+数据流3.0组件】也可以实现。

设计思路:

1、判断本次审批动作是否为【拒绝】。此信息来源于此工作流任务节点的acr$outcome变量;

2、查询流程备注对象中,此任务是否填写了备注。查询条件是任务实例ID,来源于此工作流任务节点的acp$task_id变量;

3、如果没有填写备注,通过python的raise error来报错,中断流程。通过【数据流3.0组件或python脚本2.0(要靠工作流调用)】都可以实现。

DEMO地址:

DEMO讲解视频(外部人员需要申请语雀权限,内部人员可点击链接直接访问):

1、使用效果

此处为语雀卡片,点击链接查看

2、如何配置

此处为语雀卡片,点击链接查看

总结建议:

1、如果流程内,任务节点很多,且都需要在完成任务时校验,建议将校验的子工作流排在任务的完成时监听,可以避免画布上出现过多节点,精简主流程,校验子流程在主流程的各任务节点都可以复用;

2、如果流程内,仅一两个任务节点需要有此校验,可以直接排工作流的【PY脚本】节点或【启动数据流(同步)】节点,只要和任务节点在同一异步延续区间即可,这样编排页面上展现的报错信息更简洁。

同【如何实现审批拒绝要求备注必填】,唯一区别是任务备注存在工作流底表中,业务数据存在业务表中(数据表、对象等),因此对设计思路和搭建不再重复讲解,请见【如何实现审批拒绝要求备注必填】章节。

DEMO地址:

DEMO讲解视频(外部人员需要申请语雀权限,内部人员可点击链接直接访问):

此处为语雀卡片,点击链接查看

回到顶部

咨询热线

400-821-9199