流程产品化函数
V平台提供了流程产品化相关函数。
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)函数。
(2)流程启动后,在待办/已办任务中,点击任务打开“业务单流程操作”窗体,将加载对应的数据,触发执行函数。
(1)定义业务框架窗体【业务框架】,通过按钮【触发状态改变】触发事件,根据当前输入业务单编号、状态、状态呀颜色、业务单据编号标题、状态标题信息生成对应的业务框架信息。
(2)定义业务单据实例【业务框架】。
(3)在主页中,通过按钮【打开业务框架】触发事件在组件容器中,打开业务框架。
(4)预览效果
1. 介绍
在由业务框架打开的业务单(业务窗体)中,某些业务场景下需要设置业务单不使能和使能,平台产品提供了相关函数进行设置。
2.使用方式
在业务单中调用【执行函数/表达式】规则,在表达式框中执行“PrdSetBizWindowEnable (arg0)”函数,参数“arg0”需要设置“True”或者“False”,用于控制当前业务单是否使能或者不使能(注意:只控制字段控件使能或不使能,按钮则会不显示)。
例如:PrdSetBizWindowEnable(True),则开启业务单使能;PrdSetBizWindowEnable(False),则开启业务单不使能。
info
若是当前业务单开启了权限,则权限使能控制效果优先。
即在业务单开启了权限后,若是当前操作者无该业务单的权限,那么业务单是不可编辑状态。此时,调用PrdSetBizWindowEnable(True)开启业务单使能是无效的。只有当前操作者拥有该业务单的权限时,调用PrdSetBizWindowEnable()才生效。
PrdSetBizWindowEnable (False)时,控制表单窗体的字段控件不使能,按钮不显示。
PrdSetBizWindowEnable (True)时,控制表单窗体的字段控件使能,按钮显示且使能。
3. 示例
(1)在点击"取消"按钮,触发执行PrdSetBizWindowEnable(False)函数,使业务单不使能。
(2)在点击"确定"按钮,触发执行PrdSetBizWindowEnable(True)函数,使业务单使能。
(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)函数,使业务单不使能。
(2)在点击"确定"按钮,触发执行PrdSetBizWindowEnable(True)函数,使业务单使能。
(3)预览效果
1. 介绍
在流程事件中,有些场景需要获取当前流程相关的信息,提供提供相关函数进行获取。目前提供3个函数:
- PrdWFGetBizIdInEvent():获取当前流程实例运行的业务单业务ID;
- PrdWFGetBizWindowInfoInEvent():获取当前流程实例运行的表单的窗体编码(格式:构件编码.窗体编码);
- PrdWFGetBizTableInfoInEvent():获取当前流程实例运行的表单绑定的物理表编码(格式:构件编码.表名)。
2.使用方式
这3个函数都只能在流程事件中调用,否则获取不到相关数据。
根据业务需求,直接在流程对应的事件方法中调用PrdWFGetBizIdInEvent();PrdWFGetBizWindowInfoInEvent();PrdWFGetBizTableInfoInEvent()即可。
3. 示例
(1)先定义一个方法,该方法存在3个入参,分别是业务ID,表单信息,业务表信息。
(2)在本示例中,主要把入参值在日志中打印出来,即可。
(3)在流程事件中配置执行该方法,调用函数作为入参。在本示例中,在流程启动事件中执行该方法,配置相关入参:
(4)执行流程后,若是流程启动并且触发到执行该方法,则就会执行函数获取对应的数据,作为入参传入该方法。日志中打印的效果:
查看路径:在配置中心 -> 首页 -> 系统高级配置 -> 系统诊断 -> 日志在线浏览
1. 介绍
业务框架上包含状态信息、业务动作信息等,平台提供了对应的api接口(API_PrdTriggerBizFrameActionChange)支持这些信息动态设置。
2.使用方式
在业务单中调用API对状态进行动态修改,API:vbase_prdbizframe. API_PrdTriggerBizFrameActionChange(触发业务框架动作数据变化)。
vbase_prdbizframe构件在vbase_pro私库中,入参: (1)实体:frameStateInfo(状态信息)(该入参仅在有状态信息的框架窗体中才生效)
字段:stateName(状态),在框架窗体中显示的状态;比如:审批中
字段:stateColor(状态颜色),状态的显示颜色,当前是需要传16进制,比如#FFFFFF,也支持常见的颜色编码,比如blue,red,black等
字段:bizFormCode(单据编号),在框架窗体中显示的单据编号,比如:123456
字段:bizFormCodeTitle(单据编号标题),设置框架窗体中单据编号左侧的标题,比如:单据编号
字段:stateTitle(状态标题),设置框架窗体中状态左侧的标题,比如:当前状态
注意:该参数修改状态与PrdSetBizFormStateInfo(arg0,arg1,arg2,arg3,arg4)函数修改业务状态效果一样。
(2) 实体:frameActionInfo(动作信息)
- 字段:actionCode(业务动作编码),动作的编码,这个编码是在定义动作时定义的
- 字段:isEnabled(是否使能),设置动作是否使能
- 字段:isVisible(是否显示),设置动作是否显示
- 字段:actionName(动作名称),设置动作的名称
(3)实体:framePageInfo(框架页签信息)(该入参仅在多页签的框架窗体中才生效)
- 字段:componentCode(构件编码),这个是多页签绑定的窗体所在构件编码
- 字段:windowCode(窗体编码),这个是多页签绑定的窗体编码
- 字段:windowTitle(页签名称),设置多页签绑定的窗体的页签信息
3. 示例
在本示例中,通过按钮触发"vbase_prdbizframe. API_PrdTriggerBizFrameActionChange"方法,将动作信息作为入参。
(1)在按钮【触发业务框架动作数据改变】事件中,定义方法变量实体,如下:
注意:在本示例中,只是单页签框架,所以实体:framePageInfo(框架页签信息)即使配置了逻辑也不生效,因此本示例未配置实现。
(2)在按钮【触发业务框架动作数据改变】事件中,配置规则链。
(3)在业务单上执行"vbase_prdbizframe. API_PrdTriggerBizFrameActionChange"方法,将动作信息作为入参。当执行该API时,会动态修改框架窗体的动作信息。
(4)预览效果:在本示例中,主要重新设置【取消】动作按钮的“动作名”以及“不使能”,【确定】动作按钮的“不使能、不显示”。
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是前端方法,打开启用窗体,加载适合的流程应用提供用户手动启用流程。入参如下:
必填项入参有7个:BizId,topic,StartUserId,StartUserName,bizComponentCode,bizWindowCode,snapshotData。平台会根据入参过滤符合条件的流程应用信息,作为待选启用流程。
其中,snapshotData是指业务的快照信息,需要通过调用PrdGetCurrentWindowSnapShow()函数去拿到当前业务单的快照信息传入。
(2)vbase_prd_workflow. API_WorkFlowOpenSimpleStartApplicationWindow(打开启动流程应用窗体(简化))
该API是前端方法,是 API_ WorkFlowOpenStartApplicationWindow 方法的简化API。入参如下:
区别于 API_ WorkFlowOpenStartApplicationWindow ,该API不用传启用人的相关信息。
API_WorkFlowOpenSimpleStartApplicationWindow 会默认获取当前登录人的用户信息,作为打开流程启用窗体的入参信息。
其他的入参和 API_ WorkFlowOpenStartApplicationWindow 一致。
(3)vbase_prd_workflow. API_WorkFlowStartApplication(启动流程应用)
该API是前端方法,是直接自动启动流程应用。入参如下:
必填项入参有7个:bizId,topic,startUserId,startUserName,bizComponentCode,bizWindowCode,snapshotData。平台会根据入参过滤符合条件的流程应用信息,作为待选启用流程。若是筛选出来的流程应用只有1条,就会直接启用该流程,若是有多条,将会弹出窗体,供用户选择启用的流程。用户选择后,将自动启用。
其中,snapshotData是指业务的快照信息,需要通过调用PrdGetCurrentWindowSnapShow()函数去拿到当前业务单的快照信息传入。
(4)vbase_prd_workflow. API_WorkFlowSimpleStartApplication(启动流程应用(简化))
该api是前端方法,是API_WorkFlowStartApplication 方法的简化api。入参如下:
区别于 API_WorkFlowStartApplication ,该api不用传启用人的相关信息。
API_WorkFlowSimpleStartApplication 会默认获取当前登录人的用户信息,作为启用流程的入参信息。
其他的入参和API_ WorkFlowStartApplication 一致。
3. 示例
(1)【vbase_prd_workflow. API_WorkFlowOpenStartApplicationWindow (打开启动流程应用窗体)】与【vbase_prd_workflow. API_WorkFlowOpenSimpleStartApplicationWindow(打开启动流程应用窗体(简化))】
这两个执行方法启动流程,均打开【流程应用启用】窗体。当有多个满足条件的流程应用时,需要手动选择流程应用。
(2)【vbase_prd_workflow. API_WorkFlowStartApplication(启动流程应用)】与【vbase_prd_workflow. API_WorkFlowSimpleStartApplication(启动流程应用(简化))】
这两个执行方法启动流程,均不会打开窗体,只会提示【提交成功】。当有多个满足条件的流程应用时,会自动弹出【选择流程应用】选择。