PostERP的用戶可以無限制地自行開發更多報表,讓終端用戶以之預覽與列印報表,或把SQL回應的資料存成檔案。資料庫裡的table都可以拿來自行編製報表,立即整合到指定畫面的選單中。
如果要在SQL中嵌入參數供終端使用人輸入,請在參數之前加冒號:。例如:
SELECT f1,f2 FROM t52 WHERE f2 BETWEEN :bd AND :ed |
其中,bd與ed分別為兩個參數。然後在參數頁指定個參數的作用,自此,這些參數即等後終端使用人輸入數值。
如果必須cast PostgreSQL的資料型態,不要這樣cast:f1::TEXT。因為::會混淆PostERP瘦客戶。請這樣cast:CAST(f1 AS TEXT)。 |
請善用PostERP提供的月初、月底函數:MonthBegin()、MonthEnd()。詳見Chapter 8。 |
PostERP對SQL injection攻擊有防衛。因為終端用戶只能輸入參數,PostERP再嵌入這些參數進去SQL text。PostgreSQL遇到無效的SQL參數時,會以執行失敗告終。 |
開發系統的工作可以選擇在雲端版或桌面版的PostERP上面進行。但是有一個例外 – 設計報表樣板,只能在桌面版的PostERP上面進行。 所以,兆筆的開發夥伴必須從GitLab下載瘦客戶軟體tc.exe,執行它,接入你的開發主機。其IP地址於您以夥伴開發人身份登入後,在這個網頁顯示。 |
PostERP目前版本只能列印Bitmap以及JPEG圖案。 |
固定式財務報表樣板的主要DataSet name必須設定成mds。
多利用PostERP的國際化功能,以設計多國語言的報表樣板。
關於片語的設定,請參考Section 17.1。 |
假設報表樣板有一個欄位標題,是員工姓名。因為這份報表將提供給全球操不同語言的用戶使用,所以,把員工姓名這幾個中文字直接設計在報表樣板裏,並不可行。
正確的作法是:設置標題代碼欄位,也就是C245。這裏的C是常數,不可以更換。緊跟在C常數的數字245是片語#。如此一來,各國終端用戶於出報表時,PostERP會自動把員工姓名以該用戶所使用的語言呈現。
終端用戶於出報表時,此變數(注意大、小寫)會被該報表名稱取代。這個名稱通常用在報表的表頭。
PostERP 自動把內嵌在SQL語句(參見Section 17.9.1)裏的變數轉成報表變數(注意大、小寫)。終端用戶於出報表時,這些變數會被使用人輸入的值取代。
終端用戶於出報表時,此變數(注意大、小寫)會被該用戶正在操作的公司名取代。
如果樣板有Image元件且符合下列全部條件,則PostERP自動在該元件打印公司的logo。
Image source:選用Database field:。
Database field:的右側框填入DataSetCompanyLogo.logo(注意大、小寫)。
Logo自資料庫裡面的t45.f5table與column讀取。
有些報表並非只用一道SQL指令就能取得資料。
例如PostERP的分錄裏的輔助標記:如果把一道SELECT指令選出的金額與輔助標記資料放在報表樣板的detail band中,然後小計金額欄位,則此金額小計是錯的!因為:每一筆金額是附屬於序號,而且每一筆序號附掛多筆輔助標記記錄。金額小計所得到的結果是錯誤的重複多次輔助標記的金額加總。
此例,正確的作法是採用子報表技術。
請參考附掛於[MzF5]畫面報表#『3』的子報表範例。 |
請參考附掛於[MzF5]畫面報表#『1』與報表#『2』的Cross Table範例報表。