流程封装预置变量说明表.doc_第1页
流程封装预置变量说明表.doc_第2页
流程封装预置变量说明表.doc_第3页
流程封装预置变量说明表.doc_第4页
流程封装预置变量说明表.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

流程封装预置变量说明表1. 参与人相关参与人相关的变量,用于辅助实现以下四种场景:1. 基于权限配置对队列进行过滤,将任务分配给队列中的一个或多个人处理。实际使用时,可使用全开放式的队列,然后基于权限配置,设置队列中任务的实际可处理人。2. 节点D必须是节点A的实际执行人处理。3. 节点D不能由节点A的实际执行人处理。4. 动态选人,支持设定选人范围。选人范围的设置支持使用sql,比如(本部门人员)或者基于权限配置。注(变量命名规范): 框架用于控制的变量以“L_”开头。 需要框架进行赋值的工作流组,使用“WFG_”开头。流程变量名称使用说明L_UserIds队列过滤工号列表当节点使用需要过滤的Queue时,需要将该变量作为Parameter,并在节点执行前赋空值(”)。流程框架会在新任务到达时,自动将根据流程变量的值取对应的权限,并取到具有这些权限的工号列表,并存入L_UserIds中。如果在节点执行前对该变量赋值,则流程框架不再做转换。如果该节点需要发送邮件或短信通知,则按照L_UserIds的值选取通知人。任务列表从需要过滤的Queue中取任务时,将按照L_UserIds的值做过滤。示例:000272;000125注:要使Queue具有过滤功能,需要:(1)需要过滤的Queue需要配置到PubSysCnfg中。(2)增加”L_UserIds”作为队列变量。(3)同时放在该节点的参数中。(4)将权限定义中涉及的流程变量放到节点的参数中。将L_StepName在节点执行前设成适当的类型。L_ExUserIds排除的工号列表用于“复核”类节点,需要将处理人排除在外。与L_StepParticipant配合使用。L_StepParticipant节点执行人每一个需要记录具体执行人的Activity节点,都需要将该变量作为Parameter。节点的任务实例提交后,流程框架会自动把处理人的工号放到该变量中。流程定义中,可以在节点执行后,将该变量的值赋给其他的变量保存起来,以便后续引用。示例:000272;L_StepName节点名称用于唯一标识流程内节点的字符串,用于权限定义中设置节点名称。此外,也用于节点配置(任务到达通知模板等)中标识不同的节点,以及流程定义中设置跳转、驳回或回收的目标节点。L_WfgFilterSql_XXX工作流组过滤SQL用于指定工作流组的可选人员的范围。流程变量的名称中“L_WfgFilterSql_”是固定的,表示Workflow Group Filter Sql,后面的“XXX”表示工作流组的名称。在需要动态选人的节点,传入工作流组变量和该变量作为Parameter,用于过滤供用户选择的人员范围。变量名称中虽然包含了”Sql”,但该变量的支持两种格式: 定义格式1(指定目标节点名称,推荐) 前后以“”和“”包起来。中间是目标节点名称的取值。可以指定多个变量的取值,变量中间以“;”隔开。 流程中的变量自动参与人员限制,所以一般只需要设置目标节点的L_StepName。例如: 选择会审人员:L_StepName=HUISHEN 选择调查人员:L_StepName=DIAOCHA 定义格式2 (SQL,不推荐,无法应用授权机制),适用于选择同部门人员等情况。注意:用于人工选择处理人时,返回列中应包含工号和姓名两列。同时,可以使用当前登录人的信息如下: $userNo$, 当前登录人工号 $agencyCode$, 当前登录人所在机构编号 $busiTypeCode$, 当前登录人的业务类型编号L_WfgUids_XXX工作流组工号列表用于抢占式审批任务的动态指定审批人,保存由工作流组转换而成用户工号列表,用分号隔开。流程变量的名称中“L_WfgUids_”是固定的,后面的“XXX”表示工作流组的名称。在动态选人的节点提交时,针对工作流组的变量,判断是否有“L_WfgUids_工作流组名”的变量,如果有,则将该变量设置为选择的工号列表。2. 跳转、驳回相关因为在FileNet中,节点间的路由必须画线,为了避免太多的线让流程图混乱不堪,所以在流程图中,增加一类特殊的节点“中转接点”。中转节点应该通过特殊的标识(比如名字,暂定为“路由”),与其他的节点区别开来。这样在动态流程图上,可以把中转接点及其相关的连线隐藏,只把流程基本的流向显示给用户。考虑到实际需求中,并不是每个节点都需要任意的跳转和驳回,所以仅需要将需要跳转或驳回的节点通过中转接点连接起来。同时,为了标识某个节点所能跳转或驳回到哪些节点,增加流程变量:流程变量名称使用说明L_JumpBackToSteps回退到的节点列表包含所能回退到的节点名称,节点名称用L_StepName表示,多个节点名称,使用“;”分隔。流程定义时,在节点到达后,将该变量赋值。在流程任务处理界面,取该变量的值,并拆分成多个节点名称。放置到“流转方向”中。流程提交时,能够判断流转方向中的取值是响应还是回退或跳转,如果是响应则放到response中,如果是回退或跳转,则放到L_JumpNextStep中。L_JumpForwardToSteps跳转到的节点列表包含所能跳转到的节点名称,节点名称及分隔符同上。流程定义和任务处理同上。L_JumpNextStep跳转/回退的下一节点保存跳转或回退到的下一节点名称。中转节点根据该变量确定要跳转或回退到的目标节点。(配置路由的路由条件)流程定义需要注意的事项 流程启动节点,只能设置Forward,不能设置BackTo。Forward应该设置在流程变量的初始值中。 对其他节点,应该在节点的执行前任务中,对Forward和BackTo赋值。对于允许跳转或驳回的节点,设置为对应的目标节点名;对于不允许跳转或驳回的节点,设置为空。 这三个变量都应该放到节点的读写参数中。 特别注意,设置L_JumpBackToSteps或L_JumpForwardToSteps后,必须要把相关的节点通过路由用线连起来。 具有跳转或驳回时,默认的路由必须要设置条件:L_JumpNextStep = “”。规范起见,建议将所有非中转的路由都设置条件:L_JumpNextStep = “”,而所有到中转节点的路由都设置条件:L_JumpNextStep “”; 对节点名称的引用,统一使用流程变量中定义的该节点对应的名称“L_SN_XXX”。3. 收回相关首先需要明确的是,不是所有的节点都可以收回,比如经过了自动节点,或者流程有了分支,或者是多人并行处理的工作流组节点,或者是流程分叉的节点,都是不应该允许收回的。所以,是否能够收回,应该在流程定义中通过配置的方式加以定义。另外,FileNet所有的路由都必须要画线才能实现,所以收回的实现思路基本等同于跳转和退回。但收回有其特殊性,其一就是有权执行收回的人是上一个节点的执行人,其二就是执行收回后,应该回到上一个节点。为体现这两点,定义流程变量:流程变量名称使用说明L_RetrievePersonAndStep有权收回的人和收回到的节点。指定有权收回的人员工号和收回到的节点名称。工号和节点名称用“;”分隔。格式为“000888;LURU”。“L_RetrieveFlag”为Y的节点,在任务提交后,将该变量的值置为“提交人+当前节点名”。在流程定义中,不允许收回的节点,在任务到达时,将该变量置为“”(空字符串)。任务处理程序中,在打开时,将该变量置为空。(下个环节的人打开后,就不能再被上个环节的人收回,而只能由下个环节的人退回。)流程定义需要注意的事项 对需要提交后收回的节点,在执行后任务中对L_RetrievePersonAndStep赋值为L_StepParticipant + “;Step1”,其中Step1表示当前节点的L_StepName。注意:谨慎设置L_RetrieveFlag,特别考虑目标节点多人处理的情况、流程分支的情况和流程并发的情况。 如果启动节点需要提交后收回,则需要单独画一个节点,并且设置L_StepName。然后在启动节点的执行后任务中,对L_RetrievePersonAndStep赋值为“启动人工号+新节点的L_StepName”。 将该变量放到所有节点的读写参数中。 特别注意,允许收回的节点,必须要把目标节点与收回到的节点通过路由用线连起来。4. 任务列表相关注:已完成流程的流程变量并没有以“L_”开头,所以任务列表中,需要判断两类变量。另外,在启动节点,必须将前5个变量置于节点参数中,以便流程封装程序自动赋值。(L_Summary不需要,该变量通过流程定义在启动节点的“执行后任务”中赋值;)建议:将这6个变量置于所有的节点参数中,以便需要发送邮件时,可以使用其中的值。流程变量名称使用说明L_ProcNo流程编号流程启动时,doLaunch判断该流程是否配置有“流程编号前缀”,如果有,则自动生成流程编号,并赋给该变量。L_AgencyName所属机构流程启动时,doLaunch将启动人所属机构名称赋给该变量。L_AgencyCode机构代码流程启动时,doLaunch将启动人所属机构的机构代码赋给该变量。L_InputOperatorCode录入人工号流程启动时,doLaunch将启动人工号赋给该变量。L_InputOperatorName录入人名字流程启动时,doLaunch将启动人姓名赋给该变量。L_Summary摘要流程启动后,在启动节点的“执行后任务”中赋值;在后续节点中对流程变量有改动时,更新。5. 节点名称定义相当于编程中的常量定义。每个人工节点对应一个变量,以“L_SN_”开头,并在描述中写该节点的中文名称。为了权限定义方便,从名称上将需要定义权限的节点和不需要定义权限的节点分开,需要定义权限的节点名称以“L_CSN_”开头(Controlled Step Name),不需要定义权限的节点名称以“L_USN_”开头(Uncontrolled Step Name)。例如:录入节点L_USN_Input,一级审批L_CSN_Level16. 动态选人的范围配置规则(SQL)针对需要配置选人范围的工作流组,找到对应的变量:工作流组过滤SQL L_WfgFilterSql_XXX,其中XXX为对应工作流组的名称。配置语言为sql语句,目标位wfuser表,查询条件中可以包含的预置变量如下: * $userNo$, 当前登录人工号 * $agencyCode$, 当前登录人所在机构编号 * $busiTypeCode$, 当前登录人的业务类型编号 * 支持按照组过滤,在sqlExp中增加如下: * userno in $G_组名 * 该函数将自动把“组名”对应的TDS的Group中的用户编号转换成(,uid1,uid2,.)的字符串,替换到原SQL中。其中第一个是为了方便组为空的处理,无实际意义。 * 注意:组名需要写整个Dn,比如:cn=AgencyLeader,ou=Qs_Workflow,cn=groups,dc=km,dc=citics,dc=com示例:1. 选取本部门的人员select userno, username from wfuser where isjianzhi=N and rzjg = $agencyCode$2. 在指定的人员范围中选择人员select userno, username from wfuser where isjianzhi=N and userno in (000487,000272,005155)3. 选取本部门的人员(不包含当前登录人本人)select userno, username from wfuser where isjianzhi=N and rzjg = $agencyCode$ and userno $userN

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论