1. 概述
1.1 版本
報表伺服器版本 |
---|
11.0 |
對於一張資料量較大的範本,使用者希望可以根據具體需求篩選出需要列印的資料,再進行列印。
或對於多張範本,使用者可根據一張查詢範本篩選出需要列印的資料,並將這些資料作為參數,動態傳遞給其他範本,實現一鍵列印所有相關報表內容。
1.3 實現思路
本文範例:
例如有一張全國銷售人員的業績報表,使用者可以選擇列印某個地區下的某個銷售員的業績報表,或者同時選擇多個銷售員的業績報表進行列印。
實現思路如下:
範例 | 實現思路 |
---|---|
範例一:列印某個銷售員的業績報表(參數只傳遞一個值) | 1)建立一張查詢範本,查詢需要列印的資料至當前頁面上 2)建立一張列印範本,用於列印過濾出的資料 3)設定點選事件:
|
範例二:列印多個銷售員的業績報表(參數可傳遞多個值) | 1)建立一張查詢範本,選擇需要列印的資料 2)建立一張列印範本,用於列印過濾出的資料 3)設定點選事件
|
2. 範例一:列印某個銷售員的業績報表
2.1 準備查詢範本
需要準備一張查詢範本,用於查詢需要列印的資料,並在列印時將查詢出的資料作為參數,傳遞給列印報表。
2.1.1 建立資料集
1)建立資料集 ds1 ,SQL 查詢語句如下:
其中,定義了兩個資料集參數 地區 和銷售員,可以讓使用者在列印時根據具體需求篩選出需要列印的資料。
select * from 銷量 where 地區='${地區}' and 銷售員='${銷售員}'}'
2)建立資料集 ds2,用於查詢所選地區下的銷售員名稱,SQL 語句如下:
select 銷售員 from 銷量 where 地區= '${地區}'
2.1.2 設計報表
範本樣式如下圖所示,其中,C2 儲存格為按鈕元件,如下圖所示:
2.1.3 參數新增元件
1)點選參數面板的「編輯」按鈕,進入參數面板編輯介面。
點選「全部新增」,將參數的預設元件新增到參數面板,並設定「地區」和「銷售員」參數元件類型為「下拉框元件」。如下圖所示:
3)設定「地區」元件的「資料字典」為資料庫表 FRDemoTW 中的「銷量」表,實際值與顯示值均為「地區」欄,如下圖所示:
4)設定「銷售員」元件的「資料字典」為資料查詢 ds2 ,實際值與顯示值均為「銷售員」欄,如下圖所示:
2.2 準備列印範本
需要準備一張列印範本,用於接收查詢傳入的參數,並過濾出相應資料。
2.2.1 建立資料集
建立資料集 ds1 ,SQL 查詢語句如下:
其中,SQL 語句中定義了兩個資料集參數地區 和銷售員,用於接收傳入的參數,並過濾出相應的資料。
select * from 銷量 where 地區='${地區}' and 銷售員='${銷售員}'
2.2.2 設計報表
設計列印範本,將資料集中的欄位拖到對應儲存格中,如下圖所示:
2.3 新增點選事件
開啟 2.1 節準備的查詢範本,選中 C1 儲存格,新增一個點選事件。
在參數欄中新增參數 a,參數值為公式$地區
新增參數b,參數值為公式$銷售員
新增下面的 JavaScript 程式碼,如下圖所示:
JavaScript 程式碼如下:
2.4 效果預覽
填報預覽查詢範本,查詢出需要列印的資料,點選「列印」按鈕,即可列印相關報表,如下圖所示:
2.5 已完成範本下載
點選下載查詢範本:查詢範本.cpt
點選下載列印範本:列印範本.cpt
3. 範例二:列印多個銷售員的業績報表
3.1 準備查詢範本
需要準備一張查詢範本,用於選擇需要列印的資料,並在列印時將篩選出的資料作為參數,傳遞給列印報表。
3.1.1 建立資料集
1)建立資料集 ds1 ,SQL 查詢語句如下:
select * from 銷量
2)建立資料集 ds2,用於查詢所選地區下的銷售員名稱,SQL 語句如下:
select 銷售員 from 銷量 where 地區= '${地區}'
3.1.2 設計報表
1)範本樣式如下圖所示,其中:
設定 A2 儲存格為下拉框元件
設定 B2 儲存格為下拉複選框元件
設定 C1 儲存格為按鈕元件,如下圖所示:
2)選中 A2 儲存格,設定「下拉框」元件的「資料字典」為資料庫表 FRDemoTW 中的「銷量」表,實際值與顯示值均為「地區」欄,如下圖所示:
3)選中 B2 儲存格,設定「下拉複選框」元件的「資料字典」為資料查詢 ds2 ,實際值與顯示值均為「銷售員」欄。
設定回傳值類型為「字串」,且分隔符為',',如下圖所示:
3.2 準備列印模板
需要準備一張列印範本,用於接收傳入的參數,並過濾出相應資料。
3.2.1 建立資料集
建立資料集 ds1 ,SQL 查詢語句如下:
其中,SQL 語句中定義了兩個資料集參數地區 和銷售員,用於接收傳入的查詢參數,並過濾出相應的資料。
SELECT * FROM 銷量 where 地區='${地區}' and 銷售員 in ('${銷售員}')
3.2.2 設計報表
設計列印範本,將資料集中的欄位拖到對應儲存格中,如下圖所示:
3.3 新增點選事件
開啟 3.1 節準備的查詢範本,選中 C1 儲存格,新增一個點選事件,如下圖所示:
JavaScript 程式碼如下:
3.4 效果預覽
填報預覽查詢範本,選擇需要列印的資料,點選「批量列印」按鈕,即可列印相關報表,如下圖所示:
3.5 已完成範本下載
點選下載查詢範本:多值查詢範本.cpt
點選下載列印範本:多值列印範本.cpt