起步软件技术论坛-X3

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

【搞定】急!流程流转的问题?**

[复制链接]
 楼主| 发表于 2007-3-31 14:32:40 | 显示全部楼层
procedure TJDSHXX.abortAllTask(const aFlowGUID:string);
const USQL:string=
     'Update  TTASKMESSAGE set FSTATE=''tmsAborted'' where  TTASKMESSAGE.FTASKGUID in '
    +'( SELECT TTASKMESSAGE.FTASKGUID '
    +'FROM TFLOWID, TTASK, TTASKMESSAGE '
    +'WHERE TTASK.FFLOWGUID = TFLOWID.FFLOWGUID '
    +'and TTASKMESSAGE.FTASKGUID = TTASK.FGUID '
    +'and TFLOWID.FFLOWGUID=''%s'') ';
var

我直接用上面的sql语句实现中止一个流程下的所有任务。这样所有环节的在工作台的任务都会消失掉。

不过通知还是收不到。
这是“带动办”审批时的代码(我没有执行中止流程,但通知依然没有)
procedure TYJDSH.SpeedButton1Click(Sender: TObject);
begin
  if flowBroker1.flowControl<>nil then
  begin
    flowBroker1.flowControl.flowOut(nil);
  //结束所有任务
    JDSHXX.TJDSHXX(Info_JDSH.info).abortAllTask(FlowBroker1.FlowControl.CurrentTask.FlowGUID);
end;
end;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-3-31 15:07:22 | 显示全部楼层
谢谢,
搞定了。 是上面的sql把通知类型的任务都结束了。加个 ''ftkNotify'')过滤就可以了。
现在全部任务都删除了,而且通知也可见了。
就是不知道有没其它后遗症,这样乱abort -_-|| 希望没有

可以结帖了

procedure TJDSHXX.abortAllTask(const aFlowGUID,aExceptTaskId:string);
const USQL:string=
     'Update  TTASKMESSAGE set FSTATE=''tmsAborted'' where  TTASKMESSAGE.FTASKGUID in '
    +'( SELECT TTASKMESSAGE.FTASKGUID '
    +'FROM TFLOWID, TTASK, TTASKMESSAGE '
    +'WHERE TTASK.FFLOWGUID = TFLOWID.FFLOWGUID '
    +'and TTASKMESSAGE.FTASKGUID = TTASK.FGUID '
    +'and TFLOWID.FFLOWGUID=''%s'' and TTASK.FKIND <> ''ftkNotify'') ';
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2024-12-28 20:23 , Processed in 0.038774 second(s), 14 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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