起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 290|回复: 13

【结帖】[新版]通知对话框

[复制链接]
发表于 2008-6-24 16:07:28 | 显示全部楼层 |阅读模式
有通知对话框,对话框里面也有通知接受者,一切正常,也不报错,但是在点了通知对话框上的确定之后,这条通知并没有发出去,因为在发通知的人的提交任务里面没有这条通知,在通知接受者的待办任务里面也没有这条通知,在数据库的表里面也没有这条通知的记录,但是在FlowBroker1AfterNotify事件里面却可以得到这个通知接受者的ID,为什么会这样呢?要怎么处理呢?哪位碰到过?

未命名.jpg

32.42 KB, 下载次数: 130

回复

使用道具 举报

发表于 2008-6-24 16:10:06 | 显示全部楼层
通知规则的功能环节属性设置了没有呢?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-24 16:12:07 | 显示全部楼层
设了,这个是我的通知代码         
Command.FlowTasks.Clear;
          Command.FlowTasks.Add;
          Command.FlowTasks.Items[0].FuncURL.URL:='Biz:\JXKH\KPI_NOTICE_FUN.FUNC';
          Command.FlowTasks.items[0].ExecutorMustBeFuncOwner:=false;
          Command.FlowTasks.items[0].ExecutorAmount:=TTaskExecutorAmount.teaMulti;
          Command.FlowTasks.Items[0].Subject:='上级评分通知1231231:';
          Command.FlowTasks.items[0].ExecutorRange:='OrgChildren(orgkey(''HRNQ'',''RLZYBZG'',''''), '''', False, False)';
回复 支持 反对

使用道具 举报

发表于 2008-6-24 16:33:18 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-24 17:45:27 | 显示全部楼层
我的目的是通过部门、岗位来找人员的id,或者是用orgchildren来得到这个岗位的人(用代码实现),我不能事先得到人员的id,
回复 支持 反对

使用道具 举报

发表于 2008-6-24 18:28:33 | 显示全部楼层
楼主,为什么要执行这两句呢?
Command.FlowTasks.Clear;
Command.FlowTasks.Add;

你直接设置Command.FlowTasks.items[0].Executors不就可以了吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-25 10:25:47 | 显示全部楼层
你不会是要我用Command.FlowTasks.items[0].Executors.Add('部门ID', '岗位ID', '人员ID');吧??????我要用执行者表达式来做,因为我得不到'人员ID',而且用这个方法的话’人员ID’如果为空或者是表达式的,就会报错哦!!或者你可以告诉我怎么根据'部门ID', '岗位ID', 得到'人员ID'也行啊!
回复 支持 反对

使用道具 举报

发表于 2008-6-25 10:38:16 | 显示全部楼层
哦,楼主可以用
NameSpace: Business.Model.Org    ClassDelcare: Business.Model.Org.TOrgSystem
--------------------------------------------------------------------------------
procedure GetBizURLsByOrgExpr(AExpr: string; ABizURLs: Business.System.TStrings);
来执行组织机构表达式,得到下属人员成员的Url,然后直接向Executors添加执行者url
NameSpace: Business.Model.Org
--------------------------------------------------------------------------------
TOrgURLs = class(Business.System.TObjectList)
public
  constructor create; overload;
  constructor create(AOwnsObjects: Boolean); overload;
  function Add(ABizURL: Business.Model.TBizURL): Longint; overload;
  function Add(AOrgURL: TOrgURL): Longint; overload;
  function Add(ADeptID: string; APositionID: string; APersonID: string): Longint; overload;
  procedure Assign(Source: TOrgURLs);
  property Items[Longint]: TOrgURL;
end;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-25 15:01:56 | 显示全部楼层
IBizUrl:=TStringList.Create;
OrgSys.OrgSystem.GetBizURLsByOrgExpr('OrgChildren(orgkey(''HRNQ'',''RLZYBZG'',''''),'''' ,false,false)',IBizUrl);
Command.FlowTasks.Items[0].Executors.Add(IBizUrl);
IBizUrl.Free;这是我的代码,报错:组织节点[部门:, 岗位:, 人员:]不存在,怎么调试啊?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-25 15:04:10 | 显示全部楼层
我的表达式:OrgChildren(orgkey('HRNQ','RLZYBZG',''),'' ,false,false)经过校验了的,没有问题
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-18 16:25 , Processed in 0.047174 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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