跳轉到

程式資訊

  • 程式 IDBUDGETPRINT
  • 所屬子系統:N.總帳管理
  • 狀態:stable

預算表列印

功能簡介

「預算表列印」是預算編列ProgramClass = BUDGET)的列印伴隨頁。它本身不建立、不修改任何資料,而是依傳票號碼區間把已登錄的預算單撈出來,送 FastReport 套印成正式的預算表(報表抬頭「預算表」、報表編號 N120-1)。

主要使用者是財務規劃/會計人員:在預算編列完成後,到本頁把要存查或呈核的預算單批次印出。流程上它接在預算編列之後——通常是在預算單畫面直接按工具列 列印 進來(系統會把當前單的傳票號碼自動帶入起訖兩格,見欄位連動與附加功能)。

畫面非常精簡

本頁的條件畫面只有一顆 傳票號碼 選項鈕加上起始 ~ 截止傳票號碼兩格輸入框,沒有查詢結果清單,也沒有右側分錄明細區。查詢、預覽、列印都靠標準工具列按鈕觸發;查詢撈回的預算單與分錄是在背景處理後直接送進報表,使用者不會在畫面上逐張勾選。

與預算編列是同一支作業的兩個畫面

本頁(ProgramClass = BUDGETPRINT)與預算編列ProgramClass = BUDGET)共用同一份預算資料,但各自有獨立的權限與畫面。要新增、修改、刪除預算單請到預算編列;本頁只做查詢與列印。

前置需求

  • 權限:N.總帳 → N-120 預算表列印 的瀏覽與列印權限。
  • 基礎資料:能印出什麼,取決於下列資料是否已維護——
資料 影響的結果
預算單(預算編列 可被撈出與列印的來源;沒有對應傳票號碼的預算單就查不到任何資料
會計科目表(科目代號、科目名稱) 報表明細的科目名稱帶出

操作步驟

  1. 通常從預算編列畫面按工具列 列印 進入本頁;此時系統會把當前預算單的傳票號碼自動填入起訖兩格。也可單獨開啟本頁手動輸入區間。
  2. 確認查詢方式為 傳票號碼(本頁僅提供此一種查詢方式)。
  3. 起始傳票號碼 ~ 截止傳票號碼 兩格輸入要列印的傳票號碼區間(兩格留空表示該端不設限)。
  4. 套用報表 預算表(N120-1、A4),按工具列 預覽 先看版面或按 列印 直接送印。系統會撈出區間內的預算單、把其分錄攤平後送進報表。

預算表列印操作畫面

小技巧

從預算編列按 列印 進來時,起訖傳票號碼已自動帶成當前那張單,直接按 預覽 / 列印 即可印單張。要一次印多張連號的預算單,把起訖號碼拉開再列印。

欄位說明

欄位 必填 說明 / 格式 / 預設
查詢方式(傳票號碼) 本頁固定以傳票號碼區間查詢,選項鈕預設已選(Condition = GeneralLedgerNo
起始傳票號碼 區間下限;空白=下限不設限,預設空白。由預算編列按 列印 進入時自動帶入當前單號
截止傳票號碼 區間上限;空白=上限不設限,預設空白。由預算編列按 列印 進入時自動帶入當前單號

輸入人員/輸入日期條件未在本頁開放

程式碼層另有一條「輸入人員+輸入日期區間」查詢路徑(VM 在開窗時已把輸入人員帶成目前登入者、輸入日期帶成「本月 1 日 ~ 今天」),但本頁的 XAML 畫面只擺出傳票號碼條件,未提供切換到輸入人員查詢的控件。實務上以傳票號碼區間查詢為準。

欄位連動與附加功能

本頁邏輯主要來自 BudgetPrintViewModel 與共用的 SliyPrintBll(列印引擎與傳票列印年度傳票列印同源)。

從預算編列帶單號進來

  • 當你在預算編列按工具列 列印,母表單會建立本頁的 ViewModel,並把目前主檔的傳票號碼同時填入本頁的 起始傳票號碼截止傳票號碼 兩格(母表單 GetPrintViewModel),讓你可直接查詢、列印當前這張單。

開窗即帶的預設值

  • 進入本頁時,系統把查詢方式設為 傳票號碼、把(程式碼層的)輸入人員帶成目前登入者、輸入日期起始設為本月 1 日、截止設為今天。畫面上只會看到傳票號碼起訖兩格——前述人員/日期預設值供未開放的查詢路徑使用。

查詢 撈資料(背景處理,無畫面清單)

  • 當你按工具列 查詢,系統呼叫後端 DARB_RPT_BUDGET(透過 SliyPrintBll.SliyPrintSearch(SliyType.BUDGET))撈出預算單,依傳票號碼分群成「一張單對多筆分錄明細」的結構,並暫存在 ViewModel。
    • 查詢條件為 傳票號碼 BETWEEN 起始 AND 截止(兩端各包成 N'...')。
    • 撈回後每一張單都會被自動設為選取IsChosen = true),並把第一張設為目前選定項。
    • 這些都在背景完成——本頁畫面沒有結果清單,使用者不需(也無法)在畫面上逐張勾選。
  • 若區間內查不到任何預算單,暫存清單為空,沒有可列印的資料。

列印 / 預覽 把選取的單攤平送報表

  • 當你按工具列 列印預覽,系統把查詢撈回、IsChosen 為真的預算單分錄攤平成報表資料來源後寫入 SQLite(rpt_n120_budget_report1),再交給 FastReport 套印。攤平的欄位包含:傳票日期、傳票號碼、輸入人員、科目代號、科目名稱、摘要、本借方金額、本貸方金額、部門代號(科目/金額/摘要來自分錄明細,傳票日期與輸入人員來自單頭)。
  • 套用的報表固定為下表這一張:
報表編號 報表抬頭 尺寸 / 區域 SQLite 資料表
N120-1 預算表(Budget) A4 / TW rpt_n120_budget_report1
  • 列印時系統一併把查詢條件(傳票號碼起訖、輸入人員、輸入日期起訖)當作報表參數傳入,供報表抬頭/頁尾顯示。

VFP 原始碼

本表單在 VFP 舊版對應的列印程式碼未收錄於本 repo,故欄位事件僅依新版 C# 程式碼描述;若日後補入 VFP 來源再行校對。

常見問題

按了查詢卻撈不到任何預算單?

本頁只靠傳票號碼區間查詢。請確認:(1) 起訖傳票號碼確實涵蓋到已建立的預算單號碼;(2) 該號碼的預算單已在預算編列存檔(存檔前顯示 +++ 的暫存單還沒有正式號碼,查不到)。若是從預算編列按 列印 進來,號碼已自動帶好,直接查詢即可。

按了列印卻沒東西?

列印會先依目前的傳票號碼起訖區間撈預算單,撈到的單會自動全部納入報表。若印出空白,多半是起訖區間沒涵蓋到任何已存檔的預算單——請確認號碼區間正確、且該預算單已在預算編列存檔。

報表上的科目名稱是空白?

科目名稱取自會計科目表。若該科目代號在科目主檔找不到、或未維護名稱,報表該欄就會留白。請先到會計科目表補齊科目資料。

可以在這個畫面改預算金額嗎?

不行。本頁只做查詢與列印,所有欄位都是唯讀。要新增、修改、刪除預算單或調整分錄金額,請到預算編列

為什麼畫面上沒有「輸入人員 / 輸入日期」查詢條件?

本頁的畫面只開放傳票號碼區間查詢。程式碼層雖保留了輸入人員+輸入日期的查詢路徑,但未在此畫面擺出切換控件,因此實務上一律以傳票號碼查詢。

相關功能