起步软件技术论坛-X3

 找回密码
 立即注册
搜索
12
返回列表 发新帖
楼主: lixin

批处理怎样得到选择的任务**

[复制链接]
 楼主| 发表于 2008-12-24 17:03:07 | 显示全部楼层
这个是在流转时弹出的,请选择一个以上个任务一块儿流转时就会出现此对话框
回复 支持 反对

使用道具 举报

发表于 2008-12-24 17:53:34 | 显示全部楼层
在AfterFlowOut中只能针对单个流转的任务进行处理
不过你流转了几条任务,就会触发几次这个事件
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-25 10:00:36 | 显示全部楼层
在AfterFlowOut事件中写入代码:
JsDialogs.ShowMsg(SysUtils.IntToStr(Command.FlowTasks.Count),'');              
不管批处理几个任务,好像Command.FlowTasks.Count都为1,不知什么原因
回复 支持 反对

使用道具 举报

发表于 2008-12-25 10:43:36 | 显示全部楼层
楼主,能不能这样子:
现在批处理后会弹出一个批处理任务的选择界面,然后流转的时候还会弹出一个任务选择框,最后弹出的是流转窗体(选择用户的),那么,对于批处理任务选择后的任务可以通过FlowBroker1CreateFlowOutFlowTasks或者FlowBroker1GetFlowOutTasks这样的事件来获取,然后对于任务选择框,就不要弹出来,直接出流转窗体的方式。
不知道这样子是否可以满足您的需求。如果可以,那么就这样子来做:
procedure TMainForm.FlowBroker1GetFlowOutTasks(Sender: TObject; Command: TGetTasksCommand);
var
  i: Integer;
  lTask: TTask;
begin
  Command.UserModify :=False;
  for i:=Command.Selected.Count-1 downto 0 do
  begin
    lTask := Command.Selected as TTask;
    Dialogs.ShowMessage(lTask.FlowGUID);
  end;
end;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-25 13:34:52 | 显示全部楼层
这个方法我知道,不能满足要求,比如客户要审核一批任务(比如15个),发现某几个任务错误就回退哪几个任务,不用全部回退,回退跟流转应该是一个道理!
回复 支持 反对

使用道具 举报

发表于 2008-12-25 14:28:38 | 显示全部楼层
楼主,通过FlowControl来控制(afterflowout或者afterflowback事件中)
property TaskByIndex[Longint]: TTask;//任务
  property TaskCount: Longint;//任务数量
  -----------------------------------------------------------------
然后根据任务的状态来判断。
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-28 14:06 , Processed in 0.042694 second(s), 13 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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