流程启动时如何把业务数据存到sData2中

当待办任务在不同的人之间传来传去时,首先要解决的一个问题就是如果让双方的业务表单保持一致。例如人员A通过待办任务把一个单号为001的申请单发给人员B审批,则人员B打开待办任务处理的时候看到的业务单据就应该是单号为001的申请单。

  在待办任务中业务数据的传递是通过sData来实现的。sData只是一个泛指,在待办任务的库表SA_Task中它其实是靠4个字段来描述的,它们分别是sData1,sData2,sData3和sData4。当业务流程启动时,在调用流程启动动作(startProcessAction)的地方要求必须传入一个值为sData1的初始值。这个值被记录在sData1中在待办任务中一直传着走,在上例中从人员A的待办任务传入人员B的待办任务。当人员B打开待办任务处理时,从sData1中把值取出来参与业务表单的过滤。

  一般情况下,赋值给sData的都是当前业务单据的单号,也就是业务主表的主键。业务主表只有一个主键时,自然sData1就够用了。如果业务主表是多主键则就需要把每个主键字段的值分别填写入sData1,sData2,sData3和sData4。也就是说,目前只支持4个字段的联合主键。   

默认的流程在启动的时候只会维护sData1的值,如果要同时维护sData2等的值可以在页面的流程组件的事件中给sData2赋值。

流程组件的启动时机设置的是“保存”在组件的“启动前”事件中给sData2赋值

流程组件的启动时机设置的是“流转”在组件的“启动流转查询前”事件中给sData2赋值

赋值的代码都是一样的通过事件的event操作relations,如:event.relations['sData2'] = 'abc'

results matching ""

    No results matching ""

    results matching ""

      No results matching ""