帆軟報表開發新手教程

我就吃最后一口發表於2024-05-13

由於PLM系統外包團隊還沒有完成開發,所以我沒有這個系統的程式碼,要做一些報表只能先使用帆軟,然後外掛連結。這個軟體不做評價,開發人員使用這種型別軟體的時候就跟帶著手套扣癢一樣,渾身螞蟻在爬,希望外包團隊能夠給力一點,純折磨,不想再有第二次這種經歷了,明明直接前端加echart就完事了,非得用這個,太折磨了,我感覺我好像是一個被綁住了手腳的人用舌頭一點點的舔著打程式碼一樣,就像玩石頭人還不能用鍵盤一樣,就像華強買瓜只能手語溝通一樣

我的建議是直接對面文件開發 https://help.fanruan.com/finereport/

連線遠端伺服器(本地可以直接跳過)

首先連線到公司的遠端伺服器地址,直接在伺服器上面開發,點選 檔案 => 切換工作目錄,填好之後連線就行

記得叫公司的人先給你開許可權 如果沒有管理員呢

進來之後左上角如果什麼都沒有,然後也不能新建的話,說明許可權開的不夠,工作的目錄也沒有給你 如果管理員不知道怎麼分配目錄呢

資料準備

1、新增資料庫連線

​ 我這邊沒有許可權去定義資料庫連線,所以把資料庫地址賬號密碼給管理員讓他新增,如果是自己本地使用的話就自己加

伺服器=>定義資料連線

連線oracle資料庫的時候,注意資料庫名稱是SID

連線mysql,如果mysql查詢結果中文亂碼了,就把編碼程式設計預設(我一開始一直設定成UTF8,我的庫也是UTF8,但是不知道為什麼會中文亂碼,這邊設定成預設就好了,真是神奇啊)

2、定義查詢資料集了

加號=>資料庫查詢

選擇之前配置好的資料庫連線右邊放自己的SQL

如果要帶上引數查詢,語句準備好

# 1=1 的含金量!
and 1=1 
# CHANGE_NUMBER為空就空,部位空則模糊匹配
${if(len(CHANGE_NUMBER)==0,""," and t1.CHANGE_NUMBER like '%"+CHANGE_NUMBER+"%'")}
# 日期控制元件能夠選返回型別,我選的字串,然後這裡用to_date,反正型別跟資料庫一致就行
${if(len(CREATE_DATE_S)=0,""," and t1.CREATE_DATE+INTERVAL '8' HOUR>= to_date('"+CREATE_DATE_S+"','yyyy-mm-dd hh24:mi:ss')")}
${if(len(CREATE_DATE_E)=0,""," and t1.CREATE_DATE+INTERVAL '8' HOUR<= to_date('"+CREATE_DATE_E+"','yyyy-mm-dd hh24:mi:ss')")} 

關於引數作為查詢條件,先進入到編輯查詢引數的頁面(首先得新建報表,可以回過頭來再看這裡),然後就可看到右上角會有提示,他會自動提示你新增進去,點選全部新增就完事了

這個是元件,至於你想要什麼型別的查詢框,點選調整調整就行

新建報表

1、開始新建報表,頁面設定

點 檔案 => 新建普通報表

有上下兩個部分,上面是查詢條件部分,下面是報表正文部分,拿一下那個筆就能進入編輯

如果覺得頁面不夠大,可以去 模板=>頁面設定,找到自定義之後設定

如果要設定報表顯示位置,分頁多少條就去 模板=>模板Web屬性

如果要設定查詢條件的顯示位置還有寬度,先進入查詢條件部分編輯,然後去右邊設定

2、編輯表格,新增資料

​ 之後開始編輯表格,這邊可以把資料直接拖動到單元格里面,直接拖過去就好了,如果資料有什麼特殊要求的可以左鍵點一下然後去右邊去配置就行,一般來說 資料設定 這個屬性就選擇預設的 分組 就行,也就是說什麼都別動就好了

一般來說,我們在頁面裡面只會有一張表,如果是兩張表而且還是左右放著的,需要去右邊的最左邊的資料的單元格設定一下左父格,不然兩張表的資料會交叉。後面說到的圖片也會這樣子,比如你想左邊放表右邊放個餅圖(單元格合併之後設定餅圖,如果是直接插入元素選擇餅圖應該是沒事的),這個得設定,不然也會交叉

如果想每行加入序號,這樣子設定就行

3、新增圖表

有兩個方式:

第一個方式是:合併單元格之後選擇插入元素,選擇你要的圖表,要注意的是圖表如果跟表格在同一行,得去消除一下左父格,上父格啥的,資料啥的配置好的資料集裡面取就行了

第二個方式是:直接插入元素,這個屬於是懸浮元素

一些其他需求

1、點選單據檢視明細

截圖太麻煩了,簡單點就是 新建一個報表 然後在單據所在的單元格 超級連線=>新增連線,把這個新報表作為網路報表點選跳轉,支援傳參廢話

直接參考https://help.fanruan.com/finereport/doc-view-4199.html

2、做個報表選單來回切換

做了兩個報表,想來回切換,因為外掛出去需要客戶登入才能有選單看,太麻煩,所以需求是做個報表選單來回切換

由於本人san空了,所以做的非常醜,拉了個大的

在查詢頁面加了個選單來做來回的切換,這邊選擇的是樹

左鍵點選之後,屬性下面的資料字典

樹的資料來源:

tree1資料集:

這個資料我直接寫在了我的資料庫裡面,value就是報表的名字了,name是頁面顯示用的,設定的設好

點選之後,新增點選事件

js程式碼:

var view = this.options.form.getWidgetByName("treeEditor0").getValue();
console.log(view)
console.log("${servletURL}?viewlet=xxx/" + view + ".cpt");
window.location = "${servletURL}?viewlet=xxx/" + view + ".cpt";

相關文章