在代码中调用 Business.Model.Org.OrgSys.OrgSystem 的方法来计算组织机构表达式
//计算组织机构表达式,得到符合条件的组织单元的OrgURL
procedure GetOrgURLsByOrgExpr(AExpr: string; AOrgURLs: TOrgURLs);
//计算组织机构表达式,得到符合条件的组织单元的BizURL
procedure GetBizURLsByOrgExpr(AExpr: string; ABizURLs: Business.System.TStrings);
两个函数的计算都是一样的,只是返回结果的表现形式不一样了,一个是BizURL,一个是OrgURL。
var
i: Integer;
lOrgURLs: TOrgURLs;
begin
memResult.Lines.Add('');
memResult.Lines.Add('表达式:'+AExpr);
lOrgURLs := TOrgURLs.Create;
try
try
OrgSys.OrgSystem.GetOrgURLsByOrgExpr(AExpr, lOrgURLs);
if lOrgURLs.Count=0 then
memResult.Lines.Add('没有符合表达式条件的结果!')
else
memResult.Lines.Add(SysUtils.Format('共 %d 个', [lOrgURLs.Count]));
for i:=0 to lOrgURLs.Count-1 do
memResult.Lines.Add(SysUtils.Format('kind=%s%sBizURL=%s', [GetBizObjectKindStr(lOrgURLs.Kind), #9, lOrgURLs.BizURL.URL]));
except
on E: Exception do
memResult.Lines.Add('执行出错:'+E.Message);
end;
finally
lOrgURLs.Free;
end;
end; |