起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 870|回复: 0

如何获取后继活动环节的列表

[复制链接]
发表于 2004-10-13 16:40:33 | 显示全部楼层 |阅读模式
要想获取当前环节的后继环节,由于流程还没有流转到下一个环节,无法从流程实例(TFlow)中得到,需要通过过程模型(TProc)获取当前环节的继活动环节。

函数声明:function GetSuccedentUnits(AUnits: TList; AInKinds: TProcUnitKinds; AStopKinds: TProcUnitKinds):Boolean;

命名空间:Business.Model.Flow

函数作用:获取流程环节符合条件的后继环节,这里不是单一的下一个环节,而是所有符合条件的后继环节。

参数说明:
1、返回值:布尔类型,表示是否有返回结果;
2、AUnits:返回符合条件的环节,每一个Item都是一个环节(TProcUnit);
3、InKinds:返回的流程环节应该包含的环节类型,此类型之外都是不返回的;
4、AStopKinds:找到哪一种类型的后继环节结束。


Uses
  Business.Model.Flow,Business.Model.Org
procedure TMainForm.GetSuccedentUnits();
var
  I: Integer;
  lUnits: TList;
begin
  lUnits := TList.Create;
  try   
    FlowDDLR.FlowControl.CurrentProcUnit.GetSuccedentUnits(lUnits,
      [TProcUnitKind.ukActivity], [TProcUnitKind.ukActivity]);  // ukActivity表示活动环节
    AComboBox.Items.Add('下一活动环节列表');
    for I := 0 to lUnits.Count - 1 do
    begin
      AComboBox.Items.Add(TProcUnit(lUnits[I]).ID);   //环节列表中的环节ID
      AComboBox.Items.Add(TProcUnit(lUnits[I]).DisplayName);  
    end;
  finally
    lUnits.Free;
  end;
  AComboBox.ItemIndex:=0;
end;


程序示例:BusinessFAQ\业务流程\业务流程功能\订单录入
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2024-12-23 05:59 , Processed in 0.038120 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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