起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 189|回复: 5

【搞定】流程死循环问题**

[复制链接]
发表于 2007-12-5 17:31:04 | 显示全部楼层 |阅读模式
先大概描述下流程(如附件图):
1、环节A填写表单,并提交给填写人所在部门的部门经理审批
2、环节B如果通过,则继续流转;不通过,退回环节A
3、环节C是一个比较特殊的环节:流转。作用就是经手人,不做同意不同意的判断
4、环节D如果通过,则继续流转;不通过,则先退回环节C,然后由环节C再退回环节A

问题:
1、我在做流程的过程中没有用到X3平台提供的“退回”功能,我是用“条件分支环节”,并根据用户在审批的时候选择的“同意”还是“不同意”,来确定下一步的流转方向,原因不详细说了
2、环节C比较特殊:当表单是从环节B方向流转过来的时候,他要无条件的流转给环节D;当表单是从环节D方向过来的时候,他要无条件的流转给环节A,而且用户不希望手动选择流转方向,要自动判断(双进双出)
3、问题2我基本已经解决,是在“条件分支环节”的OnCalcCondition事件中根据上一步的执行人来决定下一步怎么走“Command.FlowControl.CurrentTask.SenderDeptID”。但是我不知道有没有不写代码,仅仅通过配置来实现该功能。
4、有一个最麻烦的问题:环节C也可以作为该流程的发起人,也就是说环节C也可以具有环节A的功能(因为C、D也是公司的一个部门,只要是公司部门,都有该功能),环节D因为也是本部门经理(同是“企管部经理”和“部门经理”),所以也具有环节B的功能。这样问题就出来了:当环节C在环节A的位置作为流程的发起人提起一个新的流程,当流程流转到“公司法务企管部(环节C)”的时候,仅仅靠判断“根据上一步的执行人来决定下一步怎么走”就不行了,流程就会走到C、D再也绕不出来了,成了死循环了。

谢谢。

法人授权委托书.gif

10.23 KB, 下载次数: 142

回复

使用道具 举报

 楼主| 发表于 2007-12-6 09:00:58 | 显示全部楼层
没人回答?
回复 支持 反对

使用道具 举报

发表于 2007-12-6 09:34:03 | 显示全部楼层
很长,我看了看。如果理解不对请指教。
楼主的流程问题就是有一种特殊的岗位,本部门经理 ,或者可以理解为本部门拥有管理权限的人。您都是用代码写的,就完全可以用组织机构表达式判断出是否流转人是不是他所在部门的领导。判断出来后如何流转,楼主自己做决定。
排除这种特殊情况后,其他应该没问题了吧。
回复 支持 反对

使用道具 举报

发表于 2007-12-6 09:48:30 | 显示全部楼层
不应该是根据上一环节的执行,而是应该根据上一环节的活动环节的ID来做判断。
http://bbs.justep.com/forum.php?mod=viewthread&tid=3526
http://bbs.justep.com/forum.php?mod=viewthread&tid=1196

或者根据当前任务的前一个任务的环节ID
http://bbs.justep.com/forum.php?mod=viewthread&tid=2852
回复 支持 反对

使用道具 举报

发表于 2007-12-6 09:56:32 | 显示全部楼层
[B]4、有一个最麻烦的问题:环节C也可以作为该流程的发起人,也就是说环节C也可以具有环节A的功能(因为C、D也是公司的一个部门,只要是公司部门,都有该功能),环节D因为也是本部门经理(同是“企管部经理”和“部门经理”),所以也具有环节B的功能。这样问题就出来了:当环节C在环节A的位置作为流程的发起人提起一个新的流程,当流程流转到“公司法务企管部(环节C)”的时候,仅仅靠判断“根据上一步的执行人来决定下一步怎么走”就不行了,流程就会走到C、D再也绕不出来了,成了死循环了。[/B]


楼主,环节C是环节,怎么会变成人呢。

您的第2个问题可以这么解决:
  在OnCreateFlowOutFlowTasks中来判断上一个任务是哪个环节,据此来判断如何流转。

  Command.FlowControl.Flow.Tasks.FindTaskByGUID(Command.FlowControl.CurrentTask.PrevGUID ).ProcUnitID
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-12-12 10:53:45 | 显示全部楼层
发现问题了,是我判断的东西不对,应该判断上一步任务的功能编号,我原来判断的是上一步任务的执行人

结贴吧,谢谢。
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-2 01:51 , Processed in 0.044265 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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