起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 134|回复: 4

【结】代码启动流程能否定义任务协作?(续)**

[复制链接]
发表于 2008-5-22 15:11:59 | 显示全部楼层 |阅读模式
原帖:http://bbs.justep.com/forum.php?mod=viewthread&tid=23343

因为任务消息要发送给多个接收者,现代码修改如下:
procedure TCustomFLow.UserStartFlow
(FFlowUrl,FDept,FRole,FPerson,FStartProc,FFlowID,FSubject,FDescription: string; FContext: TContext; ExecutorCount : integer; Executors : TExecutors);
var
  lBizURL: TBizURL;
  lFlowValue: TFlowValue;
  lFlowControl: TFlowControl;
  lExecutor: TOrgURL;
  lQuery : TQuery;
  i, j : integer;
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);
    for i := 0 to ExecutorCount - 1 do
    begin
      lFlowControl.FlowRunnerByIndex[0].CurrentTask.TaskMessages.Clear;
      lFlowControl.FlowRunnerByIndex[0].CurrentTask.TaskMessages.AddTaskMessage(nil, TExecutor(Executors.FItems).FDept, TExecutor(Executors.FItems).FPostion, TExecutor(Executors.FItems).FPERSON);
    end;
    //流程实例数据保存到数据库
    lFlowControl.FlowRunnerbyIndex[0].CurrentTask.SaveToDB;
    SaveFLowID(FID);
  finally
    lFlowControl.Free;
    lFlowValue.Free;
    lBizURL.Free;
    lQuery.Free;
  end;
end;

任务消息能正常发送,接收者能正常接收消息,但是任务的执行方式还是不能达到“独占”的需求。
查询任务表中该任务发送的所有消息的执行方式均为“独占”。
麻烦版主再给看看!谢谢
回复

使用道具 举报

发表于 2008-5-22 16:02:05 | 显示全部楼层
在任务表中找到相应的这条任务后,到任务消息表 看到的是几条任务消息呢?
吧任务表和任务消息表的结果,截取图帖上来看看
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-5-22 17:32:41 | 显示全部楼层
代码:lFlowControl.FlowRunnerByIndex[0].CurrentTask.TaskMessages.Clear;
拿到循环外面
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-5-22 17:36:45 | 显示全部楼层
结贴吧,麻烦版主了。不好意思
回复 支持 反对

使用道具 举报

发表于 2008-5-22 17:56:55 | 显示全部楼层
ok
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-13 16:30 , Processed in 0.036727 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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