起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 285|回复: 11

【结贴】通知任务错误

[复制链接]
发表于 2009-12-5 11:44:24 | 显示全部楼层 |阅读模式
我用程序发送一个通知任务,接收者可以接收到通知

但是当打开这个通知的时候报告错误
因为我在这个通知打开的时候要读取这个通知任务的信息:
用到的程序是:
Memo1.Text:= FlowBroker1.FlowControl.CurrentTask.Subject;


错误如图:

未命名.jpg

9.68 KB, 下载次数: 136

回复

使用道具 举报

 楼主| 发表于 2009-12-5 11:45:33 | 显示全部楼层
发送通知的程序整体如下:
实际程序的一些区别就是人员、岗位之类的不同,主体部分都是一样的
{procedure TSHJH.SendMessage;
var
  lOrgURL: TOrgURL;
  lTask: TTask;
  taskmessage:TTaskMessage;
begin
  lTask := TTask.Create;
  lOrgURl := TOrgURL.Create('','','zck');

  lTask.Subject:='会议纪要' ;
  lTask.Kind:='ftkNotify';
  lTask.SenderDeptID :='glxx';
  lTask.SenderPositionID := 'xtgcs';
  lTask.SenderID := 'zck';
  try
    taskmessage:=lTask.TaskMessages.AddTaskMessage(nil, lOrgURl, TTaskmessagestate.tmsSend, 0, False);
    taskmessage.Task.FuncURL:= 'Biz:\OPERATION\OASPACE2\OA_MTSUMMARY_NFUNC.FUNC';
    taskmessage.Task.TaskTypeName:='会议纪要';
    taskmessage.Task.ProcURL:='Biz:\OPERATION\OASPACE2\OA_MTSUMMARYFLOW.PROC';
    taskmessage.Task.ProcUnitID:='OA_MTSUMMARY_NFUNC';
    //taskmessage.Task.FlowGUID:=dsbSummary.DataSet.FieldByName('FID').AsString ;
    taskmessage.Task.ExecuteMode:=ttaskExecuteMode.emSimultaneous;
    Flow.FlowEngine.SaveTask(lTask);
  finally
    lTask .Free;
  end;
end; }
回复 支持 反对

使用道具 举报

发表于 2009-12-5 11:55:52 | 显示全部楼层
FlowBroker1.FlowControl.CurrentTask 是否为空了?
http://bbs.justep.com/forum.php?mod=viewthread&tid=29081
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-12-5 14:52:58 | 显示全部楼层
调用的时候报告如下错误
在计算表达式的时候产生异常,类型:“EListError”,内容:
List index out of bounds (0)。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-12-5 15:03:10 | 显示全部楼层
那个帖子已经刚看过了
不太满足我的需求
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-12-5 15:04:58 | 显示全部楼层
我现在是有一个数据集
这个里面有三个记录   里面只要有一个记录做了一个选择标记   就需要发送通知
所以这个条件不知道改如何去设置   只有自己写程序发送通知
通知任务确实发过去了 就是打开的时候有问题   
请帮看看是为什么  谢谢了
回复 支持 反对

使用道具 举报

发表于 2009-12-5 15:52:13 | 显示全部楼层
楼主,你当前运行的功能,就是2楼写代码的功能是流程中的功能吗?
如果不是,那么需要用任务关联定义,创建一个通知任务类型。
就是 http://bbs.justep.com/forum.php?mod=viewthread&tid=24471

如果是,就是3楼给你的连接
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-12-7 09:03:12 | 显示全部楼层
我看那个帖子了
那个帖子给了个方法
但是并不是解决那个错误的方法
回复 支持 反对

使用道具 举报

发表于 2009-12-7 09:09:53 | 显示全部楼层
7楼给的链接中的8楼
楼上的链接(http://bbs.justep.com/showthread.php?threadid=2920 )是代码创建任务的例子:
lTask.Subject:='代码启动通知' ; //这句是设置通知主题
lTask.TaskMessages.AddTaskMessage(nil, lOrgURl, TTaskmessagestate.tmsSend, 0, False);  //这句设置接受者

但是,这段代码只能创建任务,不能让系统处理。在待办中点击通知时,会报错的。
楼主还需要用任务关联定义,创建一个通知任务类型。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-12-7 09:19:16 | 显示全部楼层
那里不是说的是如果当前发通知的功能不在流程中的时候需要设置任务关联定义
当前功能是在流程中的啊
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-13 20:39 , Processed in 0.045993 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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