|
想通过代码改变流程的默认执行者, 代码如下:
procedure TNG.FlowBroker1CreateFlowOutFlowTasks(Sender: TObject; Command: TFlowOutCommand);
var
arrStr1: TStrings;
arrStr2: TStrings;
tmpStr1: String;
tmpStr2: String;
strChr1: String;
strChr2: String;
v_i: Integer;
lFlowTask:TFlowTask;
lOrgURL: TOrgURL;
begin
//Dialogs.ShowMessage('2');
arrStr1 := TStringList.Create ;
tmpStr1 := DataSetBroker1.DataSet.FieldByName('zs').AsString;
strChr1 :=';';
jsCommon.SplitStrEx(strChr1,tmpStr1,arrStr1);
for v_i:=0 to (arrStr1.Count-1) do
begin
//Dialogs.ShowMessage( arrStr1[v_i] );
arrStr2 := TStringList.Create ;
tmpStr2 := arrStr1[v_i];
strChr2 := '';
jsCommon.SplitStrEx(strChr2,tmpStr2,arrStr2);
lFlowTask := Command.FlowTasks.FindFlowTask('NGBMSH');//根据任务环节查找任务
if lFlowTask <> nil then
begin
dialogs.ShowMessage('hi');
lOrgURL := TOrgURL.Create('msk','ms','scp' ); //部门、岗位、人员创建组织
lFlowTask.Executors.Add(lOrgURL);//添加执行者
lOrgURL.Free;
end;
arrStr2.free;
end;
arrStr1.Free;
end;
当执行到 lOrgURL := TOrgURL.Create('msk','ms','scp' ); 的时候报错, 如下图:
|
|