起步软件技术论坛-X3

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

【结贴】通知事件问题(紧急!)

[复制链接]
发表于 2008-4-29 09:43:55 | 显示全部楼层 |阅读模式
我需要在流程通知时,选择完要通知的人,点击确定后,能获取所有选择的人的人名,再将其赋值给某个字段.获取通知的人应该在哪个事件下写呢?
回复

使用道具 举报

发表于 2008-4-29 09:49:43 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-4-29 10:08:00 | 显示全部楼层
afternotify不行.我要的是在选择完通知人员点击确定后的事件,且通知人员还未查看之前的事件.
回复 支持 反对

使用道具 举报

发表于 2008-4-29 10:23:14 | 显示全部楼层
只能在这个事件里面了,为什么不行?看不到效果还是其它原因?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-4-29 15:19:15 | 显示全部楼层
没有其它的事件了吗.那个事件不行.我是在那个事件里从系统表取通知的人名,在那个事件里时还取不到值.走完那个事件.系统表里才保存下通知的人的名字.
回复 支持 反对

使用道具 举报

发表于 2008-4-29 15:38:37 | 显示全部楼层
可以的,
楼主在这个事件里面写了什么代码贴出来看看。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-4-29 16:10:14 | 显示全部楼层
procedure TWJSCCT.FlowBroker1AfterFlowFinish(Sender: TObject; Command: TFlowFinishCommand);
var
   qry1:TQuery;
   id:integer;
   dyr:string;
begin
   WJdsb.DataSet.Open;
   id:=WJdsb.DataSet.FieldByName('inst_id').AsInteger;
   qry1:=TQuery.Create(nil);
   qry1.ConnectionString:=BizObjConsts.cSysDatabaseConnectionString;
   qry1.CommandText:='select ttaskmessage.* from ttaskmessage join ttask on ttaskmessage.ftaskguid =ttask.fguid join TFLOWID on ttask.fflowguid=tflowid.fflowguid join  DD_WJSC on to_char(DD_WJSC.INST_ID)=tflowid.fid where inst_id=id and ttask.fkind=''ftkNotify'' and FPROCURL=''BIZ:\DMISXT\WJGL.PROC'' ';
   qry1.Params.ParamByName('oid').AsInteger:=id;
   qry1.Open;
   qry1.First;
   While not qry1.Eof do
   begin
       dyr:=dyr+qry1.FieldByName('frpersonname').AsString+'、';
       qry1.next;
   end;
   with  WJdsb.DataSet do
   begin
        edit;
        FieldByName('dy').AsString :=dyr;
        applyupdates;
   end;
   qry1.Free;
end;

我在这个事件及AfterNotify等事件里都试过了都不行.就是在事件里qry1查询时,ttaskmessage 表里还没有通知人名('frpersonname')的值,都得等事件走完后.taskmessage 表才插入值.
回复 支持 反对

使用道具 举报

发表于 2008-4-29 16:32:57 | 显示全部楼层
不要去库表里去查询
类似于:
procedure TYWLC1.ProcUnitSPAfterNotify(Sender: TObject; Command: TFlowNotifyCommand);
begin

  Business.Forms.Dialogs.Showmessage(Command.FlowTasks[0].Executors[0].PersonID);
end;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-4-29 17:12:17 | 显示全部楼层
Business.Forms.Dialogs.Showmessage(Command.FlowTasks[0].Executors[0].PersonID);
end;
这个是获取通知人员的函数吗?
回复 支持 反对

使用道具 举报

发表于 2008-4-29 17:20:02 | 显示全部楼层
这个Command.FlowTasks[0].Executors[0].PersonID只是取通知里面的第一个人的ID,楼主可以自己加循环取一下
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-13 03:36 , Processed in 0.040742 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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