起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 330|回复: 5

代码控制流程环节执行者出错

[复制链接]
发表于 2010-5-13 11:28:22 | 显示全部楼层 |阅读模式
在一个流程里,当流转到下一个环节(异步环节)时,我用代码控制获取了执行者列表,我想让列表里的每一个都接到该任务且互不影响(只是浏览,不改数据)。但是在流转时提示错误:

---------------------------
X3 Studio
---------------------------
运行系统初始化的时候发生异常:选择了后续环节:"接收生产计划", 但是没有分配所有执行者! 类型:Exception。
---------------------------
确定   
---------------------------


处理代码是这样的:

procedure TMainForm.FlowBroker1CreateFlowOutFlowTasks(Sender: TObject; Command: TFlowOutCommand);
var
   lFlowTask:TFlowTask;
   leaderURLs:TOrgURLs;
begin
   leaderURLs := TOrgURLs.Create;
   try
      lFlowTask := Command.FlowTasks.FindFlowTask('JSSCJH');
   if lFlowTask <> nil then
   begin
      if strDeptCode = '' then  exit;

      TMYCOMMONRESOUSE.GetDepartmentLeaderURLs(strDeptCode,leaderURLs);

      lFlowTask.Executors.Clear;
      lFlowTask.Executors.Assign(leaderURLs);
      lFlowTask.ExecutorMustBeFuncOwner:=True;       //执行者必须是功能拥有者
      lFlowTask.ExecutorAmount:=TTaskExecutorAmount.teaAll;  //执行者范围 所有
      lFlowTask.AutoCalcExecutor := false;
      lFlowTask.ExecutorKinds := [TTaskExecutorKind.ekPersonMember]; //执行者类型   人员成员
      lFlowTask.ExecuteMode := TTaskExecuteMode.emSimultaneous;  //任务执行方式  独立执行
      lFlowTask.AssignMode := TTaskAssignMode.amSingleness;  //任务分配方式   独立分配
   end;
   finally
       leaderURLs.Free;
   end;
end;

帮看看原因吧
回复

使用道具 举报

 楼主| 发表于 2010-5-13 11:38:01 | 显示全部楼层
流程流转窗口已经有执行者范围了

r.jpg

45.07 KB, 下载次数: 213

回复 支持 反对

使用道具 举报

发表于 2010-5-13 13:39:41 | 显示全部楼层
lFlowTask.ExecutorAmount:=TTaskExecutorAmount.teaAll;  //执行者范围 所有

设置成多个
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-5-13 13:53:59 | 显示全部楼层
---------------------------
X3 Studio
---------------------------
运行系统初始化的时候发生异常:选择了后续环节:"接收生产计划", 但是分配的执行者超过了定义的个数!

类型:Exception。
---------------------------
确定   
---------------------------
设置成多个后的异常
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-5-13 13:59:12 | 显示全部楼层
错了,是这个异常

---------------------------
X3 Studio
---------------------------
运行系统初始化的时候发生异常:没有选择任何后续的非同步活动环节, 不能继续!

类型:Exception。
---------------------------
确定   
---------------------------
回复 支持 反对

使用道具 举报

发表于 2010-5-13 15:13:28 | 显示全部楼层
procedure TMainForm.FlowBroker1BeforeFlowOut(Sender: TObject; Command: TFlowOutCommand);
begin
//  Command.Accept :=False;
  Command.UserConfirm :=False;
end;

procedure TMainForm.BizFormClose(Sender: TObject; var Action: TCloseAction);
begin
  FlowBroker1.FlowControl.FlowOut(nil);
end;

procedure TMainForm.FlowBroker1AfterFlowOut(Sender: TObject; Command: TFlowOutCommand);
begin
  Command.FuncTerminate := False;
end;
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-9 03:30 , Processed in 0.039787 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表