起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 403|回复: 1

【搞定】有关流程通知的问题**

[复制链接]
发表于 2007-1-11 13:24:06 | 显示全部楼层 |阅读模式
发送通知的方法如下:
static procedure TTaskFunctionLibrary.NotifyFlowTask(ATask:TTask;AFuncURL,ASubject,
         ARecieveDept,ARecievePosition,ARecievePerson,ASenderDept,ASenderPosition,
         ASenderPerson:string);
var
  lOrgURL : TOrgURL;
  lTask   : TTask;
  lTaskBizData : TTaskBizData;
  lTaskBizDataRec : TTaskBizDataRec;
begin
  lTask := TTask.Create;

  {任务接受者}
  lOrgURl := TOrgURL.Create(ARecieveDept, ARecievePosition, ARecievePerson);
  lTask.FlowGUID:=ATask.FlowGUID;
  lTask.ProcURL:=ATask.ProcURL;
//  lTask.ProcUnitID:=ATask.ProcUnitID;

  {任务业务关联数据定义}
  lTask.BizDatas.Assign(ATask.BizDatas);//设置业务数据与任务关联关系, 保存任务业务关联信息到‘系统空间\系统数据库\任务业务数据表’
  try
    {任务信息的定义}
    lTask.Subject := ASubject;
    lTask.Kind:= 'ftkNotify';
//    lTask.TaskType:=ATask.TaskType;
//    lTask.TaskTypeName:=ATask.TaskTypeName;
    lTask.FuncURL := AFuncURL;                   //处理任务的功能
    lTask.SenderDeptID := ASenderDept;
    lTask.SenderPositionID := ASenderPosition;
    lTask.SenderID := ASenderPerson;

    lTask.TaskMessages.AddTaskMessage(nil, lOrgURl, TTaskmessagestate.tmsSend, 0,
      False);                                    //添加到任务列表

    {保存任务}
    Flow.FlowEngine.SaveTask(lTask);             //保存任务信息到‘系统空间\系统数据库\任务表’,任务消息到‘任务消息表’
  finally
    lTask .Free;
    lOrgURL.Free;
  end;
end;


在流程结束时,调用以上方法发送通知
procedure TJKSP.FlowBrokerBeforeFlowFinish(Sender: TObject; Command: TFlowFinishCommand);
var
  lCurOper:TOperator;
begin
  Inherited;
  TJKD(MainInfoBroker.Info).Checkout(False);
  lCurOper:=SystemUtils.TContextUtils.GetOperator(Context);
  TaskFunctionLibrary.TTaskFunctionLibrary.NotifyFlowTask(
    Command.FlowControl.CurrentTask,'Biz:\ECIS\JKSPTZ.FUNC',
    '您的借款申请已通过审批,单号为:'+
    TJKD(MainInfoBroker.Info).DataSetMData.FieldByName('bill_code').AsString,
    '','',TJKD(MainInfoBroker.Info).DataSetMData.FieldByName('maker_id').AsString,
    lCurOper.DefaultPosition.DeptID,lCurOper.DefaultPosition.PositionID,lCurOper.ID);
end;

问题是:
在流程定义中未定义通知规则.
我要求打开通知的功能是代码中指定的'Biz:\ECIS\JKSPTZ.FUNC',
但是,实际打开的是发送通知的流程环节的功能.
请问如何解决?
回复

使用道具 举报

 楼主| 发表于 2007-1-11 14:11:57 | 显示全部楼层
自己已搞定,
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2024-12-23 09:47 , Processed in 0.037610 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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