目前可以通过SQL语句来实现,SQL参考如下:
SELECT OS.FDISPLAYNAME, OI.FVALUE AS FFUNCURL FROM TORGSYSTEM OS, TORGINDEX OI WHERE OS.FKIND IN ('.PTM','.PTN', '.PSM') AND OI.FGUID = OS.FGUID AND OI.FID = 'OrgUnit.FuncRef'
SELECT OS.FDISPLAYNAME, OI.FVALUE AS FFUNCURL FROM TORGSYSTEM OS, TORGINDEX OI WHERE OS.FKIND IN ('.PSM','.PTN', '.PSM') AND OI.FGUID = OS.FGUID AND OI.FID = 'OrgUnit.FuncRef'
上面两个SQL包括岗位和岗位成员上分配的所有功能。其中FFUNCURL 字段是存储功能的URL,不是实际的功能的显示名称
如果需要取得实际得功能名称,再处理一下就可以了(循环一下上面SQL取出来的记录)
参考代码如下:
var
lBizURL : TBIzURL;
begin
lBizURL := TBIzURL.Create;
lBizURL.URL := 'Biz:\YWKJ1\LC1RKFunc.Func'; //传入功能得BizURL,即字段FFUNCURL,且加上'Biz:'就可以了
caption := TCommonComponentLibrary.UserSystem.FileNameToDisplayFileName(lBizURL.FileName); //取功能的位置
end;
这段代码需要引用一下:系统空间 - 用户界面基础 - 公共组件库,这个方法(TCommonComponentLibrary)是在这个公共资源集里
也可以通过BizSys.BizSystem.FileName2URL 或者 BizSys.BizSystem.URL2FileName 的方法来进行功能URL和位置的转换。 |