代码如下:
procedure TCustomFLow.UserStartFlow
(FFlowUrl,FDept,FRole,FPerson,FStartProc,FFlowID,FSubject,FDescription: string; FContext: TContext);
var
lBizURL: TBizURL;
lFlowValue: TFlowValue;
lFlowControl: TFlowControl;
lExecutor: TOrgURL;
lQuery : TQuery;
begin
lBizURL := TBizURL.Create;
lFlowValue := TFlowValue.Create;
lFlowControl := TFlowControl.Create(FContext);
lExecutor := TOrgURL.Create(FDept, FRole, FPerson);
lBizURL.URL := FFlowUrl;
try
lFlowValue.IDs.Add(FFlowID); //流程ID
lFlowValue.Subject := FSubject; //流程主题
lFlowValue.Description := FDescription; //流程描述
//启动流程实例
lFlowControl.StartupFlow(lBizURL, FStartProc, lExecutor, lFlowValue);
lFlowControl.CurrentTask.PreemptMode := TTaskPreemptMode.omFirstProcess; //抢占方式 第一个处理
lFlowControl.CurrentTask.ExecuteMode := TTaskExecuteMode.emMonopolize ; //任务执行方式 独占方式
//流程实例数据保存到数据库
lFlowControl.FlowRunnerbyIndex[0].CurrentTask.SaveToDB;
SaveFLowID(FID);
finally
lFlowControl.Free;
lFlowValue.Free;
lBizURL.Free;
lQuery.Free;
end;
end;
当有两个人接收到任务的时候,任务需要第一个处理人独占的方式处理。现在的代码没有作用,版主帮忙看看哪里需要修改一下。谢谢 |