帆软report如何管控那些人开通或者关闭下载(导出)权限

逻辑大纲

帆软report如何管控那些人开通或者关闭下载(导出)权限_第1张图片

步骤

第一步:底层数据库建一张权控表

帆软report如何管控那些人开通或者关闭下载(导出)权限_第2张图片

第二步:帆软配置服务器

特别说明:如果服务器安全管理的安全防护打开了脚本调用公式限制,就用方式一
帆软report如何管控那些人开通或者关闭下载(导出)权限_第3张图片

方式一:

配置全局参数:

帆软report如何管控那些人开通或者关闭下载(导出)权限_第4张图片

sql(
"topprd","
        SELECT DISTINCT display_id
        FROM bi_export_permission
        WHERE permission_all ='Y'
    UNION
        SELECT DISTINCT display_id
        FROM bi_export_permission
        WHERE user_id = '"+$user+"'
        AND permission = 'Y'
    ",
1
)

配置数据集js脚本以及报表默认设置

帆软report如何管控那些人开通或者关闭下载(导出)权限_第5张图片
帆软report如何管控那些人开通或者关闭下载(导出)权限_第6张图片
![在这里插入图片描述](https://img-blog.csdnimg.cn/1c9ecb47b8f6448ca09a85bc2343889e.png
帆软report如何管控那些人开通或者关闭下载(导出)权限_第7张图片
bi_data_permission_other.js文件内容

function bi_data_permission_other(reportName,permission){
var toolbarItems = contentPane.toolbar.options.items;
// 获取所有按钮
var lastButtonIndex = toolbarItems.length - 1;
// 最后一个按钮位置数
var lastButton = toolbarItems[lastButtonIndex];

var splitReportName = reportName.split("/");
var lastIndex = splitReportName.length - 1;

var searchValue = splitReportName[lastIndex];

var index = permission.indexOf(searchValue);

var permissionResult = (index > -1) ? 'Y' : 'N';

if (permissionResult == 'Y') {
    lastButton.setVisible(true);
    //从左往右,下标从0开始,最后一个按钮(输出)不可用
} else {
    lastButton.setVisible(false);
    //从左往右,下标从0开始,最后一个按钮(输出)不可用
};
}

加载结束内容
帆软report如何管控那些人开通或者关闭下载(导出)权限_第8张图片

方式二:

配置服务器数据集

帆软report如何管控那些人开通或者关闭下载(导出)权限_第9张图片

SELECT nvl(PERMISSION_ALL,PERMISSION) PERMISSION
FROM (
    SELECT DISTINCT PERMISSION_ALL
    FROM bi_export_permission
    WHERE display_id =  replace(SUBSTR('${reportName}',INSTR('${reportName}','/',-1)+1),' ','')
    AND PERMISSION_ALL IS NOT NULL 
) a
FULL JOIN (
    SELECT PERMISSION
    FROM bi_export_permission
    WHERE user_id = '${user}'
    AND display_id = replace(SUBSTR('${reportName}',INSTR('${reportName}','/',-1)+1),' ','')
)b ON 1=1

配置服务器配置

帆软report如何管控那些人开通或者关闭下载(导出)权限_第10张图片
先把脚本上传
帆软report如何管控那些人开通或者关闭下载(导出)权限_第11张图片

帆软report如何管控那些人开通或者关闭下载(导出)权限_第12张图片

帆软report如何管控那些人开通或者关闭下载(导出)权限_第13张图片

IF(FIND(INDEXOF(SPLIT($reportName, "/"), LEN(SPLIT($reportName, "/"))), $permission) > 0, 'Y', 'N')

bi_data_permission.js内容

function bi_data_permission(permissionResult){
var toolbarItems = contentPane.toolbar.options.items;
// 获取所有按钮
var lastButtonIndex = toolbarItems.length - 1;
// 最后一个按钮位置数
var lastButton = toolbarItems[lastButtonIndex];

if (permissionResult == 'Y') {
	lastButton.setVisible(true);
	//从左往右,下标从0开始,最后一个按钮(输出)不可用
} else {
	lastButton.setVisible(false);
	//从左往右,下标从0开始,最后一个按钮(输出)不可用
};
}

决策报表下载功能导出管控使用方式二
帆软report如何管控那些人开通或者关闭下载(导出)权限_第14张图片
帆软report如何管控那些人开通或者关闭下载(导出)权限_第15张图片
在这里插入图片描述

IF(FIND(INDEXOF(SPLIT($reportName, "/"), LEN(SPLIT($reportName, "/"))), $permission) > 0, 'Y', 'N')

你可能感兴趣的:(oracle,数据库)