NC31审批流程开发文档_v1.2(9)
时间:2026-01-19
时间:2026-01-19
NC31审批流程开发文档_v1.2
4.4.4特殊应用
下面对如下几种特殊应用进行分析,
1. 对于保存/提交分离的应用,制单人保存后,由业务组控制非制单人可否提交单据;审批流会根
据单据VO中的制单人信息来获取审批流定义并启动审批流。 2. 多次提交问题:
a) 单据提交后会启动审批流,这时如果再次修改后提交,会删除旧的流程实例和工作项记录,
并重新启动审批流。
b) 如果业务组没有控制单据审批进行中的不可编辑,那么单据在审批过程中可被修改,然后
再次提交,这时执行完动作脚本后,EngineService.sendWorkFlowOnSave()会直接返回而不会再次启动审批流。
c) 单据审批完成后(即审批流程结束后),再次修改该单据并提交,这时会重新启动一个审
批流程,同时保留了原已结束流程所产生的工作项(参见《NC31审批流使用文档》4.1.13节)记录。
4.5审批
审批是登录到NC的操作员完成流程平台分配给他的工作项的过程,它是驱动流程流转的关键应用。每个工作项的审批有“通过”、“不通过”和“驳回到制单人”三种结果。关于工作项的审批结果与流程审批结果的异同,参见《NC31审批流使用文档lj》4.1.3节。
根据单据是否启动了审批流,审批分为:
有流程实例:单据送审后,根据制单人查询到流程定义,并启动了流程实例。如果对一个尚未提交的单据进行审批,会提示“单据尚未提交,无法审批。”的错误。
无流程实例:单据送审后,根据制单人查询不到流程定义,即没有启动流程实例。不管其是否提交,都不会启动审批流,任何人都可直接审批通过。这种审批由于没有流程实例和工作项,并不属于真正意义上的流程审批,更多的是进行业务处理。
根据业务需求,审批还分为两种情形,一种是前台审批,即业务UI查询到单据后进行审批或者通过待办事务来审批;另一种是后台审批,会将单据直接审批通过。后台审批只适用于无流程实例的情形,对于启动了流程实例的单据,不可进行后台审批。
4.5.1动作处理
前台审批调用示例:
Object retObj = nc.ui.pub.pf.PfUtilClient.processActionFlow(parentUI,
“APPROVE”, “D1”, “2005-05-30 12:23:44”, billVo, userObj, null)
如果单据数据billVo中没有保存当前审批人的信息,则可通过动作编码来传递。
Object retObj = nc.ui.pub.pf.PfUtilClient.processActionFlow(parentUI,
“APPROVE”+checkUserId, “D1”, “2005-05-30 12:23:44”, billVo, userObj, null,)
后台审批调用示例:
上一篇:高三生物选修微生物类群 人教版
下一篇:电器及PLC控制技术A卷答案