起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 139|回复: 8

在线等!子流程A结束后得不到子流程B的入口环节**

[复制链接]
发表于 2009-3-9 10:01:21 | 显示全部楼层 |阅读模式
我现在有这样的主流程:功能A-〉自流程A-〉子流程B-〉end
现在遇到一个问题:
在子流程A中到了子流程A的End环节以后,取不到下一个子流程B的入口环节。
流转界面能显示子流程B的入口环节,也能选择。但是我需要用代码获得子流程的功能URL
用2个方法都不能得到。
1。GetNextTasks方法,得到 lList.Count = 0
var
  lList : TList;
begin
  lList := TList.Create;
  try
    FlowBroker.FlowControl.Flow.GetNextTasks(
      FlowBroker.FlowControl.CurrentTask, lList,True);
    Result := SysUtils.UpperCase(TTask(lList[0]).FuncURL);
  finally
    lList.Free;
  end;
end;

2。用论坛上的递归调用也不能得到。lUnits.Count = 0
var
  lUnits: TList;

lUnits := TList.Create;
  try
    FindSuccedentActivityUnit(FlowBroker.FlowControl.CurrentProcUnit, lUnits);
    GNURL := SysUtils.UpperCase(TProcActivity(lUnits.Items[0]).FuncURL.URL);
    GNNM := TProcUnit(lUnits.Items[0]).DisplayName;
  finally
    lUnits.Free;
  end;

procedure TLXSQBD1.FindSuccedentActivityUnit(AUnit: TProcUnit; ASuccedentUnits: TList);
var
  i: Integer;
  lBizURL: TBizClassURL;
  lProc: TProc;
begin
  if AUnit.Kind in [TProcUnitKind.ukStart, TProcUnitKind.ukFinish] then Exit;
  if AUnit.Kind=TProcUnitKind.ukSubProc then
  begin
    lBizURL := TBizClassURL.Create;
    lBizURL.BizURL.URL := TSubProcUnit(AUnit).ProcURL.URL;
    lProc := Context.FindParentContext(BizSys.IL_GLOBAL).GetBizObject(lBizURL) as TProc;
    lBizURL.Free;
    for i:=0 to lProc.EntryActivityCount-1 do
      ASuccedentUnits.Add(lProc.EntryActivities);
  end;
  for i:=0 to AUnit.SuccedentUnitCount-1 do
  begin
    if AUnit.SuccedentUnits.Kind = TProcUnitKind.ukActivity then
      ASuccedentUnits.Add(AUnit.SuccedentUnits)
    else FindSuccedentActivityUnit(AUnit.SuccedentUnits, ASuccedentUnits);
  end;
end;
回复

使用道具 举报

 楼主| 发表于 2009-3-9 11:08:30 | 显示全部楼层
以前这2个方法都可以的获得,现在不知道设置了哪里,都不能获得。
子流程都是默认设置。主流程到第一个子流程A都正常,但是转到第2个子流程就不行了。
有没有人啊?
回复 支持 反对

使用道具 举报

发表于 2009-3-9 11:20:14 | 显示全部楼层
把你的流程图贴出来看看。
另外,到第一个子流程A都正常,但是转到第2个子流程不行,你流转的界面上能选中第2个子流程的入口功能吗?把流转的界面也一起贴出来看看
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-3-9 11:32:50 | 显示全部楼层
图片

001.png

20.98 KB, 下载次数: 88

回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-3-9 11:36:01 | 显示全部楼层
主流程

002.png

5.89 KB, 下载次数: 87

回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-3-9 11:46:46 | 显示全部楼层
第一个子流程

003.png

5.13 KB, 下载次数: 79

回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-3-9 11:55:29 | 显示全部楼层
第2个子流程

004.png

4.54 KB, 下载次数: 76

回复 支持 反对

使用道具 举报

发表于 2009-3-9 12:01:03 | 显示全部楼层
收到,这个测试一下,然后反馈结果。
回复 支持 反对

使用道具 举报

发表于 2009-3-9 16:44:32 | 显示全部楼层
跟踪代码发现,主要是判断上问题,上面的方法是适应于同一个流程之间,或者主流程到子流程的,子流程到子流程或者主流程就不一样了,正在想办法

另外,不知道楼主是否创建子流程实例,如果没有创建子流程实例,可以画到一个流程上,没有必要用主子流程
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-25 11:05 , Processed in 0.044881 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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