报错的情况是这样的:
用户没有知识中心的总权限,但有知识中心部份子目录的权限。
如果用SYSTEM给用户加上知识中心的浏览及以上的权限,就不会报错。
我们的代码如下:
procedure TBLJZCT.SearchDoc(const AText: string;const FText: string);
var
lParam: string;
lDocType: string;
begin
//临时方案,解决点GO后报错找不到"文档\知识中心"的授权环境
if Business.Document.DocAccessUtils.FindOperatorPosition('Doc:\DOC', Context, TDocAccessKind.akNone) = nil then
begin
jsDialogs.ShowMsg('知识中心没有访问权限','');
exit;
end;
//lDocType := 'dtDoc';
lDocType := 'dtDefault';
lParam := SysUtils.Format('-f"%s" -t"%s" -s"'+FText+'" -c"%s" -a',
[TRTLConsts.DocRoot, lDocType, AText]);
TSystemCore.FuncManager.RunFunc(Context, '',
'Biz:\COLLABORATION\DocSearchFunc.Func', lParam, nil, False);
end; |