历史版本26 :全局接口-FR 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

版本编辑

版本功能变动
11.0.10showDialog、doHyperlinkByGet 参数支持 json 格式
11.0.7

补充 FVS 大屏模板相关接口说明

适用于安装了「FVS大屏编辑模式」插件 V1.8.0 及之后版本的用户

11.0

和 10.0 区别:

新增 servletURL、serverURL、server、fineServletURL、SessionMgr.getSessionID() 接口

注意事项必看

1)在普通报表和决策报表, 以下 API 使用方式为 FR.xxx ,FVS 大屏模板中使用方式为 duchamp.xxx

2)部分接口中,FVS 大屏模板参数为 json 格式,普通报表和决策报表中,参数为 字符串 格式,详情看以下接口介绍。

3)FVS 大屏编辑模式插件 不支持移动端 ,以下 API 若标注支持移动端则只针对普通报表和决策报表。

servletURL编辑

属性servletURL获取 servletURL
     参数--
   返回值string

获取 servletURL,返回值为字符串,格式如:

/webroot/decision/view/report


     示例

普通报表、决策报表示例:

FR.servletURL;

FVS 大屏模板示例:

duchamp.servletURL;


  应用示例-
   移动端

支持移动端,移动端返回格式和 PC 端有区别,如:  /webroot/decision

serverURL编辑

属性serverURL获取 serverURL
     参数--
   返回值string

获取 serverURL,返回值为字符串,格式如:

http://localhost:8075


     示例

普通报表、决策报表示例:

FR.serverURL;

FVS 大屏模板示例:

duchamp.serverURL;


  应用示例-
   移动端不支持移动端

server编辑

属性server获取 server
     参数--
   返回值string

获取 server,返回值为字符串,格式如:

http://localhost:8075/webroot


     示例

普通报表、决策报表示例:

FR.server;

FVS 大屏模板示例:

duchamp.server;


  应用示例-
   移动端不支持移动端

fineServletURL编辑

属性fineServletURL获取 fineServletURL
     参数--
   返回值string

获取 fineServletURL,返回值为字符串,格式如:

/webroot/decision


     示例

普通报表、决策报表示例:

FR.fineServletURL;

FVS 大屏模板示例:

duchamp.fineServletURL;


  应用示例-
   移动端不支持移动端

SessionMgr.getSessionID编辑

方法SessionMgr.getSessionID()获取 sessionId
     参数--
   返回值string

获取 sessionId,返回值为字符串,如:

62a0f071-c2c6-4623-91c3-3d58c6265c19


     示例

普通报表、决策报表示例:

FR.SessionMgr.getSessionID();

FVS 大屏模板示例:

duchamp.SessionMgr.getSessionID();


  应用示例

点击按钮,打印报表的 sessionId

点击可下载模板:打印sessionId.cpt

2021-09-13_16-42-02.gif

FVS 大屏模板:打印sessionId.fvs

96CCD25D-A4C1-4821-87B5-53651EE95722.GIF

   移动端支持移动端

showDialog编辑

普通报表和决策报表

方法showDialog(title, width, height, innerContent)打开一个对话框
     参数

title:string

width:number

height:number

innerContent:iframe

注:11.0.10 及以后版本参数支持 json 格式,如下:

{

title:string,

width:number,

height:number,

innerContent:iframe

}

title:对话框标题,字符串

width:对话框宽度

height:对话框高度

innerContent:对话框内容,iframe 标签,如果要打开工程下的报表,需先将报表定义为 iframe 标签

   返回值

void

     示例

1)打开一个标题为“弹窗”,宽 600、高 400 内容为 “Hello World”的对话框

普通报表、决策报表示例:

FR.showDialog("弹窗",600,400,"Hello World");

2)打开一个标题为“销量弹窗”,宽 700,高 500 ,弹窗内容为内置模板 GettingStarted.cpt 的对话框

注:设计器中添加如下较长代码时,注意换行导致的代码格式问题,修改格式即可。

普通报表、决策报表示例:

// 创建对话框内的 iframe,iframe参数的命名及宽高等
var iframe = $("<iframe id='inp' name='inp' width='100%'
height='100%' scrolling='no' frameborder='0'>");
// 给 iframe 添加 src 属性,指向需要展示的模板地址
iframe.attr("src", "/webroot/decision/view/report?viewlet=GettingStarted.cpt");
//弹出对话框
FR.showDialog("对话框",700,500, iframe);


  应用示例

点击按钮,打开一个标题为“销量弹窗”,宽 700,高 500 ,弹窗内容为内置模板 GettingStarted.cpt 的对话框

详细内容介绍可参考:JS实现弹窗后数据回填

2021-09-18_15-01-55.gif

   移动端不支持移动端

FVS 大屏模板

方法

showDialog(

{

title:string,

width:number,

height:number,

innerContent:iframe

}

)

打开一个对话框
     参数

title:string

width:number

height:number

innerContent:iframe

title:对话框标题,字符串

width:对话框宽度

height:对话框高度

innerContent:对话框内容,iframe 标签,如果要打开工程下的报表,需先将报表定义为 iframe 标签

   返回值

string

     示例
duchamp.showDialog(
{
title:"标题",
width:600,
height:400,
innerContent:"文本内容"
}
)


  应用示例

打开一个标题为“弹窗”,宽 600、高 400 内容为 “Hello World”的对话框

点击下载模板:点击弹窗.fvs

F9FD627E-F12D-4A81-946F-F20410F4F7EB.GIF

   移动端不支持移动端

closeDialog编辑

方法closeDialog()关闭对话窗
     参数--
   返回值void
     示例

普通报表、决策报表示例:

FR.closeDialog();

FVS 大屏模板示例:

duchamp.closeDialog();


  应用示例

弹窗选择数据后,自动关闭已经打开的对话框

详细内容介绍可参考:JS实现弹窗后数据回填

1576133004442303.gif

   移动端不支持移动端

doHyperlinkByGet编辑

普通报表和决策报表

方法doHyperlinkByGet(url,config,target,feature)Get 方法打开一个网页页面,可以传递参数,可以设置页面属性
     参数

URL :object

config :object

target :object

feature :object

注:11.0.10 及以后版本参数支持 json 格式,如下:

{

URL :object

config :object

target :object

feature :object

}

URL:URL 或 Json 超链定义,必填

支持的绝对路径如:

http://192.168.100.1:8080/webroot/decision/view/report?viewlet=GettingStarted.cpt

相对路径如:/webroot/decision/view/report?viewlet=GettingStarted.cpt

config:传递的参数,可以不写

target:超链子页的打开位置,可以不写

  • _dialog:对话框

  • ­_self:当前页

  • 某个 iframe 的 name,当前页打开,post 方式提交

feature:超链打开位置的属性,可以不写

注:移动端不支持 target 和 feature 参数效果

   返回值void
     示例

打开内置模板 GettingStarted.cpt,一个为“销售报表”,传递参数“华东”和是否显示参数面板,打开方式为对话框,对话框宽 700、高 500:

FR.doHyperlinkByGet({
//报表路径
"url":"/webroot/decision/view/report?viewlet=GettingStarted.cpt",
//参数
"para":{
"地区":"华东"
},
"target":"_dialog",    //对话框方式打开
"feature":{
"width":700,
"height":500,
"title":"销售报表"
}
})
  应用示例

点击按钮,打开标题为“销售报表”,内容为华东地区销量情况,宽 700、高 500对话框:

 详细内容介绍可参考:JS实现对话框打开超链

2021-09-18_16-11-11.gif

   移动端支持移动端

FVS 大屏模板

方法

doHyperlinkByGet(

{

url:object,

para:object,

target:object,

feature:object

}

)

Get 方法打开一个网页页面,可以传递参数,可以设置页面属性
     参数

url:object

para:object

target:object

feature:object

URL:URL 或 Json 超链定义,必填

支持的绝对路径如:

http://192.168.100.1:8080/webroot/decision/view/report?viewlet=GettingStarted.cpt

相对路径如:/webroot/decision/view/report?viewlet=GettingStarted.cpt

para:传递的参数,选填

target:超链子页的打开位置,选填,默认为 _dialog

  • _dialog:对话框

  • ­_self:当前页

  • 某个 iframe 的 name,当前页打开,post 方式提交

feature:超链打开位置的属性,选填

   返回值void
     示例

打开内置模板 GettingStarted.cpt,一个为“销售报表”,传递参数“华东”和是否显示参数面板,打开方式为对话框,对话框宽 700、高 500:

duchamp.doHyperlinkByGet({
//报表路径
"url":"/webroot/decision/view/report?viewlet=GettingStarted.cpt",
//参数
"para":{
"地区":"华东"
},
"target":"_dialog",    //对话框方式打开
"feature":{
"width":700,
"height":500,
"title":"销售报表"
}
})


  应用示例

点击按钮,打开标题为“销售报表”,内容为华东地区销量情况,宽 700、高 500对话框:

点击下载模板Get 方法打开对话框.fvs

35826FC3-ED7D-436E-975F-E84C2CF2E56C.GIF


   移动端不支持移动端

doHyperlinkByPost编辑

普通报表和决策报表

方法doHyperlinkByPost(url,config,target,feature)Post 方法打开一个网页页面,可以传递参数,可以设置页面属性
     参数

URL :object

config :object

target :object

feature :object

URL:URL 或 Json 超链定义,必填

支持的绝对路径如:

http://192.168.100.1:8080/webroot/decision/view/report?viewlet=GettingStarted.cpt

相对路径如:

/webroot/decision/view/report?viewlet=GettingStarted.cpt

config:传递的参数,可以不写

target:超链子页的打开位置,可以不写

  • _dialog:对话框

  • ­_self:当前页

  • 某个 iframe 的 name,当前页打开, post 方式提交

feature:超链打开位置的属性,可以不写

注:移动端不支持 target 和 feature 参数效果。

   返回值void
     示例

打开内置模板 GettingStarted.cpt,一个为“销售报表”,传递参数“华东”和是否显示参数面板,打开方式为对话框,对话框宽 700、高 500:

FR.doHyperlinkByPost({
//报表路径
"url":"/webroot/decision/view/report?viewlet=GettingStarted.cpt",
//参数
"para":{
"地区":"华东"
},
"target":"_dialog",    //对话框方式打开
"feature":{
"width":700,
"height":500,
"title":"销售报表"
}
})
  应用示例

点击按钮,打开标题为“销售报表”,内容为华东地区销量情况,宽 700、高 500对话框:

详细内容介绍可参考:JS实现对话框打开超链

2021-09-18_16-11-11.gif

   移动端支持移动端

FVS 大屏模板

方法

doHyperlinkByPost(

{

url:object,

config:object,

target:object,

feature:object

}

)

Post 方法打开一个网页页面,可以传递参数,可以设置页面属性
     参数

URL :object

config :object

target :object

feature :object

URL:URL 或 Json 超链定义,必填

支持的绝对路径如:

http://192.168.100.1:8080/webroot/decision/view/report?viewlet=GettingStarted.cpt

相对路径如:

/webroot/decision/view/report?viewlet=GettingStarted.cpt

config:传递的参数,选填

target:超链子页的打开位置,选填,默认为 _dialog

  • _dialog:对话框

  • ­_self:当前页

  • 某个 iframe 的 name,当前页打开, post 方式提交

feature:超链打开位置的属性,可以不写

   返回值void
     示例

打开内置模板 GettingStarted.cpt,一个为“销售报表”,传递参数“华东”和是否显示参数面板,打开方式为对话框,对话框宽 700、高 500:

duchamp.doHyperlinkByPost({
//报表路径
"url":"/webroot/decision/view/report?viewlet=GettingStarted.cpt",
//参数
"para":{
"地区":"华东"
},
"target":"_dialog",    //对话框方式打开
"feature":{
"width":700,
"height":500,
"title":"销售报表"
}
})


  应用示例

点击按钮,打开标题为“销售报表”,内容为华东地区销量情况,宽 700、高 500对话框:

点击下载模板:Post 方法打开对话框.fvs

35826FC3-ED7D-436E-975F-E84C2CF2E56C.GIF

   移动端不支持移动端

doURLPrint编辑

注:FVS 大屏模板不支持 doURLPrint 。

方法doURLPrint(config)调出打印工具,打印报表
     参数config:objectconfig :打印参数,参数格式见 doURLPrint
   返回值Void
     示例

见:doURLPrint

  应用示例

自定义打印按钮,以「零客户端」方式打印报表

2021-09-28_14-59-47.gif

   移动端不支持移动端
方法MsgFR 内置的统一风格的消息框,可以替代 Window 中的 alert、confirm 、 prompt 以及 toast
     参数-

需调用其方法使用,详细内容可见 :Msg

   返回值Void
     示例

见:Msg

  应用示例

见:Msg

   移动端支持移动端

remoteEvaluate编辑

注:FVS 大屏模板不支持 remoteEvaluate 。

方法remoteEvaluate(formula)

执行 FR 内置公式,返回公式计算结果。

注1:remoteEvaluate(String) 不支持 tablename.select 函数。

注2:网页中不支持调用 remoteEvaluate(String) 。

     参数formula:String

公式,需要写成字符串形式

   返回值object
     示例

调用 FR 中 sum 函数对 A1、A2 求和:

FR.remoteEvaluate("sum(A1,A2)");

调用 FR 中字符串拼接函数 CONCATENATE 拼接字符串

FR.remoteEvaluate('CONCATENATE("001","1201110")');


  应用示例-
   移动端支持移动端

注意事项:

使用FR.remoteEvaluate接口存在安全风险,可能会导致攻击者对数据库进行增删改查等操作,其风险等级相当于远程执行。所以在「数据决策系统」中增加了「脚本调用公式限制」功能且默认开启,当用户使用了FR.remoteEvaluate接口,且开启了脚本调用公式限制开关,则效果预览时会弹出提示框信息:此调用存在安全风险,如需使用请在安全管理中修改脚本调用公式限制。如下图所示:

如果用户想要取消此消息弹窗,需要在平台中关闭此开关。如何操作可查看:安全防护

jsonEncode编辑

方法jsonEncode(code)

对字符串进行 jsonEncode 编码

     参数code:String

必填,需要转码的字符串

   返回值String
     示例

对报表路径进行  jsonEncode 编码

普通报表、决策报表示例:

FR.jsonEncode("/webroot/decision/view/report?viewlet=GettingStarted.cpt");

FVS 大屏模板示例:

duchamp.jsonEncode("/webroot/decision/view/report?viewlet=GettingStarted.cpt");


  应用示例-
   移动端不支持移动端

jsonDecode编辑

方法jsonDecode(jsonEncode)

对进行过 jsonEncode 编码的字符串解码

     参数jsonEncode:String

必填,需要解码的字符串

   返回值String
     示例

对 jsonEncode 转码过的报表路径进行解码

普通报表、决策报表示例:

FR.jsonDecode(FR.jsonEncode(
"/webroot/decision/view/report?viewlet=GettingStarted.cpt");

FVS 大屏模板示例:

duchamp.jsonDecode(duchamp.jsonEncode(
"/webroot/decision/view/report?viewlet=GettingStarted.cpt");


  应用示例-
   移动端不支持移动端

ajax编辑

方法ajax(options)

封装过的 jQuery.ajax() 函数,对 data 参数做了中日韩文编码处理,可以通过 FR.ajax(options) 在任何可以用 JS 的地方进行调用

     参数options

Ajax 参数,JSON 格式,说明见:ajax

   返回值void
     示例

见:ajax

  应用示例见:ajax
   移动端支持移动端

isEmpty编辑

方法isEmpty(object)

判断对象是否为空

     参数object:Object

对象

   返回值Boolean

是否为空,布尔型

  • true :是

  • false:否

     示例

查看是否存在「文本框控件」text0

普通报表、决策报表示例:

var a = FR.isEmpty(_g().getParameterContainer().getWidgetByName("text0"));
alert(a);

FVS 大屏模板示例:

var a = duchamp.isEmpty(duchamp.getWidgetByName("text0"));
alert(a);


  应用示例-
   移动端不支持移动端

isArray编辑

方法isArray(object)

判断对象是否为数组

     参数object:Object

对象

   返回值Boolean

是否为空,布尔型

  • true :是

  • false:否

     示例

定义一个数组,查看其是否为数组

普通报表、决策报表示例:

var txt = new Array("I","love","FR");
FR.isArray(txt);

FVS 大屏模板示例:

var txt = new Array("I","love","FR");
alert(duchamp.isArray(txt));


  应用示例-
   移动端不支持移动端

cellStr2ColumnRow编辑

方法cellStr2ColumnRow(cell)

根据单元格编号获取行列索引

     参数cell

单元格编号

   返回值{col:colindex, row:rowindex}

行列索引,json 格式

  • col:列索引,从 0 开始

  • row:行索引,从 0 开始

     示例

示例1:普通报表或决策报表中,返回 A1 单元格的行列信息

FR.cellStr2ColumnRow("A1");

示例2:普通报表或决策报表中,打印 A1 单元格的行

var a=FR.cellStr2ColumnRow("A1").row+1;
FR.Msg.alert("提示", "A1单元格的行号为"+a);

示例3:FVS 大屏模板中,打印单元格的行列号

var a=duchamp.cellStr2ColumnRow("A3").col+1;
var b=duchamp.cellStr2ColumnRow("A3").row+1;
//alert(a);
duchamp.Msg.alert({
    title: "提示",
    message:  "A3单元格的列号为"+a,
});
duchamp.Msg.alert({
    title: "提示",
    message:  "A3单元格的行号为"+b,
});


  应用示例

普通报表示例:点击按钮,打印  A1 单元格的行号

2021-10-19_17-33-23.gif

FVS 大屏模板示例:点击按钮,打印 A3 单元格的行列号

点击下载模板:打印单元格的行列号.fvs

91EAE7ED-B74F-42F7-83D3-4AC5E89200CB.GIF

   移动端支持移动端

columnRow2CellStr编辑

方法columnRow2CellStr({col:colindex, row:rowindex})根据行列号获取单元格编号
     参数{col:colindex, row:rowindex}

行列索引,json 格式

  • col:列索引,从 0 开始

  • row:行索引,从 0 开始

   返回值cell

单元格编号

     示例

示例1:普通报表或决策报表中,返回行索引为 3,列索引为 1 的单元格编号

FR.columnRow2CellStr({col:1, row:3});

示例2:普通报表或决策报表中,打印行索引为 3,列索引为 1 的单元格编号

var a=FR.columnRow2CellStr({col:1, row:3})
FR.Msg.alert("提示", "行索引3,列索引为1的单元格编号为"+a);

示例3:FVS 大屏模板中,打印行索引为 3,列索引为 1 的单元格编号

var a=duchamp.columnRow2CellStr({col:1, row:3})
duchamp.Msg.alert({
    title: "提示",
    message:  "行索引3,列索引为1的单元格编号为"+a,
});


  应用示例

普通报表示例:打印行索引为 3,列索引为 1 的单元格编号

2021-10-19_17-46-40.gif

FVS 大屏模板示例:打印行索引为 3,列索引为 1 的单元格编号

点击下载模板:根据行列号获取单元格编号.fvs

444E3679-ED38-4622-AD99-C911C6866038.GIF

   移动端不支持移动端