起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 402|回复: 12

【结帖】老调重弹:人员删除**

[复制链接]
发表于 2008-3-5 11:39:37 | 显示全部楼层 |阅读模式
通过system 用户进入系统后,在人员节点处删除某个人后
想执行自己的操作。但是 actDeleteExecute 函数内的执行过程中
如何判断用户被删除了呢?
BizSysUtils.DeleteBizObject(CurrentBizNodes, True);   
这句执行没有返回结果。
整个procedure TMAINFORM.actDeleteExecute(Sender: TObject);
函数内写的这些感觉写的非常牵强。最好是能在
BizSysUtils.DeleteBizObject(CurrentBizNodes, True);  这个函数执行后,返回一个执行结果,通过执行结果来判断是否要刷新或给使用者留下变更的条件。
麻烦给个方式,如何判断人员在 actDeleteExecute 函数内被删除了?
回复

使用道具 举报

 楼主| 发表于 2008-3-5 13:57:59 | 显示全部楼层
人呢!怎么搞的,这么长时间都没有人回复!工作效率这么低下
回复 支持 反对

使用道具 举报

发表于 2008-3-5 14:43:22 | 显示全部楼层
楼主实说我们DeleteBizObject函数不好么?
这个函数就是删除人员的啊,执行完了就删除了,问什么还要判断人员在 actDeleteExecute 函数内被删除了?
楼主想要在删除人员后做什么呢?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-5 14:45:08 | 显示全部楼层
大哥!DeleteBizObject函数执行的时候弹出一个对话框,问你是或否,我点否了!这个函数也没有返回值,我咋知道人被删除还是没有删除呀
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-5 15:10:35 | 显示全部楼层
procedure TMAINFORM.actDeleteExecute(Sender: TObject);
var
  lRefresh: Boolean;
  lParentFile: String;
  lPersonID:string;
begin

  lParentFile := CurrentBizNode.Parent.BizURL.FileName;
  lRefresh :=  CurrentBizNode.NodeKind in [TBizObjectKind.boPerson, TBizObjectKind.boPosition];

  BizSysUtils.DeleteBizObject(CurrentBizNodes, True);


  if lRefresh then  //由于岗位和人员删除时同时删除的其成员,但没有通知到组织机构的缓存中所以要刷新一下。
  begin
    Org.OrgSys.OrgSystem.RefreshCache;
  end;

  FileSys.FileSystem.Refresh(lParentFile, False);
  FDeptManager.ReloadOrgURLs;
  TCommonFunc.OrgChanged;
end;
在这个函数内,如果人员被删除了,执行我的函数!问题是,这个函数有一个问题,就是会弹出一个对话框来询问是否删除,如果点是了没有啥好说的,我就直接可以在这个函数内任何位置加入我的代码;但如果选择否,这个函数好像就不能那么随便添加我的函数了。而且这个函数整体上有个问题:就是不管你点不点是或否,都会执行目录树刷新!感觉不是很好,这个问题只是我的建议和看法。
但这个函数整体上,是不是还应该有个判断函数呢,这样我就可以利用这个函数事件来进行我的业务功能实现了。不知道我说的明不明白。
不知道你们是不是很忙呀,这样的问题还用说吗? 说的实在点,你们这个DeleteBizObject过程做的,不是很好!如果换成我,我会做成个函数返回一个结果来给调用者,这样调用者就可以根据返回结果来判断是否要刷新目录树或添加其他辅助业务功能!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-5 15:57:47 | 显示全部楼层
人呢 又休息了!你们工作很爽呀
回复 支持 反对

使用道具 举报

发表于 2008-3-5 16:12:09 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-5 16:20:10 | 显示全部楼层
NO7 :
我的意思不是这个问题:我的问题是,我要在用户点击删除时,执行删除对象后(还采用现有的,不是加入强制删除),执行我的业务功能!不是你给我看的!我需要这个对话框。难道这么简单问题 说的不够清晰吗?
如果执行你说的这个代码,连提示的机会都没有了,用户还是会让我们加上的,哪有点击删除就直接删除的,如果该角色是个重要角色,岂不是很不人性化?
回复 支持 反对

使用道具 举报

发表于 2008-3-5 16:21:40 | 显示全部楼层
那你可以在点击删除这个操作的时候给出提示啊,不一定非要用那个函数来进行提示。
另外,这个函数是底层提供出来的,我也改不了,只能当作需求提出来,然后再后续版本中实现。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-5 16:28:15 | 显示全部楼层
那你就说,实现不了得了!
这个函数写的,简直看不出有什么水平,目录强制刷新本身就是降低效率的,何况用户还有否的机会,不一定非要刷新!用函数没有返回,那弹出对话框有何用呢!
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-8 06:42 , Processed in 0.042587 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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