# 欢迎使用无远工作流引擎!
### 无远工作流引擎具备以下特点:
1. 用**最简单的图元**描述工作流,极易上手使用及维护流程。
2. 搭配强大的无远开发平台,**审批内容可以是任意复杂的组合窗口形式**,不仅仅是一个表单,**不受工作流引擎约束**。
3. 可以采用无远开发平台独有的用户变量机制,实现**灵活**、微小的权限控制效果。
4. 清晰的**流程版本**管理,从容**应对**各种流程定义**变化**,运行时流程相关人员变化。
5. 工作流引擎可以发布给最终用户,自主修改工作流配置。
【流程设计器示例 - 信贷审批】
![wfl-1.png](//static.cnodejs.org/FlIn05NCdxTbpWpinbs75MDKMDDr)
【运行时审批内容页面示例 - 报销审批】
![wfl-2.png](//static.cnodejs.org/Fijn_DeN_dGDRpRo4m5oXHwD-Msr)
## 文档地址:[https://wuyuan.io/tutorials-workflow](https://wuyuan.io/tutorials-workflow)
#### 1. 流程定义变更对当前进行中的流程是否有影响?
> 无影响,每个流程实例在创建时,已锁定版本,流程变更不会影响旧实例的运行。如确实需要,可以让所有进行中的示例流程取消后,重建新实例。
#### 2. 工作流中,人员临时有事,怎么办?
>能操作电脑则等待操作电脑。不能操作电脑,待审批查询列表SQL设计时应允许领导或超级管理员代理操作。
#### 3. 人员调岗或离职怎么办?
>如果待审批任务的查询条件精确到人员ID,则应该在离职或者岗位变动前转交给其他用户 ID。如果待审批任务的查询条件只涉及到关系或角色依赖(比如主管,管理员)或跟组织机构挂钩,则某个人的离开不影响该任务继续执行,只要有新的角色或者相关关系人顶岗即可。因为SQL中的条件是跟角色或者关系关联的,没有跟具体员工ID关联。
#### 4. 一个流程中审批的表单字段内容,如何实现同一份表单在不同的处理环节,对不同的人呈现不同内容?
> 流程设计引擎本身只规定一个完整的业务流程走向,而在这个流程中所使用的表单,属于单独的表单设计范畴。表单内每个字段对何人可见,什么条件可见,可以通过表单字段的可用条件来控制。
#### 5. 如何设计并行处理流程,比如到达某状态(事件节点)前,需要同时满足多个状态(事件节点)的执行完成。
>目前暂时不支持这种并行处理流程,可以暂时考虑在画流程图时将其串行化。后续工作会增加支持并行处理。
#### 6. 流程中的任务状态有变化时是否可以触发消息通知给相关的人?
> 可以在相关动作操作【按钮事件配置】的后台 SQL 执行后脚本调用消息发送模块。[> 参考文档](https://forum.wuyuan.io/topic/5c08e8f2879e3d12f6587b2b)
#### 7. 流程图中为什么没有结束标记?
> 无需特别标记哪些状态是结束状态,只要找不到进一步的操作和对应的下一步状态,即可认为是终态。比如名为【已取消】、【不通过】 这样的状态,没有示意它是终态。但如果有需要,依然可以从这些状态拉出动作线比如【再次提交】等等,指向下一个状态。
#### 8. 如何实现子流程?即流程进行中,突然发现缺少另外一个流程要办理,应该如何设计?
> 任何突然发生但需要处理的事情,也需要预先在流程设计中定义。流程图中没有单独的子流程标记,如有需要,创建一个状态节点,命名为XXX子流程。同时该 子流程实际上对应着另外一分完整的流程设计。具体实现工作流实例时,时通过合理的变量标记设计,实现子流程的跳转和返回。
#### 9. 如何让用户自主开发维护流程?
> 如果系统的用户和开发者是同一个人,则不存在此问题,直接依照本文档重复 2、3 节步骤即可。如果不是,则分为修改流程和创建新流程两种情况:1. 如果是修改已有流程,可以让用户直接在流程管理页面中设计调整;2. 如果是创建新的流程,除了需要创建流程图之外,还需要开发用于此流程审批流转的内容页,涉及到建立新的数据表、以及针对这些数据表的相关增删改查内容。建议依然由专业开发者来做。如果你的用户具备这些能力,可以开放工作台权限给你的用户。
> 如果您一定需要您的用户直接在业务系统端完成新建流程,可以让用户按照文档的第 2 节,完成基本工作流的定义。然后由您为用户自行设计一种通用的表单及数据字段,利用动态表单 form-mobile-dynamic 动态查询器 enhancer-datatables 或自定义窗口等,完成相关的审批页面设计和呈现。这取决于您自身的开发能力,平台在技术能力上没有任何限制。
### 欢迎您的宝贵建议!