SuccBI+低代码文档中心 — 低代码应用(工作流、程序流,短路径)

工作流

SuccBI低代码内置了工作流引擎,可以一站式搭建个性化业务流程类的业务应用。SuccBI内置了易用的流程设计器,帮助业务用户绘制业务流程,流程可以和表单对象、SuperPage对象、微信小程序等进行无缝集成,从而呈现一个完整的业务流程应用。工作流描述了一个工作流程的内部过程,图中的每个节点都代表一个工作任务(除了开始节点和结束节点),一个典型的工作流示例如下:
在这里插入图片描述

新建工作流

新建一个工作流步骤如下:
1、进入项目的应用模块,右键应用选择编辑,进入应用设计器。
2、在应用设计器点击左上角的展开箭头,选择workflow目录,点击新建,在菜单列表中选择工作流。
3、在命名对话框中输入合适且有意义的名称,点击确定进入工作流设计器。
4、接下来可以添加数据模型以及添加节点绘制工作流,并设置属性,完成后点击保存,并点击右上角的发布即可。
TIPS:每次对流程进行修改后,不仅要点击保存,同时必须进行发布,发布成功后,修改的内容才能生效。

工作流设计器
工作流设计器是用来绘制流程的可视化工具,提供图形化的界面,可以方便直观地定义整个流程,工作流设计器界面如下图:
在这里插入图片描述
可以将其划分为如下几个区域:

  • 数据源:数据源区域列出了工作流的表单数据源,用于在分支条件、工作流消息中引用。在工作流中,可以配置各节点对数据源各字段的读写控制。
  • 流程图:此区域用于绘制流程图,对流程节点进行编辑,添加节点、添加网关以及添加程序流等,可参考文档绘制工作流。
  • 属性栏:显示流程、节点以及线条的可配置属性,如描述、通知、可进行的表单操作、节点处理人、数据权限、分配方式等。
  • 工具栏:工具栏中提供了对工作流的全局设置,如全局参数、消息模板、发布等,绘制完成的流程必须进行发布才能生效。

节点处理人设置

节点处理人是在流程流转到节点时,能查看流程数据并进行数据填写、审批、任务分配等处理操作的用户。比如请假流程中,能审批请假的用户,就是审批节点的处理人。
进入工作流设计器,选中任务节点,在右侧属性栏>节点>处理人>指定处理人下点击添加按钮,在弹出的对话框中根据实际需求选择节点处理人。节点处理人有以下四种设置方式:

  • 动态用户
  • 用户组
  • 部门
  • 用户
    在这里插入图片描述

动态用户
动态用户,节点处理人不是固定的单一用户或者一组用户,不同的发起人,根据不同的规则,可以获取到不同的处理人。比如请假申请中:
1、财务部门的员工请假,需要财务部门经理审批;
2、研发部门的员工请假,需要研发部门经理审批;
这两条审批规则均是需要发起人所在部门的部门经理审批,这种场景建议使用动态用户,操作如下:
1、选中部门经理审批节点,在右侧节点属性栏的处理人处,点击添加按钮
2、在弹出的选择处理人对话框中,双击发起人到对话框上方的展示区
3、再双击发起人的所在部门
4、最后双击部门经理所在的用户组审批用户,点击确定即可
这样添加的动态用户会形成一个解析链:发起人>所在部门>审批用户,即节点的处理人为发起人所在部门的部门经理。设置完一类节点处理人后,可以继续点击添加按钮,根据需求可以设置多个节点处理人,多个处理人处理流程节点任务的方式可在分配方式属性中设置,默认为自动,更多可参考处理方式设置。

动态用户类型
系统提供了多种类型的动态用户,如下所示:
在这里插入图片描述

  • 发起人:流程的启动用户,发起流程的人。请假是发起人所在部门的组长审批,则需添加发起人的所在部门,以及组长所在用户组,如发起人 > 所在部门 > 组长
  • 动态处理人:支持输入表达式,可以拾取表单上表示用户的字段,或者写条件来指定用户。在填写请假申请时,手动选择项目经理,作为任务的处理人,如[请假申请表].[项目经理]
  • 动态部门:支持输入表达式,可以拾取表单上表示部门的字段,或者写条件来指定部门。湖北省案件审查,需要湖北下的区级部门参与,因此可以用函数取区级编码为42开头的部门,如(USER_PROPERTY([流程].[启动用户],'deptid') like '42%'
  • 动态用户组:支持输入表达式,可以写条件来指定用户组
  • 指定部门:可直接选择系统组织结构中的部门。报销金额过大时,需要财务部门负责人来复核,此时可直接选择财务部门
  • 指定节点处理人:当前流程图中指定节点已经处理过任务的人。医院采购大型设备时,需要之前初审节点的用户再次复核要采购的大型设备,则可直接选择之前的初审节点处理人
  • 指定节点候选人:当前流程图中指定节点的所有处理人,包括未进行任务处理的人
  • 上一节点处理人:上一节点已经处理过任务的人。比如请假申请时,组长审批完成后,需要组长对应的部门经理审批,如上一节点处理用户 > 上级部门 > 部门经理
  • 上一节点候选人:上一节点的所有处理人,包括未进行任务处理的人
    TIPS:动态用户可以一直往上添加上级部门,如果系统组织结构中没有对应的部门,则会找不到处理人,此时会退回给发起人或者管理员处理。

用户组
设置用户组为节点的处理人,则该用户组中的所有用户将成为此节点的处理人。比如医院采购大型设备时,需要专家组进行评审,此时就可以选择专家组用户组作为评审节点的处理人。
在这里插入图片描述
部门
设置部门为节点的处理人,则该部门中的所有用户将成为此节点的处理人。比如报销流程中,需要财务部门的人对报销单进行核准,此时就可以选择财务部作为核准节点的处理人。
在这里插入图片描述
用户
设置明确的用户为节点的处理人。比如请假天数大于3天,需要总经理审批,由于公司的高层一般不会变动,此时可以选择总经理用户作为节点的处理人。当用户基本不会变动时,可以使用指定用户作为节点处理人。一般不推荐使用具体的用户作为节点处理人,如果用户总是在发生变化,包括转岗、借调或者离岗后,则需要对流程进行修改。
在这里插入图片描述
处理方式设置
当节点有多个处理人时,系统提供了或签、会签、签收三种任务处理方式,在属性栏>节点>处理人中设置分配方式即可,如下所示:
在这里插入图片描述
或签:每一个处理人均可进行操作处理,当有一人进行操作后,则不需要其他人进行处理。如该节点有ABC三人审批,三人会同时收到审批通知,只需要其中任意一人审批通过即可到下一个审批节点,为默认方式。
会签:每一个处理人都需要进行操作处理,且需要每个人都同意,该节点处理结果才为通过。如该节点有ABC三人审批,三人会同时收到审批通知,需全部同意之后,审批才可到下一审批节点。常用于需要多个相同级别的领导同时进行审批。
签收:与或签方式类似,但需要处理人先进行签收,才能进行审批等操作处理,当其中任意一人签收了,其他人则不能进行签收操作。签收一般被使用在比较重要以及处理工期较长的任务中,需要提前认领或锁定任务,如审批合同,避免多人同时进行,工作重复。
TIPS:当节点有多个处理人时,系统内部会为每个处理人创建一条相同的任务,分开记录每个处理人的处理信息,如处理结果、处理意见等,任务信息会记录到流程任务表FLOW_TASKS,具体可查看文档FLOW_TASKS-流程任务表。
或签处理方式时,如果有一个人进行了处理,则其他人的任务也被完成;签收处理方式与或签一样,当有人签收后,其他人的任务被完成,如果退签,则每个处理人会再次重新生成一条任务。

流程操作:不同的任务节点根据业务流程可以指定不同的操作,工作流支持提交、批准、否决、退回等多种操作。如在请假申请中,用户申请时的任务节点操作为提交,在管理员审批时的任务节点操作为批准和退回。
在这里插入图片描述

  • 提交:提交数据,如员工提交请假申请。
  • 批准:批准发起的申请,如组长批准员工的请假申请。批准后,请假申请会自动流转到下一个节点。
  • 否决:否决发起的申请,如组长不同意员工的请假申请。否决后,该申请流程会直接结束,申请人可以提交新的请假申请,处理结果标记为已否决。
  • 退回:将发起的申请退回到之前的节点,如申请不符合,可进行退回,申请人可进行重填,然后再次审批等
    默认退回到上一节点。
    支持指定退回节点,勾选指定退回节点,在可退回节点下拉框中选择需要退回的节点即可。
  • 终止:终止申请流程,与否决类似,但是两者流程记录的结果不同,终止处理结果标记为已终止,可以区分不同的业务意义。
  • 撤回:可对已处理的任务进行撤回,如对发起的申请进行撤回,当整个请假流程未完成时,申请人不想请假了,可以直接进行撤回,更多可查看撤回。
    TIPS:操作支持多选,在页面上只能执行操作属性中勾选的操作选项。撤回操作与其他操作不同,需要在执行流程交互-操作中进行设置。

撤回
申请人可对发起的申请进行撤回,重新填写。在属性栏>流程>撤回中勾选允许撤回属性即可,也可设置撤回时需要填写原因,当执行撤回操作时,系统会自动弹出填写原因的对话框。

此处设置为全局设置,勾选后,当流程未结束时,默认每个节点均可撤回。此时每个任务节点在属性栏>节点>高级中会出现禁止被撤回属性,当某些节点不想要被撤回时,可勾选该属性。如请假申请中,请假申请被审批之后不允许撤回,则除申请节点之外,其他节点均需要勾选禁止被撤回属性。
在这里插入图片描述

节点数据权限设置

节点数据权限设置用于控制不同的流程节点表单输入项的权限,比如请假申请时可以输入请假原因、请假类型等,但是部门经理审批请假单时却只能查看而不能修改请假原因、请假类型等内容。
设置思路如下:
1、选中任意一个任务节点,在右侧属性栏>节点>数据属性中,可设置节点数据的读写权限,点击放大编辑按钮,可以放大数据设置界面。如选中部门经理审批流程节点,找到请假原因、请假类型等字段,将可写属性勾选去掉。
2、设置的权限数据为工作流中添加的数据源数据,具体可参考文档在工作流中添加数据源,数据源所有字段的表单组件都默认勾选可见和可写。
3、页面输入组件的读写权限想要绑定工作流的数据权限,则需在页面添加流程表单数据源时,勾选底部的根据流程设置显示隐藏或禁用输入项。
在这里插入图片描述
TIPS:节点数据权限设置是对参与流程处理的用户权限的细分操作,对于是否能发起流程、参与流程审批,还需要对用户进行权限管理配置以及流程中处理人设置。

工作流消息通知

流程流转时,系统能自动给相关负责人发送通知消息,比如张三发起请假申请,其组长李四会收到一条待办任务的通知。通过消息中携带的链接,能直接打开对应的处理页面,提升流程处理效率。常见的通知消息如下图所示:
在这里插入图片描述
启用消息通知
工作流可以自动给处理人发送通知消息,提醒处理人及时处理流程中的任务。在系统中内置了多种通用的消息模板,支持发送常规的待办、退回以及结果通知等,想启用消息通知时,只需要做如下配置:
在这里插入图片描述
1、配置摘要字段:在流程>属性栏>数据设置中可配置摘要字段,摘要字段是流程中的主要信息,发送的消息通知中会带上摘要字段的内容,配置说明可参考后续文档章节摘要字段
2、启用消息通知:在流程>属性栏>高级设置中可勾选启用通知,勾选后系统会按照内置的消息模板在工作流流转过程中发送通知消息

完成上述配置后,工作流就可以自动发送通知消息了,如果系统内置的默认模板不足以满足需求,可继续参考后续文档章节消息的自定义配置。相关系统设置:
消息能正常发送,还需要系统的管理员做一些前置的准备工作:
1、在系统设置>外部服务中需要配置邮件和短信服务,如果需要发送微信消息的,需要参考配置文档微信登录。
2、在系统设置>协同办公中需要配置好默认的消息模板,系统中有提供默认的模板配置,不用修改就能正常使用,管理员也可对按照自身系统业务对默认模板进行一些自定义修改,详细说明可参考文档协同办公。

消息的自定义配置
当系统内置的消息模板不足以满足用户的自定义需求时,比如某个工作流在领导审批节点发送的待办消息需要和其他节点的待办消息有所不同,则此时可以针对这些差异来自行配置个性化的消息模板,工作流中的消息配置如下图所示:
在这里插入图片描述
点击工具栏>消息模板设置后会弹出消息模板设置对话框,以自定义领导审批节点的待办消息模板为例,消息模板的配置分为以下步骤:
1、管理消息模板:在消息模板的配置对话框中,左侧显示了所有已配置的模板,其中包含了系统自带的默认模板,用户可新增模板或对已有模板进行修改,此时我们需要新增一个模板并给其设置一个有意义的业务描述。更多设置说明可参考消息模板管理章节。
2、设置匹配规则:选择新增的模板,需要配置好对应的匹配规则,由于是需要配置待办的消息通知,此时对应的匹配事件是分配任务,匹配节点为领导审批。更多配置说明可参考匹配规则设置章节。
3、设置推送内容:确认好匹配规则后,需要继续确定消息的推送内容,可以在模板中配置自定义的摘要信息或是直接选择其他的内容模板作为推送的主要内容。更多配置说明可参考推送内容设置章节。

消息模板管理
在工作流中,可对使用的消息模板进行增删管理。在协同办公设置中提供了系统默认的模板设置,可以满足常规的待办,催办以及结果通知需求。工作流中的消息模板设置初始默认继承协同办公中的设置,用户可在工作流中做自定义修改。模板管理的操作说明如下:
1、点击工具栏中的消息模板按钮,可以打开消息模板设置对话框
2、可直接点击对话框中左侧的添加按钮添加消息模板,也可点击添加按钮右侧的下拉箭头使用其他添加选项
通知:添加通知类型的消息模板
抄送:添加抄送类型的消息模板
系统流程模板:被删除的系统模板可在此处再次添加回来,系统模板就是在协同办公设置中配置的模板
3、鼠标悬停在模板上时,会显示模板的操作按钮
重置:对于系统提供的默认模板,工作流中有自定义修改的,可以通过重置按钮将其还原为系统初始状态
复制:将指定模板复制一份
删除:将指定模板删除,如果删除的是系统模板,则可以在添加选项中的系统流程模板中重新添加回来

消息类型介绍
根据接收消息的用户不同,系统将要发送的消息分为通知和抄送两类:
通知:只会发送给当前任务对应的处理人,接收这类消息的用户通常都是在流程中需要处理任务的用户,如在请假流程中,当张三发起请假申请后,流程走到组长审批环节,此时如果设置了待办通知模板,则会给组长审批节点的节点处理人即张三的组长发送对应的通知消息
抄送:在抄送模板设置中,需要添加抄送人,系统只会给抄送人发送对应的消息。抄送人通常是指对流程有一定关注但不参与流程任务处理的用户,如在新人考核流程中,公司的领导可能并不参与考核过程,但考核中的关键步骤的结果可能会以抄送消息的形式发给领导

通知和抄送的区别:
通知与抄送最大的区别在于通知消息的接收人是系统自动判断的,只会发送给节点的处理人,而抄送消息需要用户在对应的抄送模板上手动指定抄送人。 从配置上来说,抄送是通知的补充,当某些消息通过通知无法自动发送给某些未参与流程任务处理的用户时,就可以通过抄送消息来自由的配置发送给那些额外的用户。

匹配规则设置
只有满足模板的匹配规则时,系统才会发送对应的消息通知,模板的匹配规则设置属性如下:
匹配事件:单选,只有在节点上触发相应的事件时,系统才会根据模板上的配置来给用户发送对应的消息,比如用户发起的请假申请在组长审批后被退回到了申请节点,则此时是在申请节点触发了退回事件,如果有配置了匹配退回事件的模板,此时会给申请人发送对应的模板消息 。有关事件的详细说明可参考后续文档章节
匹配节点:多选,默认是全部节点,可选择工作流中的流程节点,和匹配事件搭配,只有在选择的节点上触发匹配事件才会发送消息
抄送人:仅抄送模板需要设置,设置方法可参考节点处理人设置文档,抄送消息只会发送给模板上配置的抄送人
匹配条件:支持输入表达式,未设置时默认为TRUE,返回FALSE时,视为不满足发送该模板的条件,不会发送对应的模板消息

消息的发送规则:
工作流消息在发送时会自动过滤掉触发消息发送时的用户,比如A、B、C三个用户同时处理某流程节点的任务,流程中配置了当任务完成时发送的通知消息,此时A完成了任务,通知只会发送给B、C,A作为触发消息的处理人会被自动过滤掉。
工作流中配置的消息模板,按照从上到下优先匹配的原则,在同一时间内只会给同一个用户发送一种模板的消息。比如在流程中分别配置了流程结束以及任务结束时发送的消息,流程结束的消息模板排在任务结束的消息模板前面,当流程的最后一个任务完成时,此时也触发了流程结束事件,即同时满足了两类模板的发送条件,这两类模板如果分开来看,发送消息时都会发给用户A,但根据发送原则只会匹配到第一个模板消息。

在这里插入图片描述
推送内容设置
消息的推送内容主要由内容正文和链接两部分组成,在系统的协同办公设置中提供了默认的模板内容,常见的消息推送内容如下图所示:
在这里插入图片描述
推送内容的具体设置属性如下:
消息模板:决定了发送消息的内容,可以在系统设置>协同办公>消息模板中列出的模板中选择,点击编辑模板按钮可以跳转到协同办公中自定义模板内容,模板内容的详细设置可参考文档协同办公
自定义摘要:勾选后显示摘要字段设置,设置说明可参考后续章节摘要字段。当消息中需要显示不同的摘要信息时可以设置,比如某产品的试用申请流程,只有当最后申请通过了才会在通知消息中发送有效期的信息,则此时申请通过的消息模板中可以自定义摘要字段,添加上这个有效期的字段
自定义发送方式:协同办公中创建的模板会设置发送方式,如果需要自定义,可勾选此选项,在系统已配置的发送范围内指定发送方式,可多选
启用链接:勾选后,消息中会带上跳转到任务处理页面的链接,仅用于微信、邮件,通知模板默认勾选,抄送模板默认取消勾选
自定义链接:勾选启用链接后可以设置,勾选后可以通过如下设置自定义消息中携带的链接地址
链接类型:可选择内部资源或URL,决定了自定义的链接来源
内部资源:链接类型选择内部资源时需要设置,从系统内部中选择资源作为携带的链接地址
URL:链接类型选择URL时需要设置,直接以设置的URL作为携带的链接地址
参数:设置链接页面所需参数的值

摘要字段是用来描述一条流程主要信息的字段,通常是选取业务表中的字段作为摘要字段,如在请假流程中,可设置申请人、请假开始时间以及请假天数作为摘要字段。在属性栏>流程>数据中可设置摘要字段:
在这里插入图片描述
1、可点击右上角的添加按钮添加摘要字段
2、添加后在字段选择下拉框中可选择业务表中的字段
3、可手动设置字段标题,未设置时默认使用字段名称作为标题
4、按住左侧的拖拽图标可调整字段间的顺序

摘要的继承设置以及应用场景:
1、可在流程全局、流程节点以及消息模板中分别配置摘要字段,系统按照消息模板>流程节点>流程全局的优先级来确定要使用的摘要信息。
2、由于在默认的消息模板内容中,系统只配置了通用的流程相关的信息,每个工作流的消息差异可以在摘要字段中体现,建议在配置工作流时同步配置摘要字段。
3、摘要信息还可应用到SuperPage的列表与移动列表用于展示流程任务的待办列表等。

流程催办
当业务上对工作流事务的处理时间有要求时,可以对工作流设置催办,当任务到达催办时间且仍未被处理时,系统会自动给对应的处理人发送催办消息。这涉及到两个关键点:
1、在消息模板中需要配置匹配了催办事件的消息模板。
2、在属性栏>流程>催办中需要启用催办,并配置催办日期以及催办时间。
在这里插入图片描述

  • 催办日期:决定了任务具体在哪一天进行催办,根据以下三种标准配合设置的偏移时间来计算催办的具体日期
    任务到达后:任务到达节点的那一刻开始计算,比如任务到达时是周五,偏移时间设置的是1个工作日,则会在下周一进行催办,如果是1个自然日,则是在周六进行催办
    截止时间前:流程节点上可设置截止时间,设置说明可参考后续章节。这种设置下会按照截止时间为标准往前计算偏移量来获取催办日期,比如截止时间为周五,偏移时间设置为1个工作日,则在周四时进行催办
    截止时间后:按照截止时间为标准往后计算偏移量来获取催办日期
    催办时间:可选择系统中类型为工作流的计划任务,依据任务的时间设置发送催办通知,更多可查看计划管理。当计划任务执行时,会判断流程任务是否到达催办时间,到达的任务便会发出对应的催办通知

催办的自定义设置
1、在属性栏>节点>催办中可以设置禁用催办或自定义催办时间,这是为了某些流程环节不需要催办或任务紧急程度不一样时可以单独对节点有不一样的设置。
2、上述设置是系统自动催办的设置,手动催办设置,可参考执行流程文档。

任务截止时间
每个任务节点都可以设置截止时间,系统能根据设定的截止时间自动对任务进行处理,催办设置中也需要依据截止时间发送催办通知。设置如下所示:
在这里插入图片描述

  • 截止时间:可设置固定、动态、无三种选项,按照不同规则来确定截止时间
    固定:截止时间设置为固定时,需要设置处理时长,系统会根据任务到达的时间加上处理时长得到任务的截止时间
    动态:截止时间设置为动态时,需要设置表达式,用于用户直接在表单中指定截止时间的场景,表达式中通常是获取业务表中字段的值
    无:无截止时间
    超时操作:任务到达截止时间后,会自动根据超时操作中的设置来处理流程任务
    无:不做任何操作
    自动通过:任务自动批准,流程进入到下一节点
    退回到上一步:将任务退回到上一节点
    退回到起始节点:将任务退回到申请节点
    终止流程:将流程终止掉

截止时间的计划任务设置:与催办时间类似,任务到达截止时间后并不会立即执行相关的超时操作,在项目设置的工作流设置中统一提供了截止时间的配置,只能选择系统中类型为工作流的计划任务,计划任务执行时会判断流程任务是否超时,并对超时任务进行自动处理。

数据安全
在发送的消息通知中,对携带链接的查看做了相应的数据安全设置,包括以下限制:
1、流程任务的处理页面通常只有处理人以及在流程中添加了查看权限的管理员有查看权限,针对抄送模板,即便抄送人没有查看权限,比如张三的任务抄送给李四,李四默认是没有查看权限的,但此时由于李四是抄送人的关系,所以可以通过消息中携带的链接进行查看。
2、抄送人只能查看任务内容,但不能对任务进行任何操作。
3、其他无关的用户即便通过其他手段获取到消息中携带的链接,通过链接进入页面也会提示无权限。

与SuperPage集成

工作流流转原理
在工作流流转过程中,系统会自动对流程相关的两张系统表流程实例表与流程任务表进行操作,以请假申请为例,当张三发起一条请假申请,并在后续走完审批流程的过程中,系统表中的数据操作如下:

流程实例表
发起请假申请,表中新增一行数据,会记录流程ID、业务主键(此处是记录请假单号)等关键信息来标识这是张三发起的一条请假申请
组长李四进行审批,审批通过后会更新这行数据的最后处理人,处理结果以及时间等信息来表示这条流程的最新状态
流程完整走完后,会将这行数据的实例状态更新为finished,代表张三的这条请假申请已经走完流程了

流程任务表
每个流程节点经过时都会生成对应的流程任务,以张三发起申请后,需要经过组长审批、部门经理审批的简单流程为例,此处对应3个流程节点,会生成3条流程任务,即在流程任务表中对应新增3行数据
同一流程节点有多人处理时,按照处理人数生成流程任务,比如张三的组长有两个,那么在组长审批节点时,会给两个组长都生成流程任务,如果是或签,则其中一个组长审批完成后,另外一个组长的流程任务就会由系统自动完成
流程中多次经过同一流程节点,如张三发起申请后被组长李四退回,流程再次回到申请节点,此时是针对申请节点生成新的流程任务,而不是在第一次申请时的任务基础上进行修改。
TIPS:
1、一条申请记录,在流程实例表中始终只有一条数据,用于记录申请的实时状态。流程任务表中会有多条数据,每一个流程任务对应一条数据。流程实例表与流程任务表是一对多的关系。
2、在发起流程时,流程任务表中会生成申请节点的流程任务并直接将任务状态置为已完成,同时会生成下一个节点的待办任务。

查询流程任务列表
用户在处理工作流相关事务时,针对不同的用户角色,通常需要查看不同的任务列表,以OA系统为例,常用的列表有:
在这里插入图片描述
待办列表 (opens new window):系统的审批用户使用,用于展示OA系统中所有待自己处理的流程任务,可能是请假或报销的待审批任务等
已办列表 (opens new window):系统的审批用户使用,用于展示OA系统中所有自己已处理的流程任务,可以查看自己的处理记录
申请列表 (opens new window):所有人通用,用于展示OA系统中自己申请的流程,如需要查询自己发起的报销申请到了流程的哪一环节

在SuperPage中提供了流程数据源的设置,通过我的待办、我的已办等流程数据源的引入可以很方便的获取到需要查询的任务列表。详细说明可参考引入数据文档。
TIPS:我的待办、我的已办等设置只是系统提供的一种快捷设置方式,用户也可以自行引入流程任务表或相关数据加工并为其添加需要的过滤条件作为查询的任务列表。

跳转到工作流表单页面
以OA系统为例,整个系统中可能有多种工作流,请假流程,报销流程,合同审批流程等。这意味着审批用户的待办列表中会有多个流程的审批任务。点击这些任务后跳转到的处理任务的表单页面都是不同的,比如审批请假申请和报销申请的表单页面必然是不同的两个页面。系统能够从任务列表根据选择的流程任务自动跳转到表单页面,这其中涉及到两个关键点:
1、在工作流的配置中,在流程全局和节点设置中可以指定处理任务的表单页面,系统可以很容易的得到流程节点对应的表单页面地址
2、任务列表中设置打开链接交互,链接的对象指定为工作流表单,则打开链接时会根据当前选择的流程任务自动找到其在工作流上配置的表单页面地址
工作流的表单页面设置如下:
在这里插入图片描述
表单页面选择:默认的下拉框中可选择系统内部资源作为表单页面。
指定表单URL:勾选后,下拉框会变为输入框,可手动输入表单页面的URL。
指定手机端:勾选后,可额外设置手机端的表单页面,系统会自动根据使用的设备跳转到指定页面。

读写流程表单数据
以请假申请为例,审批用户在待办列表中点击张三的申请跳转到了处理请假流程的表单页面,此时表单页面中需要展示张三的请假申请信息。也就是说跳转到表单页面后,系统需要自动定位到当前在处理的业务数据,不能出现点击张三的任务结果进到页面看到的是李四的申请信息的情况。工作流表单数据的读写需要使用流程表单数据,在数据>工作流中可添加流程表单数据,设置说明可参考引入数据文档。此处介绍系统如何通过流程表单数据定位业务数据:
1、从待办列表跳转到表单页面时,在打开链接交互中需要将任务代码信息传递给了表单页面的taskId参数
2、在表单页面中将taskId设置到引入的流程表单数据中,以请假申请的设置为例,就是将taskId设置到流程表单数据请假申请表的任务ID属性中
3、将请假申请表设置为单行数据集,并在表单页面中的输入组件上绑定请假申请表中对应的字段
通过上述设置,当表单页面获取到从待办列表传递过来的任务代码时,系统能从流程任务表中自动获取当前任务对应的业务代码,以请假流程为例,此处获取到的是请假单号。同时,在流程表单数据请假申请表中也设置了这个任务代码,系统可以很自然的通过获取到的请假单号来过滤请假申请表,并将信息自动装载到绑定了请假申请表的组件中。
TIPS:
1、给流程表单数据提供正确的任务代码就可以定位到指定的业务数据,但数据的自动装载还需要注意将流程表单数据设置为单行数据集。
2、业务模型为主从表的场景中,比如报销流程,可能有报销申请表和报销明细表,主表与从表是一对多的关系,这种情况下从表的数据装载,不需要设置对应流程表单数据为单行数据集。

控制表单输入项的权限
同一个工作流,在不同的流程节点中,某些业务数据可能会有不同的读写权限设置。以请假申请为例,在申请节点,用户可以填写基本的申请信息,但无法输入调休天数的内容,而当申请进入组长审批环节,此时组长可以修改组员的调休天数但无法修改其基本的申请信息。类似的效果可以通过在组件上写禁用条件的方式来实现,但带有流程的表单,一般推荐在工作流上进行配置,容易管理,这涉及到以下关键点:
在流程节点中可添加节点数据权限设置,确定业务数据的字段读写权限
在表单页面中通过流程表单数据来读写流程表单数据,页面中的组件需要绑定流程表单数据中的字段
流程表单数据的设置中需要勾选根据流程设置显示隐藏或禁用输入项属性,设置说明可参考引入数据文档
通过上述设置,当表单页面获取到任务代码后,系统能自动获取到对应的流程节点信息,从而根据流程节点上的字段权限设置来自动控制绑定了对应字段的输入组件的读写情况。

TIPS:
1、只有能够绑定字段的输入组件才能根据节点数据权限设置来自动控制读写,按钮、文本等组件如果也想达到类似的效果,则需要在显示和禁用条件中通过wfl_canview、wfl_canedit函数进行设置。
2、针对已完成的任务,再次进入到任务的表单页面时,绑定了流程表单数据中字段的输入组件都会自动变成禁用模式。

流程操作交互,流程相关的操作交互可以分为两种:
1、操作流程业务数据的交互,如提交表单、更新数据等
2、操作流程任务的交互,用来发起流程或在审批时对流程任务进行批准、退回等操作
以下主要对操作流程任务的交互进行说明:
提交表单:应用于流程的发起,在提交流程业务的同时发起新的流程,更多详细说明可参考提交表单文档
执行流程:用于流程发起后,处理流程任务的审批工作,可对用户的待办流程任务进行批准、否决以及退回等操作。
批量发起流程:多用于上级分配的流程任务,比如由管理员批量选择一批员工来发起考核流程。

通知消息
工作流流转过程中,当符合发送条件时,系统会自动根据配置的消息模板来给对应用户发送消息通知。比如请假流程的待办消息模板配置的发送条件是当流程中的任意节点有新的流程任务生成时就发送消息,那么当张三完成申请后,组长李四生成了一条待办的流程任务,此时系统就会根据模板配置自动给李四发送待办消息。

数据安全
当使用工作流与SuperPage集成来搭建完整的业务系统时,请尽量使用流程数据源来制作SuperPage页面,这涉及到流程的数据安全问题。使用流程数据源时,系统会自动判断当前用户对他正在处理的流程任务是否具备相应的权限,如张三不能在没有权限的情况下看到李四的待办任务详情,更不能直接处理李四的待办任务。直接在页面中引入流程实例表或流程任务表以及其加工模型的操作可能导致数据泄露。

程序流

程序流是SuccBI提供的一种基于流程的可视化服务器端API设计的功能。

一个业务应用往往会有一些个性化的服务器端处理逻辑,如对文章进行点赞、商品订单的新增和修改等。这些操作往往需要在一个事务中完成,如下单操作需要先查询商品库存,如果还有库存就将库存-1,并插入一条订单数据;否则直接返回提示没有库存。调用程序流可以保证整个过程在后端执行,不被前端代码篡改执行逻辑。

在以前开发这样的服务器端接口通常需要研发工程师编码完成,现在可以用程序流定义服务器端的逻辑。
在这里插入图片描述
为什么要使用程序流
程序流中执行的内容往往可以在SuperPage中直接配置,但时常会遇到这些情况:相同的交互需要重复多次的在每个按钮上添加、一个按钮上添加了多个交互,各交互的执行条件不同,不容易维护、一些敏感的数据总是从前端提交等等,这些问题的产生促使了程序流的诞生。

调用程序流,把交互放在后端执行,能够带来以下几点好处:
1、当页面按钮上设置的交互较多,且交互设置有执行条件,此时可以把交互放在程序流中,用线条表示执行条件,节点表示交互,展示不同情况下执行哪些交互,易于后期对交互进行维护。
2、同一个页面的不同按钮,或不同页面的按钮中,需要配置的交互相同,若每次都重新配置,则操作量太大,将这些交互放在程序流中执行,只需要配置一个程序流,就可以在每个按钮中调用程序流来使用这些交互。
3、使用程序流可以将页面的制作与后台逻辑交互的配置分离,这样可以让实现界面的工程师与配置交互的工程师同时工作,提高效率。
4、业务上一些查询数据的请求可以在程序流中通过API接口发送。

新建一个程序流的步骤如下:
进入项目的应用模块,右键应用选择编辑,进入应用设计器
在应用设计器的API目录下新建程序流
在命名对话框中输入合适且有意义的名称,点击确定进入程序流设计器
接下来可以添加数据模型以及添加节点绘制程序流,并设置属性,完成后点击保存即可
TIPS:程序流可以在SuperPage页面中通过调用程序流使用,也可以在工作流中添加调用程序流节点使用。
在这里插入图片描述
程序流设计器
可以将其划分为如下几个区域:
在这里插入图片描述
数据源:数据源区域列出了程序流中使用到的模型表,可在分支条件、节点的数据操作中引用
流程图:此区域用于绘制程序流的流程图,可添加并编辑节点的交互操作、分支条件等,具体可参考文档绘制程序流
属性栏:显示分支线条、节点的可配置属性,如分支的启用条件、节点交互的具体设置等
工具栏:工具栏中提供了对程序流的全局设置,如全局参数

绘制程序流

程序流使用可视化的流程图绘制出服务器端后台业务逻辑的执行流程,图中每一个节点都代表一个执行动作(类似SuperPage的交互动作),本文讲述如何进行程序流的绘制:

添加流程节点
当新建一个程序流时,系统会自动添加一个开始和结束节点,此时只需要添加程序流中的其他节点即可,如鼠标点击开始节点边框四周的+号,选择其中一个,即可添加第一个节点。
在这里插入图片描述
添加节点时有三种类型可选:
动作节点:一个节点对应一个动作,当流程走到这个节点时,就会执行这个节点上的动作。节点的可选项是SuperPage动作的子集,主要是对数据的操作类动作,如复制数据、提交表单等。对于一些样式类的交互动作,如显示对话框/悬浮面板,需要在SuperPage页面中自行设置,具体用法可参考对应的动作文档
网关节点:网关节点用于条件判断,使用菱形框表示。当流转条件比较复杂、需要分步或者维护时可以使用网关,帮助理清流程图结构,表示此处会根据不同条件,流转到不同的节点。网关没有节点属性,是通过连线上的条件执行不同分支
结束节点:每一条程序中,都至少有一个结束节点。新建程序流时,系统会自动添加一对开始和结束节点,将最后一个节点与结束节点进行连线即可。当流程中任务可能因为其他条件而需要结束流程,可根据需要自定义添加结束节点

流程线条
流程线条用来连接两个节点,以及在连线上设置分支的流转条件,如下所示:
在这里插入图片描述
连接节点
鼠标移动到节点边框上的小圆点时,会变成一个+号,拖拽这个加号可以引出连线,拖动到目标节点边框四周的圆点上松开鼠标,可以绘出两节点之间的连线。如果要重新调整连线,可选中连线,连线的起点、终点以及中间会出现圆点,选中圆点可拖动连接至其他节点或调整连线的大小。

流程分支条件
如果节点有两个及以上线条流出时,需要设置线条的分支条件,流程依据设置的条件决定下一步执行到达的节点。有两种设置条件的方式:
设置启用条件:即根据上一个节点的执行状态判断是否流转,在启用属性上设置,有以下几种选项:
上一节点成功:表示上一节点执行成功时走这个线条分支,为默认选项。若上一节点是开始节点且满足执行条件,则一定会走这个分支
上一节点错误:表示上一节点执行失败时走这个线条分支,可选择具体的导致上一节点执行失败的错误类型:
全部:表示上一节点只要执行失败,无论导致失败的原因是什么,都会走这个线条分支,为默认选项
主键冲突:表示操作的数据主键与表内已有数据的主键重复
校验失败:表示模型上设置了数据校验,且校验失败
其他异常:除主键冲突和校验失败外的所有异常错误
上一节点结束:表示只要上一节点执行结束,无论最终的结果是否成功,都将走这个线条分支
其他分支都不执行时:表示当其他线条分支的条件都不满足时,则走这个分支,该条件的优先级较低,总是优先判断条件为上一节点成功/错误/结束的分支
禁用:禁用这条分支后,该条分支节点不再执行,一般在调试阶段使用,选择后不可设置执行条件
设置执行条件:输入表达式来判断模型中的数据或程序流中的全局参数是否满足某种条件,需要勾选设置执行条件,勾选后必须同时满足启用条件和执行条件,才会流转到该线条分支
TIPS:当程序流的任意一条分支都不满足条件时,程序流会直接结束,值得注意的是,这种情况并不算程序流执行失败。
删除节点或线条
当不需要节点或线条时,可以将其删除。选中节点或线条,鼠标右键,在弹出的菜单中点击删除即可。在删除节点时,同时会将连接该节点的线条都删除。
TIPS:当需要同时删除多个节点或线条时,可以按住ctrl,鼠标点击选中多个后松开ctrl,选中的颜色会变成橙色,此时右键在弹出的菜单中选择删除可以进行批量删除。

应用设置

短路径配置主要用于精简、美化业务应用的URL地址,并且更好的支持SEO。
在应用设置中配置好短路径后,当浏览器访问的URL匹配到了配置的短路径规则,服务器端会将请求转发到对应的源路径上,浏览器收到的就是源路径的响应内容。当用户在浏览器进行操作引起了当前页面URL发生变化,此时也会将匹配的源路径替换为短路径,总是会确保浏览的URL是期望的短路径。
在这里插入图片描述
警告
配置路径映射时不仅需要配置直接访问业务应用的短路径,业务应用操作过程中URL会发生变化,短路径配置需要涵盖所有需要替换的URL。
例如配置了将路径/demo映射到应用/DEMO/app/DEMO.app,用户在界面上操作会让URL加上id参数,最终URL会变为/demo?id=xxx。如果需要URL形式为/demo/xxx,则需要添加映射规则/demo/{id}=>/DEMO/app/DEMO.app?id={id}

在这里插入图片描述
说明:
1、短路径中可以使用花括号括起来的变量,花括号括起来的内容可以只是变量名如/demo/{id},也可以包括变量匹配的正则表达式如/demo/{id:[\d]+},其中id是变量名,可以任意修改,变量名可以用到源路径中。
2、变量只能匹配一级路径段不能匹配多级路径,如/demo/{id}可以匹配/demo/001但不能匹配/demo/def/001。
3、源路径可以配置相对于当前应用的路径,例如在应用/DEMO/app/DEMO.app中配置源路径home.tpg?id={id},则实际源路径为/DEMO/app/DEMO.app/home.tpg?id={id}
4、源路径可以使用.代表当前应用路径,例如在应用/DEMO/app/DEMO.app中配置源路径.,则实际源路径为/DEMO/app/DEMO.app。
5、可能会有多条配置匹配到相同的路径的情况,此时可以通过调整配置顺序来调整优先级。
6、配置的短路径不能与系统默认的路径相同,相同时将产生冲突,短路径设置不生效。例如/DEMO/app/DEMOAP.app的短路径不能配置为/DEMO、/DEMO/app等系统中本来有效的路径。

  • 14
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值