起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 2208|回复: 0

根据人员ID,代码获得他(她)机构(部门、岗位)列表

[复制链接]
发表于 2005-1-5 16:22:42 | 显示全部楼层 |阅读模式
可以根据对象的BIZURL判断对象的类型,是部门还是机构还是个人
procedure TMainForm.Button1Click(Sender: TObject);
var
  lBizUrl: TBizUrl;
  lPersonMembers: TList;
  lOrgUnit: TOrgUnit;
  lPersonMember: TOrgUnit;
  li: integer;
  lFileName: TFileName;
begin
  lPersonMembers := TList.Create;
  lBizUrl := TBizUrl.Create;
  lBizUrl.URL :='Org:\PERSON\test.psn';
  try
    OrgSys.OrgSystem.GetPersonMembers('test', lPersonMembers); // 当前人员ID为test
    for li := 0 to lPersonMembers.count-1 do
    begin
      lPersonMember := TOrgUnit(lPersonMembers.Items[li]);
      OrgTypeName(lPersonMember.Parent.BizURL);
      Dialogs.ShowMessage(lPersonMember.Parent.ID);  //岗位
   OrgTypeName(lPersonMember.Parent.Parent.BizURL);
      Dialogs.ShowMessage(lPersonMember.Parent.Parent.ID); //部门
   OrgTypeName(lPersonMember.Parent.Parent.parent.BizURL);
      Dialogs.ShowMessage(lPersonMember.Parent.Parent.Parent.ID); //机构
    end;
  finally
    lBizUrl.Free;
    lPersonMembers.Free;
  end;

end;
//用于判断机构对象类型的方法
procedure TMainForm.OrgTypeName(lBizUrl: TBizUrl);
begin
  case BizSys.BizSystem.GetObjectKind(lBizURL) of
   TBizObjectKind.boDept: dialogs.ShowMessage('dept');
   TBizObjectKind.boOrgan: dialogs.ShowMessage('organ');
   TBizObjectKind.boOrgRoot: dialogs.ShowMessage('orgroot');
   TBizObjectKind.boPosition: dialogs.ShowMessage('Position');
   TBizObjectKind.boPositionRoot: dialogs.ShowMessage('Positionroot');
   TBizObjectKind.boPerson: dialogs.ShowMessage('Person');
  end;
end;
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2024-12-22 18:07 , Processed in 0.043037 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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