反饋已提交

網絡繁忙

二次開發常見問題

1. 概述

1.1 版本

Finereport 版本
11.0

1.2 應用場景

本文介紹使用者使用程式碼進行二次開發時,可能會出現的一些問題和對應的解決方法。

2. JS 常見問題

2.1 報錯顯示無法讀取未定義的屬性

問題描述:

在給報表中加入一段 JS 程式碼中,預覽報表顯示 CustomJSError : Cannot read properties of undefined (reading 'XXXXX') 

如下圖所示:

QQ20250618-105836.png

原因分析:

可能是您程式碼中使用的某個變數不存在,拼寫錯誤。

或者是由於報表建立速度影響,報表塊物件沒有完全建立,新增的 JS 語句提前執行,進而獲取不到物件導致報錯,這種情況一般發生在「初始化後」和「載入結束」這種事件中。

解決方案:

如果是文法或者名稱錯誤,可對應修改,如果文法、名稱都無錯誤,那很大可能就是報表建立延遲的問題,這時候可以透過新增一個延遲函式延遲執行進而讓程式碼在報表物件建立完之後執行,

如下所示,給 _g().parameterCommit(); 程式碼中新增延遲函式:

setTimeout(function() {
_g().parameterCommit();
}, 500)

2.2 錯用高版本API導致的報錯

問題描述

在範本中加入 JavaScript 後,預覽範本時,報錯 CustomJSError : _XXXXXXXX.submit is not a function

原因分析

程式碼中寫的API或者方法不存在。

解決方法

檢查程式碼中使用的API有沒有拼寫錯誤;檢查程式碼中使用的API在當前環境下是否支援,如:

  • 10.0 的範本用了只 11.0 支援的API

  • 舊版決策報表用了只 11.0 支援的API

檢查後對應修改正確即可。版本差別詳情可查看:JS API相容說明

2.3 setCellValue 給儲存格指派不生效 

問題描述

使用儲存格指派API setCellValue 給儲存格指派時,出現指派為空沒有效果、或者報錯 無法指派,範本未編輯儲存格XX

的現象。

原因分析

可能是儲存格上沒有內容或者沒有被編輯過,預覽時頁面 html 不會生成這個儲存格物件前端元素,導致API找不到物件。

解決方法

在設計器裏編輯一下該儲存格,(當儲存格左邊和上邊的導航欄變成灰色時,表示儲存格是被編輯過的,如下圖所示。如果不想讓儲存格中有內容但想讓儲存格被編輯過,可以在儲存格中填寫內容儲存後再刪除刪除。),預覽時就可以生成 html 元素,進而能夠使用API指派。

Snipaste_2025-06-18_11-01-29.png

附件列表


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

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

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

不再提示

10s後關閉

獲取幫助
線上支援
獲取專業技術支援,快速幫助您解決問題
工作日9:00-12:00,13:30-17:30在线
頁面反饋
針對當前網頁的建議、問題反饋
售前咨詢
業務咨詢
電話:0933-790886或 0989-092892
郵箱:taiwan@fanruan.com
頁面反饋
*問題分類
不能為空
問題描述
0/1000
不能為空

反馈已提交

网络繁忙