4-2 財報公式改完,先模擬看展開結果¶
案例主角:會計、財務主管 | 模組:N 總帳 · 報表公式設定(N-040)
更新日期:2026-07 | 重要度:★★★☆☆
場景:公式對不對,要跑完報表才知道¶
月結隔天,岩月的總經理丟下一句:「營業費用那一段,我要看到每個明細科目,不要只給我一個總數。」會計打開報表公式設定,把原本一列「營業費用」的公式改成依分類自動展開,存檔,切到自訂財報跑一次查詢——出來的報表展到六碼,滿滿兩百多列,反而更看不懂。回頭改參數、再存檔、再跑一次,這次又漏了一整個中分類,因為分類名稱少打了一個字。
一趟改、存、跑、看,大約三到五分鐘;一張報表調到主管滿意,來回七、八趟是常態。整個下午就耗在「跑了才知道」這件事上,而每一次「跑」還是拿正式的傳票資料在算——公式打錯的時候,看到的是一張完全不能用的報表,錯在哪一行還得自己回頭猜。
自訂財務報表靠的是一行行公式——這一列抓哪些科目、要不要含子科目、分類怎麼展開。過去要驗證公式對不對,得先存檔、過帳、實際跑一次報表,看數字對不對再回頭改。改一次、跑一次,來回好幾趟。
尤其用到 ACC_SCAN(依分類自動展開科目) 的報表,一行公式在報表上會變成好幾十列——到底展開成什麼樣,跑之前心裡沒底。
現在:一顆按鈕,先看展開結果¶
報表公式設定畫面新增了 「模擬表預覽」。載入報表、按下按鈕,系統就把每一行公式在資料庫端實際展開,用一個結果視窗完整列出:報表編號、名稱、序號、科目名稱、公式、列印碼等欄位。
報表公式設定:每一行定義一個科目與其取數公式(此為資產負債表範本)。
按下「模擬表預覽」,展開結果立即呈現——ACC_SCAN 的科目逐筆展開、序號自動遞增插列,一眼就能核對公式產出的報表結構對不對。
模擬表預覽:資產負債表逐項展開,含自動插入的子項(如留抵稅額、累計減損),存檔前就看得到最終結構。
兩種展開,各有用途¶
這個版本同時提供兩顆按鈕,對應不同需求:
| 按鈕 | 展開方式 | 依據 |
|---|---|---|
| 模擬表預覽 | 資料庫端展開(沿用正式報表多年邏輯) | 以已存檔的公式為準 |
| 模擬表預覽(C#) | 程式端展開,與實際查詢同規則 | 吃畫面當下內容(含未存檔) |
以已存檔內容為準
「模擬表預覽」查的是資料庫裡存好的公式列——尚未存檔的新增/修改不會反映在預覽裡,請先存檔再模擬。想預覽畫面上還沒存的改動,用「模擬表預覽(C#)」。
實際跑一遍:改一列公式到確認上線¶
以岩月會計調整那張「營業費用逐科目」報表為例,一輪是這樣走的:
- 叫出報表:從主選單進 N 總帳 → 報表公式設定,輸入(或用查詢帶出)要調整的報表編號,下半部資料表格就是這張報表的每一行公式。
- 改那一列:找到「營業費用」那一列,把公式調成需要的展開方式——例如
ACC_SCAN的展開位數上限從預設的 4 碼改成 6 碼,讓更深的子科目也各自成列。 - 先按
模擬表預覽(C#):這顆吃的是畫面當下的內容(含還沒存檔的修改),展開規則與實際查詢一致,含分類標頭與層級縮排——等於先看一眼「這樣改,報表會長成什麼樣」。 - 看不對就直接再改:展太細就把位數上限調小、少了一整段就檢查分類名稱是否與會計科目分類裡的名稱完全一致。改完再按一次預覽,不必存檔。
- 結構確認後按
儲存:存檔時系統會以科目名稱檢查同一張報表內有無重複列,重複會擋下並指出是哪一列。 - 再按
模擬表預覽核對一次:這顆查的是資料庫裡已存好的公式,把每一行完整列出(報表編號、名稱、序號、科目名稱、公式、列印碼),ACC_SCAN的科目逐筆展開、序號自動遞增插列——確認存進去的內容與剛才預覽的一致。 - 最後才帶金額:到自定財報執行查詢選這份報表編號、設好年度與期間,按
查詢就是帶數字的正式報表。結構已經確認過,這一次通常一跑就對。
兩顆按鈕怎麼分工
調整過程中用 模擬表預覽(C#)(吃畫面當下、與實際查詢同規則),改到滿意再存檔;存檔後用 模擬表預覽 做一次「存進去的到底是什麼」的覆核。一顆管「改的時候」、一顆管「存完之後」。
預覽時最常抓到的三種錯¶
岩月會計調完幾張報表之後,歸納出預覽最常幫她攔下來的三件事:
- 分類名稱對不上:
ACC_SCAN/ACC_BSCE的分類名要跟會計科目分類裡登記的名稱一致,少一個字、多一個空白,那一段就展不出來。這在報表上只是「少了一整塊」,很容易被當成「這期沒有數字」;在預覽裡則是一眼就看得出來那一段是空的。 - 展開層級不是想要的深度:位數上限沒設時預設列到 4 碼;設得太深,一段分類就爆成上百列,設得太淺,想看的明細又被併回母科目。要幾碼、看起來如何,預覽按兩次就試出來了,不必拿正式報表試。
- 科目名稱重複:同一張報表裡兩列的科目名稱一模一樣會被存檔擋下(系統以科目名稱當識別鍵)。在名稱前後加個空白或微調文字即可,但如果不是在調整當下處理,隔幾天回來常常忘了自己當初想分成哪兩列。
換句話說,這顆按鈕真正取代掉的不是「跑報表」這個動作,而是「跑完報表之後回頭猜哪裡錯了」這段沒有產值的時間。
帶來什麼¶
以岩月的情境估算:過去調一張自訂報表的公式,每改一次就得存檔、切到自訂財報跑一次查詢、翻過整份結果找錯,一趟三到五分鐘;一張報表從改到定案來回七、八趟,加上中間找錯的時間,半天就過去了。改用模擬表預覽後,每一輪變成「按一下、看一眼」的十幾秒,整張報表的調整壓縮到半小時內完成——省下的時間其實是次要的,真正的差別是不必再拿正式報表當試錯工具:公式錯的時候,錯在哪一行直接列在眼前,而不是從一張兩百多列的報表裡倒推。
- 改公式不再盲改:展開結果先看過,再決定要不要存檔過帳。
ACC_SCAN展開透明化:一行公式展成幾十列的結果,攤在眼前核對。- 少跑幾趟冤枉報表:把「跑報表發現錯、回頭改」的循環,縮短成「按一下、看一眼」。
- 導入期特別有感:新客戶第一次把整套自訂報表建起來時,每一張都要反覆調版面與公式,這顆按鈕直接縮短導入週期。
搭配自訂報表一起看
公式定義好之後怎麼帶出金額、預算與實際怎麼並排比較,見 財務報表格式自己定,預算和實際並排看。
深入操作:N 總帳 · 報表公式設定 | N 總帳 · 自定財報執行查詢