|

楼主 |
发表于 2009-10-22 14:51:15
|
显示全部楼层
??
代码
function TISSUEBASICINFO.SelectRange: Boolean;
var
ASourceURLs, ASelectedURLs: TStrings; //lSelectOrgURLs
lSelectOrgURLs,lDeptURLs: TOrgURLs;
lCanSelectKinds: TBizObjectKinds;
i: integer;
lContextCurrent: TContextCurrent;
lOrgUnit: TOrgUnit;
lBizURL: TBizURL;
begin
//取当前登陆者机构
lContextCurrent := Business.Model.TContextCurrent.Create(Self.Context);
try
lOrgUnit := OrgSys.OrgSystem.GetUnit(lContextCurrent.Dept.ID, '', '');
lBizURL := lOrgUnit.BizURL; //取得机构的URL
finally
lContextCurrent.Free;
end;
dialogs.ShowMessage(lBizURL.URL);
if not RangeDataSet.Active then
RangeDataSet.Open;
ASourceURLs := TStringList.Create;
ASelectedURLs := TStringList.Create;
lSelectOrgURLs := TOrgURLs.Create;
//begin
lDeptURLs := TOrgURLs.Create;
lDeptURLs.Add(lBizURL);
//end
try
//TDataSetUtils.GetDataSetIDValues(RangeDataSet, 'FRANGEURL', ASourceURLs);
ASourceURLs.Add('Org:Root');
lCanSelectKinds := [TBizObjectKind.boOrgan, TBizObjectKind.boDept, TBizObjectKind.boPositionMember, TBizObjectKind.boPersonMember,
TBizObjectKind.boWorkGroup, TBizObjectKind.boWorkGroupMember];
{Result := TOrgSelectSearchDialog.StaticExecute(Context, ASourceURLs, TResultType.rtURLList,
ASelectedURLs, nil, DoExpendProp, Graphics.clYellow, lCanSelectKinds, True);}
Result := TSystemCore.SystemInterface.SelectOrgUnits(Context, '选择', lDeptURLs, lSelectOrgURLs, False,
[TOrgUnitKind.boPersonMember, TOrgUnitKind.boWorkGroupMember]);
for i := 0 to lSelectOrgURLs.Count - 1 do
begin
ASelectedURLs.Add(lSelectOrgURLs.items.BizURL.URL);
end;
if Result then
begin
DoAddMemberToDataSet(ASelectedURLs);
ChangeRangeText;
end;
finally
ASourceURLs.Free;
ASelectedURLs.Free;
lSelectOrgURLs.Free;
end;
end;
将当前登录者部门替换第三个参数后,执行结果如图。这并不是我要的结果,我是要这个单位及其以下部门,并且人员没有了,不能执行分配结果了。如何修改代码。
|
|