Skip to main content

流程产品化函数

V平台提供了流程产品化相关函数。

案例下载

1. 流程框架和业务框架状态信息设置通用函数

1. 介绍

流程框架业务框架都支持通过业务单修改框架窗体左上侧的状态信息,平台产品提供了相关函数进行设置状态信息,均满足两种框架场景。

2.使用方式

在业务单中调用【执行函数/表达式】规则,在表达式框中执行“PrdSetBizFormStateInfo(arg0,arg1,arg2,arg3,arg4)”函数,相关参数设置:

  • arg0:业务单据编号
  • arg1:状态
  • arg2:状态颜色(为Null(),则显示默认值“#FF0000”,颜色支持常见的颜色编码red,blue等,也支持16进制,如#FFFF00)
  • arg3:业务单据编号标题(为Null(),则显示默认值“业务单据编号标题”)
  • arg4:状态标题(为Null(),则显示默认值“当前”)

例如,PrdSetBizFormStateInfo(“123456”,”审批中”,”red”,”业务单据编号”,”当前状态”),PrdSetBizFormStateInfo(“123456”,Null(),Null(),Null(),Null()),这样仅会对单据编号进行设置,其他的保持默认值。

3. 示例

(1)业务单窗体加载事件,触发PrdSetBizFormStateInfo(arg0,arg1,arg2,arg3,arg4)函数。

img

img

(2)流程启动后,在待办/已办任务中,点击任务打开“业务单流程操作”窗体,将加载对应的数据,触发执行函数。

img

2. 设置业务单窗体全局使能属性控制方式

1. 介绍

在由业务框架打开的业务单(业务窗体)中,某些业务场景下需要设置业务单不使能和使能,平台产品提供了相关函数进行设置。

2.使用方式

在业务单中调用【执行函数/表达式】规则,在表达式框中执行“PrdSetBizWindowEnable (arg0)”函数,参数“arg0”需要设置“True”或者“False”,用于控制当前业务单是否使能或者不使能(注意:只控制字段控件使能或不使能,按钮则会不显示)。

例如:PrdSetBizWindowEnable(True),则开启业务单使能;PrdSetBizWindowEnable(False),则开启业务单不使能。

info
  • 若是当前业务单开启了权限,则权限使能控制效果优先。

    即在业务单开启了权限后,若是当前操作者无该业务单的权限,那么业务单是不可编辑状态。此时,调用PrdSetBizWindowEnable(True)开启业务单使能是无效的。只有当前操作者拥有该业务单的权限时,调用PrdSetBizWindowEnable()才生效。

  • PrdSetBizWindowEnable (False)时,控制表单窗体的字段控件不使能,按钮不显示

  • PrdSetBizWindowEnable (True)时,控制表单窗体的字段控件使能,按钮显示且使能

3. 示例

(1)在点击"取消"按钮,触发执行PrdSetBizWindowEnable(False)函数,使业务单不使能。

img

(2)在点击"确定"按钮,触发执行PrdSetBizWindowEnable(True)函数,使业务单使能。

img

(3)预览效果

img

img

3. 设置框架窗体全局使能属性控制方式

1. 介绍

平台除了提供设置业务单窗体全局使能外,还提供了设置整个框架的全局使能函数,该函数的使用与设置业务单窗体全局使能PrdSetBizWindowEnable()函数类似。

2.使用方式

在业务单中调用【执行函数/表达式】规则,在表达式框中执行“PrdSetFrameWindowEnable (arg0)函数,参数“arg0”需要设置“True”或者“False”,用于控制当前业务框架是否使能或者不使能。

业务框架窗体实际上主要包含两部分:动作按钮和业务单。

例如:PrdSetFrameWindowEnable(True),则开启业务框架使能;PrdSetFrameWindowEnable(False),则开启业务框架不使能。

info
  • 若是当前该业务单或者动作按钮开启了权限,则权限使能控制效果优先。

    即在该业务单或者动作按钮开启了权限后,若是当前操作者无该该业务单或者动作按钮的权限,那么该业务单或者动作按钮是不可编辑状态。此时,调用PrdSetFrameWindowEnable(True)开启框架窗体全局使能是无效的。只有当前操作者拥有该业务单的权限时,调用PrdSetFrameWindowEnable()才生效。

  • PrdSetFrameWindowEnable (False)时,控制表单窗体的字段控件不使能和按钮不显示,业务动作按钮不使能

  • PrdSetFrameWindowEnable(True)时,控制表单窗体的字段控件使能和按钮显示且使能,业务动作按钮使能

3. 示例

(1)在点击"取消"按钮,触发执行PrdSetBizWindowEnable(False)函数,使业务单不使能。

img

(2)在点击"确定"按钮,触发执行PrdSetBizWindowEnable(True)函数,使业务单使能。

img

(3)预览效果

img

4. 流程事件中获取流程信息函数调用说明

1. 介绍

在流程事件中,有些场景需要获取当前流程相关的信息,提供提供相关函数进行获取。目前提供3个函数:

  • PrdWFGetBizIdInEvent():获取当前流程实例运行的业务单业务ID;
  • PrdWFGetBizWindowInfoInEvent():获取当前流程实例运行的表单的窗体编码(格式:构件编码.窗体编码);
  • PrdWFGetBizTableInfoInEvent():获取当前流程实例运行的表单绑定的物理表编码(格式:构件编码.表名)。

2.使用方式

这3个函数都只能在流程事件中调用,否则获取不到相关数据。

根据业务需求,直接在流程对应的事件方法中调用PrdWFGetBizIdInEvent();PrdWFGetBizWindowInfoInEvent();PrdWFGetBizTableInfoInEvent()即可。

3. 示例

(1)先定义一个方法,该方法存在3个入参,分别是业务ID,表单信息,业务表信息。

img

(2)在本示例中,主要把入参值在日志中打印出来,即可。

img

img

img

img

(3)在流程事件中配置执行该方法,调用函数作为入参。在本示例中,在流程启动事件中执行该方法,配置相关入参:

img

(4)执行流程后,若是流程启动并且触发到执行该方法,则就会执行函数获取对应的数据,作为入参传入该方法。日志中打印的效果:

查看路径:在配置中心 -> 首页 -> 系统高级配置 -> 系统诊断 -> 日志在线浏览

img

5. 动态修改框架状态、动作信息等

1. 介绍

业务框架上包含状态信息、业务动作信息等,平台提供了对应的api接口(API_PrdTriggerBizFrameActionChange)支持这些信息动态设置。

2.使用方式

在业务单中调用API对状态进行动态修改,API:vbase_prdbizframe. API_PrdTriggerBizFrameActionChange(触发业务框架动作数据变化)。

vbase_prdbizframe构件在vbase_pro私库中,入参: (1)实体:frameStateInfo(状态信息)(该入参仅在有状态信息的框架窗体中才生效)

  1. 字段:stateName(状态),在框架窗体中显示的状态;比如:审批中

  2. 字段:stateColor(状态颜色),状态的显示颜色,当前是需要传16进制,比如#FFFFFF,也支持常见的颜色编码,比如blue,red,black等

  3. 字段:bizFormCode(单据编号),在框架窗体中显示的单据编号,比如:123456

  4. 字段:bizFormCodeTitle(单据编号标题),设置框架窗体中单据编号左侧的标题,比如:单据编号

  5. 字段:stateTitle(状态标题),设置框架窗体中状态左侧的标题,比如:当前状态

    注意:该参数修改状态与PrdSetBizFormStateInfo(arg0,arg1,arg2,arg3,arg4)函数修改业务状态效果一样。

(2) 实体:frameActionInfo(动作信息)

  1. 字段:actionCode(业务动作编码),动作的编码,这个编码是在定义动作时定义的
  2. 字段:isEnabled(是否使能),设置动作是否使能
  3. 字段:isVisible(是否显示),设置动作是否显示
  4. 字段:actionName(动作名称),设置动作的名称

(3)实体:framePageInfo(框架页签信息)(该入参仅在多页签的框架窗体中才生效)

  1. 字段:componentCode(构件编码),这个是多页签绑定的窗体所在构件编码
  2. 字段:windowCode(窗体编码),这个是多页签绑定的窗体编码
  3. 字段:windowTitle(页签名称),设置多页签绑定的窗体的页签信息

3. 示例

在本示例中,通过按钮触发"vbase_prdbizframe. API_PrdTriggerBizFrameActionChange"方法,将动作信息作为入参。

(1)在按钮【触发业务框架动作数据改变】事件中,定义方法变量实体,如下:

img

img

img

注意:在本示例中,只是单页签框架,所以实体:framePageInfo(框架页签信息)即使配置了逻辑也不生效,因此本示例未配置实现。

(2)在按钮【触发业务框架动作数据改变】事件中,配置规则链。

img

img

img

img

(3)在业务单上执行"vbase_prdbizframe. API_PrdTriggerBizFrameActionChange"方法,将动作信息作为入参。当执行该API时,会动态修改框架窗体的动作信息。

img

(4)预览效果:在本示例中,主要重新设置【取消】动作按钮的“动作名”以及“不使能”,【确定】动作按钮的“不使能、不显示”

img

img

6. 获取当前业务窗体快照信息函数介绍

1. 介绍

流程启用时,需要传入当前业务单的快照信息,平台提供函数"PrdGetCurrentWindowSnapShow()"去获取当前业务单的快照信息。

2.使用方式

在业务单中,调用函数PrdGetCurrentWindowSnapShow()获取当前业务单的快照信息。

注意:该函数是获取的当前的窗体的业务单,只能在有窗体的情况下调用。

3. 示例

在本示例中,主要通过执行函数PrdGetCurrentWindowSnapShow(),提示当前窗体的快照信息。

img

img

7.启用流程应用API介绍

1. 介绍

平台提供了调用API去启动流程应用的功能。

流程应用对应的四个API,分别是:
  • vbase_prd_workflow. API_WorkFlowOpenStartApplicationWindow (打开启动流程应用窗体);
  • vbase_prd_workflow. API_WorkFlowStartApplication(启动流程应用);
  • vbase_prd_workflow. API_WorkFlowOpenSimpleStartApplicationWindow(打开启动流程应用窗体(简化)) ;
  • vbase_prd_workflow. API_WorkFlowSimpleStartApplication(启动流程应用(简化))

其中,"API_WorkFlowOpenStartApplicationWindow""API_WorkFlowOpenSimpleStartApplicationWindow" 是通过打开流程应用启用窗体,由用户手动启用流程。“API_WorkFlowStartApplication”“API_WorkFlowSimpleStartApplication” 是直接调用API自动启用。

2.使用方式

(1)vbase_prd_workflow. API_WorkFlowOpenStartApplicationWindow (打开启动流程应用窗体)

该API是前端方法,打开启用窗体,加载适合的流程应用提供用户手动启用流程。入参如下:

img

必填项入参有7个:BizId,topic,StartUserId,StartUserName,bizComponentCode,bizWindowCode,snapshotData。平台会根据入参过滤符合条件的流程应用信息,作为待选启用流程。

其中,snapshotData是指业务的快照信息,需要通过调用PrdGetCurrentWindowSnapShow()函数去拿到当前业务单的快照信息传入。

(2)vbase_prd_workflow. API_WorkFlowOpenSimpleStartApplicationWindow(打开启动流程应用窗体(简化))

该API是前端方法,是 API_ WorkFlowOpenStartApplicationWindow 方法的简化API。入参如下:

img

区别于 API_ WorkFlowOpenStartApplicationWindow ,该API不用传启用人的相关信息。

API_WorkFlowOpenSimpleStartApplicationWindow 会默认获取当前登录人的用户信息,作为打开流程启用窗体的入参信息。

其他的入参和 API_ WorkFlowOpenStartApplicationWindow 一致。

(3)vbase_prd_workflow. API_WorkFlowStartApplication(启动流程应用)

该API是前端方法,是直接自动启动流程应用。入参如下:

img

必填项入参有7个:bizId,topic,startUserId,startUserName,bizComponentCode,bizWindowCode,snapshotData。平台会根据入参过滤符合条件的流程应用信息,作为待选启用流程。若是筛选出来的流程应用只有1条,就会直接启用该流程,若是有多条,将会弹出窗体,供用户选择启用的流程。用户选择后,将自动启用。

其中,snapshotData是指业务的快照信息,需要通过调用PrdGetCurrentWindowSnapShow()函数去拿到当前业务单的快照信息传入。

(4)vbase_prd_workflow. API_WorkFlowSimpleStartApplication(启动流程应用(简化))

该api是前端方法,是API_WorkFlowStartApplication 方法的简化api。入参如下:

img

区别于 API_WorkFlowStartApplication ,该api不用传启用人的相关信息。

API_WorkFlowSimpleStartApplication 会默认获取当前登录人的用户信息,作为启用流程的入参信息。

其他的入参和API_ WorkFlowStartApplication 一致。

3. 示例

(1)【vbase_prd_workflow. API_WorkFlowOpenStartApplicationWindow (打开启动流程应用窗体)】与【vbase_prd_workflow. API_WorkFlowOpenSimpleStartApplicationWindow(打开启动流程应用窗体(简化))】

这两个执行方法启动流程,均打开【流程应用启用】窗体。当有多个满足条件的流程应用时,需要手动选择流程应用。

img

img

(2)【vbase_prd_workflow. API_WorkFlowStartApplication(启动流程应用)】与【vbase_prd_workflow. API_WorkFlowSimpleStartApplication(启动流程应用(简化))】

这两个执行方法启动流程,均不会打开窗体,只会提示【提交成功】。当有多个满足条件的流程应用时,会自动弹出【选择流程应用】选择。

img