反饋已提交

網絡繁忙

填報除錯插件

1. 概述

1.1 版本

報表伺服器版本最低JAR 包版本要求插件版本
11.02022-01-11(11.0.2)
2.0.1

1.2 應用場景

適用場景:提交資料與預期不符、提交報錯、提交慢

在製作填報範本時,範本結構和資料庫表結構往往是不完全一樣的,且提交時根據填報屬性的不同設定也會呈現不同的提交結果,所以經常會出現提交結果和預期的不一致的情況。
在排查此類問題時,由於所見非所得,往往會花上比較多的時間。填報除錯插件可以將一部分的後臺計算結果轉化為前端視覺化的資料,也可以查看資料庫配置情況和提交過程日誌,讓使用者能在製作範本的時候清晰地看到過程和結果,方便出問題時排查。

1.3 功能描述

主要功能

1)根據填報設定查看資料在提交時的狀態,並針對可能出現問題的資料進行提示。
2)查看提交過程和結果的日誌資訊。
3)查看資料庫常見配置資訊。
4)支援匯出提交日誌,後續可傳送給技術支援排查問題。
當前限制
1)不支援「決策報表」和「行動端」
2)不支援「內建sql」中設定的「提交事件」
3)資料詳情頁不支援展示「未修改不更新」設定的結果
4)不支援IE核心瀏覽器
5)需要展示工具欄才會彈出除錯對話框
6)啟用除錯對話框時,不支援同時再開啟其他對話框
7)除錯對話框不支援跟隨網頁大小自適應
8)不支援和「客製展示列插件」共用

2. 插件介紹

2.1 插件安裝

點選下載插件:填報除錯插件

設計器插件安裝方法請參見:設計器插件管理
伺服器安裝插件方法請參見:伺服器插件管理

2.2 進入除錯模式

1)根據業務需求設定好對應的填報屬性。
注:模式如有則必須設定,否則可能會出現除錯介面讀取不到資料表配置的問題。
2)在範本填報預覽的url後面加上參數&debug=true進入填報除錯預覽介面。
3)進入介面後,右下角會自動顯示除錯對話框,也可以透過工具欄的按鈕來開啟除錯對話框。
注:如未顯示除錯視窗,或者頁面報錯,可以排查是否因為1.3功能描述裏的當前限制因素。

2.3 查看資料詳情

1)在除錯對話框中點選「資料詳情」頁,在提交列表中選擇需要查看的提交設定,並點選重新整理按鈕。

2)資料詳情頁可以看到的資訊有:資料庫欄位型別和長度限制;填報屬性欄位配置;資料在入庫前的值。

3)當在頁面上插入,更新或者刪除資料後,可以點選除錯對話框裏的重新整理按鈕,來查看本次操作後的資料計算結果。有變化的資料會呈現綠色字體,其資料所在行的背景色會變為藍色。
資料狀態列會呈現該筆資料的狀態,一共三種:預設、修改和刪除。預設狀態即初始化狀態,代表未對該資料做過操作;修改狀態包括了更新和插入行並填寫兩種動作;刪除狀態則代表該資料從頁面上被刪除了。
注:由於插件的計算時機在提交前,而資料要和資料庫交互後才能知道是插入還是更新,所以插件無法區分更新和插入,統一標記為修改狀態。

4)「是否支援提交」功能可用於測試當前設定的資料庫是否支援填報,該功能還在測試階段,會在後續版本上線。


2.4 查看除錯日誌

1)在除錯對話框中點選「除錯日誌」頁,在提交後,該頁可以查看提交過程的所有資訊,以及相關的資料庫配置資訊。除錯日誌支援匯出和匯入,在無法獨立解決問題的情況下,可以匯出該日誌,傳送給技術支援協助分析處理。
2)在完成提交後,「除錯日誌」頁會展示出本次提交過程的資訊。在主頁面上,每一個提交都會包括2條資訊:資料過濾結果和資料提交結果。
3)點選「過濾結果」,在「詳細資訊」頁可以查看本次過濾的詳細資訊。
4)點選「提交結果」,在「詳細資訊」頁可以查看本次提交的資料庫配置資訊、填報屬性配置資訊、入庫語句和入庫結果。
提交型別commitType的種類有:DbIntelligence(智慧提交)、DbDelete(刪除提交)、DbInsert(插入提交)、DbUpdate(更新提交)。
在「執行日誌」頁可以查看該提交執行的sql範本,以及每個過程的耗時。
如果平台日誌等級為debug,則還可以看到每個提交的具體sql語句,方便排查資料問題。
注:在解決完問題後,需要將日誌等級改回原有等級,避免出現debug級別下日誌匯出太多造成工程負荷提升的問題。

3. 效果示範

4.填報除錯思路

當出現提交資料與預期不符、提交報錯、提交慢這三種型別的問題時,可以按照以下思路來排查。

4.1 提交資料與預期不符

1)使用填報除錯,點選「提交」後,查看「除錯日誌」頁展示的資料過濾後的條數,以及增刪改的條數,判斷問題是出在哪個階段。
2)如果是過濾階段的問題,可以查看過濾詳情,找到條數出現異常的具體階段,檢查相關設定。
3)如果是提交階段的問題,可以將日誌等級設定為debug,然後查看提交執行日誌,從具體sql語句中尋找出現異常的資料。
注:在解決完問題後,需要將日誌等級改回原有等級,避免出現debug級別下日誌匯出太多造成工程負荷提升的問題。
如果無法將日誌等級設定為debug來排查,也可以在資料詳情介面查看資料入庫前的值,確定是否在計算資料時出現了問題。
4)如果提交詳情頁面出現了下面的資料主鍵重複提示,則大概率會導致提交資料缺失或者異常的問題,需要檢查是否主鍵設定錯誤,或者資料存在重複。

4.2 提交報錯

1)在填報常見報錯代碼文檔中搜尋是否有類似報錯,如果未找到,也可以百度查詢報錯資訊。
2)可以將日誌等級設定為debug,然後查看提交執行日誌,從執行的最後一句sql語句中分析異常原因。也可以直接複製該sql語句到資料庫執行測試。
注:在解決完問題後,需要將日誌等級改回原有等級,避免出現debug級別下日誌匯出太多造成工程負荷提升的問題。
3)如果無法將日誌等級設定為debug來排查,也可以使用二分法,對範本填報屬性進行刪減,定位到具體是哪一個欄位的什麼資料出現了問題。

4.3 提交慢

1)使用填報除錯,點選提交後,查看「除錯日誌」頁展示的資料過濾和資料提交階段的耗時,應答問題出在哪個階段。
2)如果是過濾階段的問題,可以查看過濾詳情中資料計算和資料過濾的時間。如果是計算慢則可以查看填報屬性中設定的公式是否存在效能問題,例如取數函式(sql、value、ds1.select);如果是過濾慢,則可以查看提交條件的設定,是否存在效能問題。
3)如果是提交階段的問題,可以查看執行日誌,應答問題出在刪除、更新、插入的哪些階段。如果是更新或者刪除階段慢,可以嘗試在資料庫增加該表的索引來提高填報效能。
4)如果以上步驟無法解決提交慢的問題,可以參考填報常見效能問題文檔做進一步排查。

5. 注意事項

1)now(),uuid()等會不斷變化的公式,且勾選了「填報/分析時,保留公式用於計算」時,每次重新整理除錯對話框,該公式的結果都會被標記為綠色的修改狀態。
2)被「提交條件」過濾掉的資料不會出現在除錯對話框中。比如設定提交條件為產品ID=1時,結果如下:
3)主鍵欄位會統一靠前展示
4)範本存在笛卡爾積時,會有如下報錯。
5)在除錯對話框中重新整理資料後,頁面上的資料修改狀態(紅色小三角)會清空。
6)資料在除錯對話框中的展示順序和最終入庫後的順序不保證一致。
7)除錯對話框每次重新整理後,綠色標記展示的都是當次操作後的結果,所以如果連續重新整理2次,就不會有綠色的狀態顯示了。








注:由於插件的計算時機在提交前,而資料要和資料庫交互後才能知道是新增還是更新,所以插件無法區分更新和新增,統一标記爲修改狀态。

三、 效果演示


四、注意事項

  1. 使用now()、uuid()等會不斷變化的公式,且勾選了【填報/分析時,保留公式用於計算】時,每次刷新除錯對話框,該公式的結果都會被标記爲綠色的修改狀态,如下圖1所示。

  2. 被【提交條件】過濾掉的資料不會出現在除錯對話框中。譬如:設定提交條件爲【産品ID=1】時,如下圖2所示。

  3. 主鍵字段會統一靠前展示,如下圖3所示。

  4. 範本存在笛卡爾積時,會有報錯,如下圖4所示

  5. 在除錯對話框中刷新資料後,頁面上的資料修改狀态(紅色小三角)會清空,如下圖5所示。

  6. 資料在除錯對話框中的展示順序和最終入庫後的順序不保證一緻。

  7. 除錯對話框每次刷新後,綠色标記展示的都是當次操作後的結果,所以連續刷新2次,則不會有綠色的狀态顯示。


附件列表


主題: Tarrah
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤
中文(繁體)

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

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

不再提示

10s後關閉

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

反馈已提交

网络繁忙