起步软件技术论坛-X3

 找回密码
 立即注册
搜索
123
返回列表 发新帖
楼主: Crazy_wen2006

【结贴】[请求]怎么取当前登陆者所在部门的全体成员**

[复制链接]
发表于 2008-9-26 14:19:45 | 显示全部楼层
如果这些存到表中的字段时候就用sql语句distinct就可以,如果存成字符串就循环判断一下是否存在同名,有就不存了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-9-26 15:45:22 | 显示全部楼层
procedure TKQBD.buttononclick(Sender: TObject);   
var
   Os:Business.Model.Org.TOrgSystem;
   olist:Business.Model.Org.TOrgURLs;
   i:integer;
   lDept: Business.Model.Org.Torgunit ;
   lOrgUnit :Business.Model.Org.Torgunit;
   lBizUrl :TBizURl;
begin  
olist:= Business.Model.Org.TOrgURLs.Create;
     os:=   Business.Model.Org.TOrgSystem.Create;
     lBizUrl :=TBizUrl.Create;
     os.GetOrgURLsByOrgExpr('OrgChildren(orgkey(''dqzy'','''',''''),orgcondition(''*.psm'','''',''''),true,false)',olist);
     for i:=0 to olist.Count-1 do
     begin
       lbizurl.URL := olist.BizURL.URL ;
       lOrgUnit :=org.OrgSys.OrgSystem.GetUnit(lBizURL);
       dsbm.DataSet.Append;
       dsbm.DataSet.FieldByName('xm').asstring:=lOrgUnit.DisPlayName;
       dsbm.DataSet.ApplyUpdates;
      end;
      os.free;
      olist.free ;
      lBizUrl.Free;
     end;
我的代码是这样写的,取出的姓名存在datagrid中以字符串形式存成一列,因为我部门下面还有部门,有的人在多个下面,所以取的时候会出现重复的。应该把上面代码怎么改进,能实现只取本部门下的人员,不取下一级部门下的成员,且不重复,谢谢
回复 支持 反对

使用道具 举报

发表于 2008-9-26 16:00:08 | 显示全部楼层
应该把上面代码怎么改进,能实现只取本部门下的人员,不取下一级部门下的成员,且不重复,谢谢
-----
修改组织机构公式
------------

有的人在多个下面,所以取的时候会出现重复的。
------------------
用人员的id去对比
回复 支持 反对

使用道具 举报

发表于 2008-10-13 11:54:02 | 显示全部楼层
楼主还有问题么?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-10-14 13:15:28 | 显示全部楼层
结贴,谢谢诶
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-23 15:25 , Processed in 0.038431 second(s), 12 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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