起步软件技术论坛-X3

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

【搞定】怎样取得下一环节执行者?

[复制链接]
发表于 2004-4-7 14:05:40 | 显示全部楼层 |阅读模式
如何才能在流程的某一环节流转到下一环节前(例如在选择人员,点击确定后),取得下一环节的执行者信息。能提供详细实例吗?
回复

使用道具 举报

 楼主| 发表于 2004-4-7 22:17:02 | 显示全部楼层
为什么没人回答?
回复 支持 反对

使用道具 举报

发表于 2004-4-8 12:06:21 | 显示全部楼层
在需要获取执行者信息的窗体上放一个流程代理(或者直接在环节上)的AfterFlowOut 时,写:
例如:
   dialogs.ShowMessage(Command.FlowControl.Executor.DeptID);    { 操作者所在的部门}
   dialogs.ShowMessage(Command.FlowControl.Executor.PositionID);   { 操作者所在的岗位  ,岗位成员的ID}
   dialogs.ShowMessage(Command.FlowControl.Executor.PersonID);    {  操作者的ID,人员成员的ID}
   dialogs.ShowMessage(Command.FlowControl.Executor.BizURL.URL);    { 操作者的 URL}
回复 支持 反对

使用道具 举报

发表于 2004-4-8 13:55:06 | 显示全部楼层
这个问题问过好多遍了,在FAQ中有。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-4-8 14:44:15 | 显示全部楼层
ntcp的回答指的是当前任务的执行者,下一环节的执行者信息应是:
lFlowTask := command.FlowTasks.GetFlowTask(FlowBroker.FlowControl.CurrentProcUnit.SuccedentUnits[0]);  //下一环节任务
执行者DepID:lFlowTask.Executors.Items.DeptID //变量i指第i个执行者
执行者PositionID :lFlowTask.Executors.Items.PositionID
执行者PersonID lFlowTask.Executors.Items.PersonID
回复 支持 反对

使用道具 举报

发表于 2004-4-8 16:43:51 | 显示全部楼层
同意楼上的说法,下面的方法也可以
其实两种方法的核心都是一样的,通过取TFlowTask来取执行者

  for i:=0 to Command.FlowTasks.Count-1 do
  begin
    lFlowTask := Command.FlowTasks as TFlowTask;
    s := lFlowTask.Subject;
    for j:=0 to lFlowTask.Executors.Count-1 do
    begin
      lOrgURL := lFlowTask.Executors[j] as Org.TOrgURL;
      s := s+#13#10+lOrgURL.DeptID+'|'+lOrgURL.PositionID+'|'+lOrgURL.PersonID;
    end;
    Dialogs.ShowMessage(s);
  end;
回复 支持 反对

使用道具 举报

发表于 2011-9-1 16:44:04 | 显示全部楼层
如果流程中间插了一个判断环节,这么写好像不行,怎么取判断后的流程环节呢?学习~!
回复 支持 反对

使用道具 举报

发表于 2011-9-1 17:45:40 | 显示全部楼层
lFlowTask := command.FlowTasks.GetFlowTask(FlowBroker.FlowControl.CurrentProcUnit.SuccedentUnits[0].SuccedentUnits[0]); 就行了貌似
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2024-12-23 00:30 , Processed in 0.037729 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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