起步软件技术论坛-X3

 找回密码
 立即注册
搜索
12
返回列表 发新帖
楼主: dupit

子流程某环节如何获得主流程某环节的执行者?**

[复制链接]
发表于 2009-1-16 17:04:37 | 显示全部楼层
这个帖子好像回复的有点乱了,我回复一下我问的东东吧

回复3楼的 顺便问下,为什么要在自己的业务数据表中,存放环节执行者,有什么用途?
如果有,那么直接读取自己的业务表就可以了。


回复8楼
如果子流程不通过主流程启动。那么跟主流程就没有关系,那么肯定就取不到主流程的一些东东,像某个环节的执行者了,
不知道楼主在实际运行过程中,怎么判断是通过主流程过来的,还是直接子流程自己从入口过来的,
其实我个人觉得分两个流程来做,一个就是把现在的子流程直接画到主流程上,还有一个就是现在的子流程,没有必要用主子流程

另外,因为今天开年会,周一给你答复吧。回头我跟 shangxy 和 zfang 沟通一下,他们的意思,然后我们再跟贴
回复 支持 反对

使用道具 举报

发表于 2009-1-19 09:04:19 | 显示全部楼层
to楼主:5楼的代码是子流程中去取主流程中某个环节的执行者的。
回复 支持 反对

使用道具 举报

发表于 2009-1-19 09:13:51 | 显示全部楼层
回10楼,具体的代码放在哪里,取决于你要控制子流程的哪个环节的执行者,如果是在子流程的入口,那你就要在进入子流程前的那个主流程环节的CreateFlowOutFlowTasks事件中处理(如果是子流程的入口的执行者控制,那就不要5楼那段代码了,我5楼的代码是控制子流程中的第二个环节的执行者的)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-1-19 11:06:42 | 显示全部楼层
取 子流程的入口的执行者 为主流程中某环节的的执行者。。。
给个相关的代码。
回复 支持 反对

使用道具 举报

发表于 2009-1-19 11:10:55 | 显示全部楼层
参考代码如下,在子流程入口环节的前一个环节做处理(就是主流程调用子流程的前一个环节)
至于怎么给执行者楼主自己做处理吧(思路:根据环节找任务)
procedure TMAINFORM.FlowBroker1CreateFlowOutFlowTasks(Sender: TObject; Command: TFlowOutCommand);
var
  lSubFlowTask,lFlowTask: TFlowTask;
  lOrgSytem: TOrgSystem;
begin
//在主流程中,控制子流程的入口的执行者
  lFlowTask := Command.FlowTasks.FindFlowTask('Z_ZLC');    //主流程中的子流程环节名
  lSubFlowTask := lFlowTask.Children.FindFlowTask('ZLCSH');//子流程中的入口环节名
  lOrgSytem := TOrgSystem.Create;
  try
     lSubFlowTask.AllowExecutors.Clear;
      if Assigned(lSubFlowTask) then
        lOrgSytem.GetOrgURLsByOrgExpr('OrgKey('+'BM1'+','+'GW1'+','+ 'ry2'+')',lSubFlowTask.AllowExecutors);
  finally
    lOrgSytem.Free;
  end;
end;
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-28 15:11 , Processed in 0.047667 second(s), 14 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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