起步软件技术论坛-X3

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

【结贴】非流程通知如何发送给部门

[复制链接]
发表于 2008-7-10 12:05:09 | 显示全部楼层 |阅读模式
代码生成了通知,希望能发送给某部门下的所有人员。
VAR
  lOrgURL: TOrgURL;
  lTask: TTask;
  taskmessage:TTaskMessage;
begin
  lTask := TTask.Create;
  lOrgURl := TOrgURL.Create('03171001','','');

  lTask.Subject:='某某缺陷消缺' ;
  lTask.Kind:='ftkNotify';
  lTask.SenderDeptID :='03171002';
  lTask.SenderPositionID := '0317100201';
  lTask.SenderID := 'cgy_yuejh';
    try
      taskmessage:=lTask.TaskMessages.AddTaskMessage(nil, lOrgURl, TTaskmessagestate.tmsSend, 0, False);   //添加到任务列表
   taskmessage.Task.FuncURL:= 'BIZ:\LCCSKJ\BZCKQRQX.FUNC';
      taskmessage.Task.TaskTypeName:='变电缺陷验收通知';
      taskmessage.Task.ProcURL:='BIZ:\LCCSKJ\QXSBLC.PROC';
      taskmessage.Task.ProcUnitID:='QXSHBFF';
       taskmessage.Task.FlowGUID:='8B3F0900B135419CB5F5D7428167DCC3';
  taskmessage.Task.ExecuteMode:=ttaskExecuteMode.emSimultaneous;

      //添加到任务消息列表里
   Flow.FlowEngine.SaveTask(lTask);   //保存任务
  finally
    lTask .Free;
  end;
end;
生成的通知只能在任务中心下通过‘本部门’过滤才能显示出来,怎样才能让每个人都能收到一条通知呢?
回复

使用道具 举报

发表于 2008-7-10 13:31:07 | 显示全部楼层
那就要把这个部门下的所有的人员成员都加载到接收者列表中就可以了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-7-10 14:08:43 | 显示全部楼层
taskmessage.Task没有executer属性,请问有参考代码吗?
回复 支持 反对

使用道具 举报

发表于 2008-7-10 14:31:25 | 显示全部楼层
每一个taskmessage对应一个任务接受人,你需要创建多个taskmessage

不过,楼主,你这样创建的任务能构打开处理吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-7-10 14:45:47 | 显示全部楼层
创建多个taskmessage,那是不是会在ttask表中增加多条记录?
能打开,处理后有些问题。
我是参考别的帖子做的,有新的方法了?
回复 支持 反对

使用道具 举报

发表于 2008-7-10 15:56:25 | 显示全部楼层
不会创建多条task记录
会创建多条taskmessage记录
回复 支持 反对

使用道具 举报

发表于 2008-7-10 16:02:14 | 显示全部楼层
http://bbs.justep.com/forum.php?mod=viewthread&tid=10261   14楼
主要处理  taskmessage:=lTask.TaskMessages.AddTaskMessage(nil, lOrgURl, TTaskmessagestate.tmsSend, 0, False);   //添加到任务列表
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-7-10 16:23:26 | 显示全部楼层
流程通知规则中的执行者范围可以设置为某一个部门,该部门下每个人都能收到一条通知,
在通知确认窗体中也能选择通知的执行人,这与活动环节任务类似。为什么通知却没有类似ExecutorRange的属性?
回复 支持 反对

使用道具 举报

发表于 2008-7-10 16:35:00 | 显示全部楼层
流程通知规则中的执行者范围可以设置为某一个部门,该部门下每个人都能收到一条通知,
不管是任务还是通知,如果发到部门,那么部门下的所有人员成员,看到的是一条;如果要每个人看,那么需要设置表达式,取某个部门的所有人员成员,这可以 看 http://bbs.justep.com/forum.php?mod=viewthread&tid=24357    25楼的说明。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-7-10 16:52:34 | 显示全部楼层
已基本实现需求。但如果不给下面的四个属性赋值,在打开或处理时会报错。
   taskmessage.Task.FuncURL:= 'BIZ:\LCCSKJ\BZCKQRQX.FUNC';
      taskmessage.Task.ProcURL:='BIZ:\LCCSKJ\QXSBLC.PROC';
      taskmessage.Task.ProcUnitID:='QXSHBFF';
       taskmessage.Task.FlowGUID:='8B3F0900B135419CB5F5D7428167DCC3';
1楼代码硬性生成的非流程通知总觉得不大合理,像类似需求是否有更好的方法呢?
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-19 22:37 , Processed in 0.039414 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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