起步软件技术论坛-X3

 找回密码
 立即注册
搜索
楼主: dragonsoft

提交流程弹出流程处理窗体速度很慢!!急!!!**

[复制链接]
 楼主| 发表于 2007-10-18 17:08:13 | 显示全部楼层
没有设置权限拥有者
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-18 17:10:03 | 显示全部楼层
也保存了,也签入了,也刷缓存了,还是一样的。


procedure TFlowOutForm.RefreshFlowTaskNodes;
var
  I: Integer;
  lFlowTask: TFlowTask;
  lNode: TFlowTaskNode;
begin
  for I := 0 to FlowTaskGraph.NodeCount - 1 do
  begin
    lNode := TFlowTaskNode(FlowTaskGraph.Nodes[I]);
    if lNode.ProcUnit.Kind in Flow.SProcActivityKinds then
    begin
      lFlowTask := FlowTasks.FindFlowTask(lNode.ProcUnit);
      lNode.Selected := (lFlowTask <> nil) and (lFlowTask.Executors.Count > 0);
    end
    else
      lNode.Selected := False;
  end;
end;


跟踪了一下,发现在这边会停很久,特别是在 lNode.Selected := (lFlowTask <> nil) and (lFlowTask.Executors.Count > 0);
这一边会停很久,正常情况下第一次要近15秒,第二次之后就很快了。


你调试一下这边的,我跟踪进去就这边这个最慢。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-18 17:12:12 | 显示全部楼层
另,所有慢都是在第一次的,你测时要先把IE全部关闭,然后重新进去试才能准确
回复 支持 反对

使用道具 举报

发表于 2007-10-18 18:05:20 | 显示全部楼层
我这里这两个组织机构表达式执行起来差别很大

如果是这样就要只有两种方法了:
1  不要执行两个表达式然后and ,自己在代码中分别执行这两个组织机构表达式,在代码中执行and操作,然后定义成执行者
2 我印象你们的管理权限是直接分配在岗位上的,不是分配在组织机构的岗位成员上,建议你定义组织机构管理权限时候在岗位成员上定义,这样组织机构表达式就没有这么复杂了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-19 10:46:37 | 显示全部楼层
1、不明白什么意思,具体给个例子程序
2、这个不大可能的。因为岗位成员太多,而且各地市都不同,我们是全省的项目,这样会累死很多人。

现在在已有的东东上去改是不大现实的。所以希望你们能够提供一下做优化你们那里面代码的功能,就比如上面那段SQL,要如何优化?或在哪里优化?


另外,我们发现,在输入登录对话框中,我们要选择岗位的那个框,会调用:

UpdatePositions

这样一个过程,速度也很慢,估计跟上面这个是一样的问题,请尽快帮助解决!!!!!
回复 支持 反对

使用道具 举报

发表于 2007-10-19 14:13:30 | 显示全部楼层
这部分代码短时间内修改是不现实的

你因为定义的工作量大,所以就都把管理权限放到岗位上,这样弄出来的组织机构表达式就非常复杂了,如果定义在岗位成员上就简单很多了
回复 支持 反对

使用道具 举报

发表于 2007-10-19 14:16:39 | 显示全部楼层
第一个方法,就是在流程的OnCreateFlowOutFlowTasks事件中,代码计算
OrgChildren(OrgManager(GetProcUnitExecutorPosition('', True), '搜查_A', True), '', True, True)

GetProcUnitExecutorDept('', True)
然后,把两个表达式计算的结果在代码中找他们重合的部分。

这里计算的时候,GetProcUnitExecutorDept不能用,要通过任务找到这个环节执行者所在的部门,换成OrgKey函数,GetProcUnitExecutorPosition也是同样的道理
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-22 11:00:36 | 显示全部楼层
晕死。我把整个流程图全部删除,然后重新建立一个新的流程,只有开始,功能一,功能二,结果,没有配置任务的流程规则或通知规则,也是一样的慢。看来不是上面说的那些的原因了。

请继续帮助查一查!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
回复 支持 反对

使用道具 举报

发表于 2007-10-22 14:03:34 | 显示全部楼层
那楼主这样做一下:
装一个28xx版本,初始化一个数据库,把你这个例子和组织机构导入到28xx版本的数据库
用28xx版本执行一下看看这里的速度如何?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-22 14:35:50 | 显示全部楼层
晕死,能够升级的话早就升级了。你们的升级不支持兼容性,升上去之后不能用,很多地方出问题。所以没办法升级。

所以即使在28XX下解决了问题也是没用的。
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-6-29 04:11 , Processed in 0.039770 second(s), 12 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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