起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 183|回复: 7

【结贴】关于批处理逐条流转问题**

[复制链接]
发表于 2009-3-18 21:25:14 | 显示全部楼层 |阅读模式
procedure TBATCHMAINFORM.Button1Click(Sender: TObject);

var
  i : Integer;
  lTask : TTask;
  lTasks : TList;
begin
  Inherited;
  lTasks := TList.Create;
  try
    for i := 0 to FlowBroker.FlowControl.TaskCount - 1 do
    begin
      lTasks.Clear;
      lTask := FlowBroker.FlowControl.TaskByIndex;
      lTasks.Add(lTask);

      FlowBroker.FlowControl.FlowOut(lTasks);
      DataSetBroker1.DataSet.Next;
    end;
  finally
    lTasks.Free;
  end;
end;

我用了以上的方法去做批处理逐条流转,但是结果却是跟使用批处理窗体的效果一样。就是全流转到同一个地方,就是全流转到根据最后一条记录的数据判断的分支上。如图:

sshot-1.jpg

17.43 KB, 下载次数: 122

回复

使用道具 举报

 楼主| 发表于 2009-3-18 21:27:36 | 显示全部楼层
就是没有逐条记录去判断下一步流转到哪。但是有看不出代码有什么问题。请各位帮忙了。谢谢!
回复 支持 反对

使用道具 举报

发表于 2009-3-19 08:40:10 | 显示全部楼层
跟踪调试一下,流转时看看业务数据是否正确对应。
我这边做的简单例子是可以的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-3-19 09:15:31 | 显示全部楼层
调过了。而且数据差异很大。一个是51万,另外的事几百的。
我还尝试了对批处理列表窗体里的任务排列顺序。当51万那张在最后时,全留到总经理。当几百块的在最后时,就全流到审核了。
还有什么其他的设置吗?
回复 支持 反对

使用道具 举报

发表于 2009-3-19 09:45:01 | 显示全部楼层
没有什么别的设置。
我做的例子是这样的一个过程,入口环节允许批处理,然后用自己的按钮,代码实现如下
procedure TMainForm.Button1Click(Sender: TObject);
var
  i : Integer;
  lTask : TTask;
  lTasks : TList;
  lTaskGuid : String;
begin
  Inherited;
  lTasks := TList.Create;
  try
    for i := 0 to FlowBroker1.FlowControl.TaskCount - 1 do
    begin
      lTasks.Clear;
      lTask := FlowBroker1.FlowControl.TaskByIndex;
      lTaskGuid := lTask.FlowGUID;
      DataSetBroker1.DataSet.Locate('id',FlowBroker1.FlowControl.GetFlowByGUID(lTaskGuid).ID,[]);
      lTasks.Add(lTask);

      FlowBroker1.FlowControl.FlowOut(lTasks);
    end;
  finally
    lTasks.Free;
  end;

end;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-3-20 09:30:41 | 显示全部楼层
还是和原来一样流转,估计跟批处理的beforeflowout等方法有关。
回复 支持 反对

使用道具 举报

发表于 2009-3-20 13:25:39 | 显示全部楼层
楼主,你的这个问题根源在于继承了流程模板(OA中的),那里面又没有对批处理(逐条流转)做相应的处理导致的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-4-29 17:10:36 | 显示全部楼层
谢谢!
请结贴!
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-21 17:15 , Processed in 0.047349 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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