起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 998|回复: 3

[分享]功能或者工作台对流转事件的截获(x3平台消息的应用)

[复制链接]
发表于 2008-8-13 13:39:04 | 显示全部楼层 |阅读模式
关键字:
流程 流程事件 业务消息 截获

说明:
可以利用业务消息(TBizMessage)机制,在系统中任意位置截获流程动作,完成业务需求。

我们可以参考
业务模型\系统空间\系统运行库\系统核心库\系统消息接收
TFlowAfterFlowCommandBizMessageHandler类的应用
从而做成自己的流程消息截获。

例子:
uses
   Business.Model.Flow, ……
type
  //自定义消息处理对象
TFlowAfterFlowCommandBizMessageHandler = class(TBizMessageHandler)
  protected
    //自定义消息处理动作
    procedure DoExecute(AMessage: TBizMessage; const AParam: THandleParam; var Handled: Boolean); override;
  public
        tmpForm:TFormDoc;
  end;

  //表单文档,截获业务消息的位置
  TKBBD1 = class(TFormDoc)
    .....
     FFlowAfterFlowCommandBizMessageHandler: TFlowAfterFlowCommandBizMessageHandler;
  public
    {public declarations}
  end;

//实现
procedure TKBBD1.FormDocCreate(Sender: TObject);
begin
  FFlowAfterFlowCommandBizMessageHandler := TFlowAfterFlowCommandBizMessageHandler.Create;
  FFlowAfterFlowCommandBizMessageHandler.tmpForm:=self;
  BizSys.GlobalContext.AddMessageHandler(Flow.BM_AFTERFLOWCOMMAND, FFlowAfterFlowCommandBizMessageHandler);//我们要截获流程命令后的事件BM_AFTERFLOWCOMMAND
end;

procedure TKBBD1.FormDocDestroy(Sender: TObject);
begin
    BizSys.GlobalContext.RemoveMessageHandler(Flow.BM_AFTERFLOWCOMMAND, FFlowAfterFlowCommandBizMessageHandler);
     FFlowAfterFlowCommandBizMessageHandler.free;
end;
procedure TFlowAfterFlowCommandBizMessageHandler.DoExecute(AMessage: TBizMessage; const AParam: THandleParam;
      var Handled: Boolean);
var
  lCommand: TFlowTaskCommand;
begin
  lCommand := TFlowTaskCommand((AMessage as TFlowCommandMessage).FlowCommand);

  case lCommand.ID of
    Flow.FLC_FLOWOUT://流转后执行
           TKBBD1(tmpForm).Label1.Caption:=sysutils.DateTimeToStr(sysutils.Now);
//    Flow.FLC_FLOWBACK:
//      ;
//  Flow.FLC_FLOWTRANSMIT:
//  ;
//   Flow.FLC_FLOWNOTIFY:;
  end;
  Handled := false;
end;
回复

使用道具 举报

 楼主| 发表于 2008-8-13 13:42:03 | 显示全部楼层
附件

flowaftermessage.rar

1.27 MB, 下载次数: 210

回复 支持 反对

使用道具 举报

发表于 2008-8-13 14:43:38 | 显示全部楼层
收到
回复 支持 反对

使用道具 举报

发表于 2011-11-29 09:32:34 | 显示全部楼层
好东东,marker
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2024-12-22 19:10 , Processed in 0.042624 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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