反饋已提交

網絡繁忙

全局接口-FR

版本

版本功能變動
11.0

和 10.0 差別:

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

11.0.7

補充 FVS 企業戰情室範本相關API說明

適用於安裝了「FineVis資料視覺化」插件 V1.8.0 及之後版本的使用者

11.0.9remoteEvaluate 支援 FineVis資料視覺化 插件 V1.15.0 及之後版本
11.0.10showDialog、doHyperlinkByGet 參數支援 json 格式
11.0.16

showDialog 新增 padding、titleStyle、backgroundStyle 三個參數,僅支援 FVS V2.0.0 及之後版本

注意事項必看

1)在普通報表和決策報表(新版), 以下 API 使用方式為 FR.xxx ,FVS 企業戰情室範本中使用方式為 duchamp.xxx 。

2)部分API中,FVS 企業戰情室範本參數為 json 格式,普通報表和決策報表中,參數為 字串 格式,詳情看以下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;

應用範例

-

行動端

普通報表、決策報表不支援,FVS企業戰情室範本支援行動端

server

屬性

server

獲取server。

參數

-

-

傳回值

string

獲取server,傳回值為字串,格式如:

http://localhost:8075/webroot


範例

普通報表、決策報表範例:

FR.server;

FVS 企業戰情室範本範例:

duchamp.server;

應用範例

-

行動端

普通報表、決策報表不支援,FVS企業戰情室範本支援行動端

fineServletURL

屬性fineServletURL獲取 fineServletURL
     參數--
   傳回值string

獲取 fineServletURL,傳回值為字串,格式如:

/webroot/decision


     範例

普通報表、決策報表範例:

FR.fineServletURL;

FVS 企業戰情室範本範例:

duchamp.fineServletURL;
  應用範例-
   行動端普通報表、決策報表不支援,FVS企業戰情室範本支援行動端

SessionMgr.getSessionID

方法

SessionMgr.getSessionID()

獲取sessionId

參數

-

-

傳回值

string

獲取sessionId,傳回值為字串,如:

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


範例

FR.SessionMgr.getSessionID();


應用範例

點選按鈕,列印報表的sessionId:

點選可下載範本:列印sessionId.cpt


列印sessionId.gif


FVS 企業戰情室範本:列印sessionId.fvs


行動端

支援行動端。

showDialog

普通報表和決策報表

方法

showDialog(title,width,height,innerContent)

開啟一個對話框。

參數

title:string

width:number

height:number

innerContent:iframe

title:對話框標題,字串。

width:對話框寬度。

height:對話框高度。

innerContent:對話框內容,iframe標簽,如果要開啟工程下的報表,需先將報表定義為iframe標簽。

傳回值

void


範例

開啟一個標題為“彈窗”,寬600、高400內容為“HelloWorld”的對話框:

FR.showDialog("彈窗",600,400,"HelloWorld");

開啟一個標題為“銷量彈窗”,寬700,高500,彈窗內容為內建範本GettingStartedTW.cpt的對話框:

注:設計器中新增如下較長代碼時,注意換列導緻的代碼格式問題,修改格式即可。
//建立對話框內的iframe,iframe參數的命名及寬高等
var iframe=$(<iframeid='inp'name='inp'width='100%'height='100%'scrolling='no'frameborder='0'>");
//給iframe新增src屬性,指向需要展示的範本位址
iframe.attr("src","/webroot/decision/view/report?viewlet=GettingStartedTW.cpt");
//彈出對話框
FR.showDialog("對話框",700,500,iframe);


應用範例

點選按鈕,開啟一個標題為“銷量彈窗”,寬700,高500,彈窗內容為內建範本GettingStartedTW.cpt的對話框:

showDialog.gif

FVS 企業戰情室範本:列印sessionId.fvs

行動端

不支援行動端。

closeDialog

方法

closeDialog()

關閉對話窗。

參數

-

-

傳回值

void


範例

普通報表、決策報表範例:

FR.closeDialog();

FVS 企業戰情室範本範例:

duchamp.closeDialog();

應用範例

彈窗選擇資料後,自動關閉已經開啟的對話框:

closeDialog.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 參數效果

feature:超連結開啟位置的屬性,可以不寫。

傳回值

void


範例

開啟內建範本 GettingStarted.cpt,一個為“銷售報表”,傳遞參數“華東”和是否顯示參數面板,開啟方式為對話框,對話框寬 700、高 500:

FR.doHyperlinkByGet({
//報表路徑
"url":"/webroot/decision/view/report?viewlet=GettingStartedTW.cpt",
//參數
"para":{
"地區":"華東"
},
"target":"_dialog",    //對話框方式開啟
"feature":{
"width":700,
"height":500,
"title":"銷售報表"
}
})

應用範例

點選按鈕,開啟標題為“銷售報表”,內容為華東地區銷量情況,寬700、高500對話框:

詳細內容介紹可參考:JS實現對話框開啟超連結

doHyperlinkByGet.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=GettingStartedTW.cpt

相對路徑如:/webroot/decision/view/report?viewlet=GettingStartedTW.cpt

para:傳遞的參數,選填

target:超連結子頁的開啟位置,選填,預設為 _dialog

  • _dialog:對話框

  • ­_self:當前頁

  • 某個 iframe 的 name,當前頁開啟,post 方式提交

feature:超連結開啟位置的屬性,選填

   傳回值void
     範例

開啟內建範本 GettingStarted.cpt,一個為“銷售報表”,傳遞參數“華東”和是否顯示參數面板,開啟方式為對話框,對話框寬 700、高 500:

duchamp.doHyperlinkByGet({
//報表路徑
"url":"/webroot/decision/view/report?viewlet=GettingStartedTW.cpt",
//參數
"para":{
"地區":"華東"
},
"target":"_dialog",    //對話框方式開啟
"feature":{
"width":700,
"height":500,
"title":"銷售報表"
}
})
顯示代碼


  應用範例

點選按鈕,開啟標題為“銷售報表”,內容為華東地區銷量情況,寬 700、高 500對話框:

點選下載範本:Get 方法開啟對話框.fvs


   行動端支援行動端

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=GettingStartedTW.cpt

相對路徑如:

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

config:傳遞的參數,可以不寫

target:超連結子頁的開啟位置,可以不寫


  • _dialog:對話框

  • ­_self:當前頁

  • 某個 iframe 的 name,當前頁開啟, post 方式提交

feature:超連結開啟位置的屬性,可以不寫

注:行動端不支援 target 和 feature 參數效果。


傳回值

void


範例

開啟內建範本GettingStartedTW.cpt,一個為“銷售報表”,傳遞參數“華東”和是否顯示參數面板,開啟方式為對話框,對話框寬700、高500:

FR.doHyperlinkByPost({
//報表路徑
"url":"/webroot/decision/view/report?viewlet=GettingStartedTW.cpt",
//參數
"para":{
"地區":"華東"
},
"target":"_dialog",//對話框方式開啟
"feature":{
"width":700,
"height":500,
"title":"銷售報表"
}
})


應用範例

點選按鈕,開啟標題為“銷售報表”,內容為華東地區銷量情況,寬700、高500對話框:

doHyperlinkByPost.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=GettingStartedTW.cpt

相對路徑如:

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

config:傳遞的參數,選填

target:超連結子頁的開啟位置,選填,預設為 _dialog


  • _dialog:對話框

  • ­_self:當前頁

  • 某個 iframe 的 name,當前頁開啟, post 方式提交

feature:超連結開啟位置的屬性,可以不寫

   傳回值void
     範例

開啟內建範本 GettingStarted.cpt,一個為“銷售報表”,傳遞參數“華東”和是否顯示參數面板,開啟方式為對話框,對話框寬 700、高 500:

duchamp.doHyperlinkByPost({
//報表路徑
"url":"/webroot/decision/view/report?viewlet=GettingStartedTW.cpt",
//參數
"para":{
"地區":"華東"
},
"target":"_dialog",    //對話框方式開啟
"feature":{
"width":700,
"height":500,
"title":"銷售報表"
}
})
顯示代碼


  應用範例

點選按鈕,開啟標題為“銷售報表”,內容為華東地區銷量情況,寬 700、高 500對話框:

點選下載範本:Post 方法開啟對話框.fvs

   行動端支援行動端

doURLPrint

注:FVS 企業戰情室範本不支援 doURLPrint 。

方法

doURLPrint(config)

呼叫列印工具,列印報表。

參數

config:object

config:列印參數,參數格式見doURLPrint

傳回值

Void


範例

見:doURLPrint

應用範例

自訂列印按鈕,以【零用戶端】方式列印報表:



doURLPrint.gif


行動端

不支援行動端。

Msg

方法

Msg

FR內建統一風格的訊息框,可以替代Window中的alert、confirm以及prompt。

參數

-

需呼叫其方法使用,詳細內容可見:Msg

傳回值

Void


範例

見:Msg

應用範例

給【正文元件】增加【編輯結束】事件,當填入的工號長度不是6時,彈窗提示:工號必須為6位:


Msg.gif

行動端

支援行動端。

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")');

FVS 企業戰情室範本範例(支援 V1.15.0 及之後版本):

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

應用範例

-

行動端

支援行動端

注:行動端 App 9.0 及之後的版本不再支援 FR.remoteEvaluate(formula) ,否則會報錯 synchronous http requests are not supported 。

注意事項:

使用remoteEvaluateAPI存在安全風險,可能會導致攻擊者對資料庫進行增刪改查等操作,其風險等級相當於遠端執行。

所以在「數據決策系統」中增加了「腳本呼叫公式限制」功能且預設開啓,當使用者使用了remoteEvaluateAPI,且開啓了腳本呼叫公式限制開關,則效果預覽時會彈出提示框資訊:此呼叫存在安全風險,如需使用請在安全管理中修改腳本呼叫公式限制

如下圖所示:

如果使用者想要取消此訊息彈窗,需要在平台中關閉此開關。如何操作可查看:安全防護

jsonEncode

方法

jsonEncode(String)

對字串進行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(jsonEncodeString)

對字串進行jsonEncode解碼。

參數

jsonEncode:String

必填,需要解碼的字串

傳回值

String


範例

對轉碼過的報表路徑進行jsonEncode解碼:
FR.jsonDecode(FR.jsonEncode("/webroot/decision/view/report?viewlet=GettingStartedTW.cpt");


應用範例

對 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:否

     範例

1)查看「正文框元件」text0 是否存在

普通報表、決策報表(參數面板中的元件)範例:

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

FVS 企業戰情室範本範例:

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

2)查看正文框元件」text0 是否為空值

普通報表、決策報表(參數面板中的元件)範例:

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

FVS 企業戰情室範本範例:

var a = duchamp.isEmpty(duchamp.getWidgetByName("text0").getValue());
alert(a);
  應用範例-
   行動端普通報表、決策報表不支援行動端,FVS企業戰情室範本支援行動端

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));


  應用範例-
   行動端普通報表、決策報表不支援行動端,FVS企業戰情室範本支援行動端

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儲存格的行號,如下圖所示:

cellStr2ColumnRow.gif

FVS 企業戰情室範本範例:點選按鈕,列印 A3 儲存格的行列號

點選下載範本:列印儲存格的行列號.fvs


行動端

支援行動端


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的儲存格編號,如下圖所示:


columnRow2CellStr.gif

FVS 企業戰情室範本範例:列印行索引為 3,列索引為 1 的儲存格編號

點選下載範本:根據行列號獲取儲存格編號.fvs

行動端

普通報表、決策報表不支援行動端;FVS企業戰情室範本支援行動端




附件列表


主題: 二次開發
已經是第一篇
已經是最後一篇
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤
中文(繁體)

文 檔回 饋

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

10s後關閉