起步软件技术论坛-X3

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

【结帖】[问题]代码添加流程环节执行者导致执行者重复

[复制链接]
发表于 2008-11-10 10:10:04 | 显示全部楼层 |阅读模式
因为使用流程环节中定义的执行者规则很慢,所以在OnCreateFlowOutTasks用代码自己添加执行者,结果发现在弹出的流转窗体中,下一个环节的执行者会重复出现,并且弹出流转窗体很慢,跟踪发现在进入OnCreateFlowOutTasks,系统已经自动根据执行者表达式把人取出来,在流程环节中把自动计算执行者打钩去掉也不行。怎么办?
回复

使用道具 举报

发表于 2008-11-10 10:19:22 | 显示全部楼层
可以先执行一下FlowTask.Executors.clear;
回复 支持 反对

使用道具 举报

发表于 2008-11-10 10:20:20 | 显示全部楼层
lFlowTask := Command.FlowTasks.FindFlowTask(ANextProcUnit);
  if lFlowTask <> nil then
  begin
    lFlowTask.Executors.Clear;   //删除缺省执行者
    lOrgURL := TOrgURL.Create(ADept, ARole, APerson);
    lFlowTask.Executors.Add(lOrgURL);
  end;
默认执行者范围1<>1
回复 支持 反对

使用道具 举报

发表于 2008-11-10 10:24:07 | 显示全部楼层
楼主用的哪个版本?
你在OnCreateFlowOutTasks 代码添加没有重复?对了,你应该是先情况执行者吧,可以参考用“OnCreateFlowOutTasks”搜索看看如何写的,要不把你的代码贴出来看看吧。
另外,你说弹出的窗体很慢,请问慢倒啥程度,给个具体的时间,例如5S还是10S
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-11-10 11:10:12 | 显示全部楼层
如果用Clear的话早就解决了,就是程序在进入OnCreateFlowOutTasks之前很慢,我测试的结果都在15s左右,好像就是系统自动获取执行者的样子。请问有什么办法禁止让系统自动获取执行者呢?流程里面把执行者规则的自动计算执行者不打钩也不行。
2936版本。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-11-10 15:44:17 | 显示全部楼层
顶一下哦,很急的,拜托了,不然流程一提交就非常慢了!
回复 支持 反对

使用道具 举报

发表于 2008-11-10 19:50:54 | 显示全部楼层
楼主,检查一下系统主窗体。
在窗体的Create事件里,注释掉这两句:
TSystemCore.FlowManager.OnCreateFlowTasks := DoOnCreateFlowTasks;
  TSystemCore.FlowManager.AfterFlowCommand := DoAfterFlowCommand;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-11-10 22:39:22 | 显示全部楼层
找到问题了,先结贴吧,谢谢!
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-27 16:56 , Processed in 0.038091 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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