轉載至赫非域 >
T100 GR 報表常見知識點
8.9.1 注意事項
字體:
如果字型沒選對,會造成沒設對字型的數據匯出 PDF 格式亂掉,
請將 4rp 中自行新增的字段的字型、字體大小及寬度都是設
定正確,字型:微軟雅黑體,字體大小 10,另外不需要的字段請移除。
1. 憑證報表不參考任何程序時,不需要進行 SQL 驗證,直接在報表程序中 XXX__sel_prep()寫查詢條件,驗證 sql
只對第一次用參考程序的才會驗證
2. 在報表組件設計器(adzp188)選擇欄位時,需要把主表中的企業編號,營運據點等主鍵添加到欄位中,如果需
要用到自定義的變量,命名是以:l_xx 3. 如果報表模板下載錯誤,可能是 GDC 沒有以管理員的身份打開
4. 重點:如果做的報表樣板很復雜,生成報表樣板,且畫面已經設置好了之后發現要增加欄位:可以在報表設計
器中新增字段之后,點擊生成報表元件,字段就會生成到程序中,不建議直接把 define 的內容給注釋掉重新寫,這樣的原因是,如果以后的報表樣板可以參考這個報表程序時,就會報錯。新手可能會找不到錯誤
5. 欄位中的內容很多,打印內容會重疊。例如備注:可以在報表樣板的備注值中,新增一個 MINIpage 的容器包着
備注,然后設置 s_x:min s_y:max,並且把點 x,點 y,錨 x,錨 y 都要移除
6. 調整報表的字體,上傳之后會彈出一個窗口,不要認為是錯誤,實際只是警告,字體會生效
7. 上傳的訊息中,如有有【強制】那就是一定要改,不改會影響報表產生,而有強制就不會上傳樣板,其余【提
示】【設置】是建議訊息,可以不理會,因為樣板會上傳成功
8. 如果要設置格子的寬度,可以根據需求設置樣式,如左部樣式,右部樣式,設置左邊寬度,右邊寬度
9. 做銷售報表打印,可以用樣式代替表格,設置邊框的寬度和樣式,在每個 value 中用一個 minipage 容器包着,
要設置 minipage 邊框的寬度和樣式,不要設置 value 值的,否則會導致線條變粗,如果畫面中的值有多有少,
會導致線條長短不一,就需要調整 minipage 的屬性。如下圖:x-調整,或者 y-調整。去將 detail01 里面的每一個
minipage,都設這個屬性,這個屬性的用意是他的 x-size(這邊是高度) 要延伸跟父容器一樣高。另外一個跟 child
的 是縮小跟自己容器內的對象一樣高
10.
11.因為你 DetailHeader01 跟 Detail01 的寬度不一,所以還需要去調整 Detail01 的寬度
最終的打印呈現是:
12.若是打印時有以下 xml 的錯誤,可以打開 gst,看錯誤訊息中,雙擊錯誤,就可以找到具體錯誤在哪里
8.9.2 IE 瀏覽器閑置時間設置
AZZI301 里面放大下閑置時間
8.9.3 GR 報表復合 key 值設定方式 201706
范例程序:axmr510
應用場景:當群組需要設 3 個以上,並以 key1+key2 跳頁時,請使用復合字段跳頁。
例如訂單變更單打印,群組為「訂單單號+變更序+項次」,跳頁的依據為訂單單號+變更序
- 請先執行『報表組件設計器(adzp188)』於【字段】頁簽,設定自定義字段
- 字段代號請輸入 l_order
注:如果有多個復合 key 的需求,請依流水號依序編 l_order1,l_order2,……
(2) 字段說明:請依需求輸入例:單號更改序
(3) 型態參考請選擇 type_t
字段長度請依據復合字段的長度(可參考 r.t)做選擇
例:訂單單號(xmeedocno)→20
變更序(xmee900)→4(請注意!如為數值型態,固定給 4 碼)
總長度:20+4=24→因此選擇 chr30
- 數據值請選擇”(空值)
- 上述步驟完成后如下圖,點選箭號后,完成自定義字段新增。
- 請切換至【群組】頁簽
- 在「萃取的排序」中,請根據需求設定例:訂單單號+變更序+項次
- 在「印出的排序」中,請使用自定義字段的 l_order,並且一定要選擇”ORDER BY”,不可選”ORDER
EXTERNAL BY”
例:l_order+項次
- 在『報表組件設計器(adzp188)』中的其余設定都相同,完成后請點選「產生報表組件(4gl)」
- 請透過設計器開啟 4gl,調整部分如下:
- 在 BEFORE GROUP 中呼叫簽核 FUNCTION,應傳入單號,
請將剛性結構批注,並在上方的 add-point 加入,單號請根據您的 table 設定。
CALL cl_gr_init_pageheader() #表頭信息
PRINTX g_grPageHeader.*
CALL cl_gr_init_apr(sr1.xmeedocno)
5. 請調整 4 個備注子報表,將 sr1.l_order 復合字段條件自行拆解,並依照 key 值順序給值。
例:
ooffent→sr1.xmeeent ooff002→sr1.xmeedocno ooff003→sr1.xmee900 ooff004→sr1.xmegseq
subrep01
subrep02
subrep03
subrep04
6. 上述步驟完成后,請儲存並上傳。
- 請透過設計器下載樣板檔,使用 Genero Report 開啟后,讓樣板自動抓取 rdd 的信息調整節點內容 ,出現下圖按下確定,再按下儲存即可。
8. 儲存完畢后請上傳樣板檔。
8.9.4 套表 SOP(有底稿)
**此范例為使用打印營業稅媒體申報 403 報表(非套表),相關細節可參考 aisr403***
Step1:先把執行報表的主程序設計准備好
Step2:至 azzi901 注冊 xxxrXXX_g01 的報表信息,然后簽出程序
Step3:開啟 adzp188,輸入報表組件名稱,參考程序不用輸入,單頭區塊&單身行數都設定 1 即可
Step4:數據表>>選取報表要使用的數據表
Step5:字段>>選取報表用到的字段
Step6:群組>>依照規格放入指定排序的條件
Step7:參數>>依照規格設定傳入參數
Step8:排版>>隨便放入字段,此僅為了產生 4rp 用,屆時至 4rp 時會在作處理
Step9:下載_g01.4gl,依規格需求修改,完畢之后上傳,在下載 4rp 報表
Step10:開啟 4rp 報表前,需先准備好底稿,然后放入該 4rp 同目錄下,文件名需跟 4rp 一樣
*底稿圖片僅限使用 PNG 格式
Step11:開啟 4rp,先設定紙張大小,請參考下圖調整
*邊界記得四邊調整成 0cm
Step12:架構設置請參考下圖調整
*Details 跟 subrep04 需設置不顯示,因為不需要用到
Step13:OnEveryRow 里面新增一 BOX 命名為 DetailCs,里面放置底稿
*底稿須設定來源路徑,即一開始跟 4rp 放在一起的那張底稿
*X-size 跟 Y-size 都要設定成 max
*此時建議可以先上傳,測試底稿有沒有正常顯示,在接着下面步驟
*若有問題無法排解,請洽 IT 報表組人員求救
Step14:如果上述步驟都沒問題,那可以開始擺數據字段
*所有數據字段請擺放在底稿里面
Step15:數據字段擺好之后,依照原來報表上傳方式上傳即可
*微調小撇步:請先擺放幾個之后,打印出來看看 OK 否,在繼續擺
8.9.5 套表 SOP(無底稿)
**此范例為使用打印營業稅媒體申報 403 報表(套表),相關細節可參考 aisr403***
Step1:先把執行報表的主程序設計准備好
Step2:至 azzi901 注冊 xxxrXXX_g01 的報表信息,然后簽出程序
若只做套表(無底稿)記得新增,若做套表(底稿+無底稿),新增一筆信息即可
Step3:若只做套表(無底稿)記得參考「套表 SOP(有底稿).docx」Step3~Step10,完成后請跳至 Step5
若已完成套表(有底稿),請往下做
至 azzi301 復制套表(有底稿)>>EX:aisr403_g01 復制 aisr403_g01_01
Step4:復制套表(有底稿)的 4rp,並將底稿一並放入 4rp 同目錄下,文件名需跟 4rp 一樣
**繁體、簡體都要復制 *底稿圖片僅限使用 PNG 格式
Step5:開啟 4rp 修改,先設定紙張大小,請參考下圖調整(長、寬長度僅供參考)
Step6:架構設置請參考下圖調整
字段跟圖片放至 Detail01 里面,字段跟圖片擺在同一階層里↓↓↓
**此底稿僅用於擺放位置用,若完工時記得移除 or 設定成 Boolean.FALSE
Step7:subrep01、subrep02、subrep03、subrep04 需設置不顯示,因為不需要用到 Boolean.FALSE
Step8:數字記得設節點
Step9:完成后上傳完工
若有問題無法解決,請洽 IT 報表組處理
8.9.6 一式二份套表(有底稿並自動跳頁)
范例:制作一式二份套表(執據/存根)並自動跳頁
參考程序:報表 anmp450_g01_02 / 子報表 anmp450_g01_02_subrep07 Step1:將執行報表的主程序設計好后,開始調整樣板部分 (請注意階層位置)
說明:
使用套表前先重新命名 PageHeader >PageHeaderCs 與 ReportHeader >ReportHeaderCs
放入 套表底稿(紅框處) 拉入單頭信息 ,以及 區分單頭的區塊(橘框處) 格式如下
底稿的「浮動行為(Floating Behavior)」設定為 free,X 跟 Y 都設 0 ( PH_Space/RH_Space 格式,Y-Size 設定為單頭區塊的大小 )
Step2:接着置入單身數據於 DetailCs 文件夾 (位置調整后,先上傳確認是否正確的顯示在格內)
Step3:如有限制跳頁條件,加入跳頁區塊 skip
>>
說明:
在程序中加入判斷跳頁的條件式 ( 20 筆自動跳頁 ) #595
樣板中屬性調整如上圖 ( 主要調整 X-Size : rest 與 浮動行為 : free )
Step4:主報表完成后先行上傳確認畫面正確,接着比照其格式調整子報表
說明:
完成子報表之程序段 #759
子報表中加入同主程序之格式(如 ORDER BY/ FORMAT/ BEFORE GROUP OF/ ON EVERY ROW 使結構相同)
樣板調整方式同主報表 ( 加入單頭區塊,放置單頭數據,依序完成單身與跳頁 )
8.9.7 單身長字串分頁顯示
8.9.8 單身手繪表格的做法
1.在 ReportHeaders 跟 PageHeaders 下面分別建立一個 RHDetailHeaders 和PHDetailHeaders(放在 RH/PHMasters 下面),然后將原本的單身說明欄位放進去
2.自己建一個 detail01,里面放 details_box01_xx,將單身字段放進去; detail01 放在 subrep02 跟 03 之間 detail01 記得設置邊框(為了顯示線條)
3.將原本的 subrep02 跟 03 分別用一個左右橫向容器包起來,記得修改容器屬性
4.將原本的 detailtable 整個刪掉
5.大功告成