procedure TWLWHD.SetPersons();
var
//循环变量
index:integer;
lOrgSystem:Org.TOrgSystem;
lOrgURLs:Org.TOrgURLs;
//当前环境实例
lContextCurrent:TContextCurrent;
//组织单元
person:Business.Model.Org.TOrgUnit;
//'创建者'下拉列表项实例
objPerson:TPerson;
begin
try
//获取系统所有操作者的URL
lOrgURLs := Org.TOrgURLs.Create;
lOrgSystem := Org.TOrgSystem.Create;
lOrgSystem.GetOrgURLsByOrgExpr(Org.OrgExpr.OrgSelect(Org.OrgExpr.OrgCondition('*.PSM','','')),lOrgURLs);
//根据操作者URL获取操作者信息(名称)填充表单中创建者下拉列表
objPerson := TPerson.Create;
cmbCreator.Items.Clear;
for index := 0 to lOrgURLs.Count - 1 do
begin
person := lOrgSystem.FindUnit(lOrgURLs.Items[index].BizURL);
objPerson.ID := person.ID;
cmbCreator.Items.AddObject(person.DisplayName, objPerson);
end;
//创建当前环境实例
lContextCurrent := Business.Model.TContextCurrent.Create(self.Context);
//将当前操作者填充为表单中创建者控件的显示内容
cmbCreator.ItemIndex := cmbCreator.Items.IndexOf(lContextCurrent.Operator.DisplayName);
//personID := lContextCurrent.Operator.ID;
finally
//objPerson.Free;
lOrgURLs.Free;
lOrgSystem.Free;
lContextCurrent.Free;
end;
end; |