程式資訊
- 程式 ID:
SliyyearPrint - 所屬子系統:N.總帳管理
- 狀態:stable
年度傳票列印¶
功能簡介¶
「年度傳票列印」是年度傳票(期初餘額)的列印伴隨頁,提供會計人員把已建立的期初餘額傳票挑出來、預覽或套印成正式憑證——也就是 傳票年度表(報表編號 N140-1)。
它本身不負責建立或修改傳票,資料一律來自年度傳票主檔。一般不會單獨開啟本頁,而是在年度傳票畫面上點 列印 時自動帶出:系統會把目前那張傳票的傳票號碼同時帶成列印的起始與截止傳票號碼,預設只印當前這一張。
與年度傳票輸入是兩支不同的程式
本頁(ProgramClass = SLIYYEARPRINT)與年度傳票輸入作業(ProgramClass = SLIYYEAR)共用同一份總帳資料,但各自有獨立的權限與畫面。要新增、修改、刪除年度傳票請到年度傳票輸入頁;本頁只做查詢與列印。
前置需求¶
- 權限:N.總帳 →
N-140 年度傳票的瀏覽與列印權限。 - 基礎資料:列印內容取決於下列資料是否已維護——
| 資料 | 影響的結果 |
|---|---|
| 年度傳票(期初餘額) | 可被撈出與列印的來源;沒有對應傳票就查不到任何資料 |
| 會計科目(科目主檔) | 報表上的科目名稱 |
操作步驟¶
從年度傳票直接列印(最常用)¶
- 在年度傳票畫面用查詢/翻頁定位到要列印的那張傳票。
- 點工具列的
列印,系統開啟本列印頁,並把該傳票的傳票號碼自動帶成起始傳票號碼與截止傳票號碼(兩欄相同,預設只印這一張)。 - 確認查詢方式為
傳票號碼、起訖傳票號碼無誤後,按預覽先看版面,或按列印直接送印傳票年度表。

自行指定傳票號碼區間¶
- 在條件區把查詢方式維持在
傳票號碼(預設)。 - 直接修改起始傳票號碼/截止傳票號碼,改成你要列印的區間。
- 按
查詢撈出區間內的年度傳票,再按預覽或列印。
小技巧
要一次補印某段連號的年度傳票,把起訖傳票號碼設成該區間即可,不必逐張從年度傳票畫面點列印。
欄位說明¶
| 欄位 | 必填 | 說明/格式/預設 |
|---|---|---|
| 查詢方式(傳票號碼) | ✔ | 條件選項;本頁固定以傳票號碼區間查詢,預設即為此項 |
| 起始傳票號碼 | — | 區間下限;由年度傳票畫面帶入時自動填當前傳票號碼,預設空白 |
| 截止傳票號碼 | — | 區間上限;由年度傳票畫面帶入時自動填當前傳票號碼,預設空白 |
備註
本列印頁的條件面板只開放傳票號碼區間。SliyyearPrintViewModel 內部另有「輸入人員+系統登錄日期」的查詢條件(系統登錄起日預設當月 1 日、迄日為今天,輸入人員預設為目前使用者),但本頁畫面未提供這組欄位,故僅供內部使用、操作上一律以傳票號碼為準。
欄位連動與附加功能¶
這一節把「按某按鈕/開窗後系統會做什麼」逐條列出,全部來自實際程式碼。
從年度傳票開窗即帶值(GetPrintViewModel)¶
- 在年度傳票點
列印時,母表單會建立本列印頁的 ViewModel,並把目前主檔的傳票號碼同時指派給起始傳票號碼與截止傳票號碼——所以預設就是「只印眼前這一張」。 - 若母表單目前沒有選定任何傳票(主檔為空),起訖傳票號碼會維持空白,需自行輸入區間再查詢。
開窗預設值(建構時帶入)¶
進入本列印頁時,ViewModel 會帶入下列預設:
- 查詢方式:
傳票號碼。 - 輸入人員:目前登入使用者(供內部「輸入人員」條件用)。
- 系統登錄起日:當月 1 日(今天的年月 +
01)。 - 系統登錄迄日:今天。
備註
上述「輸入人員/系統登錄日期」是 ViewModel 內部保有的條件預設值,本頁畫面並未呈現對應欄位;實際查詢以傳票號碼區間為準。
按 查詢 撈資料(QueryExecute → SliyPrintBll)¶
- 系統依傳票號碼區間條件,呼叫後端年度傳票報表程序
DARB_RPT_SLIYYEAR取得傳票主檔與明細。 - 撈回的明細會依傳票號碼分群,組成「一張傳票對多筆分錄」的結構(主檔含傳票號碼、傳票日期、帳別、傳票種類、輸入人員、輸入日期、已審核等)。
- 群組完成後,每一張傳票主檔都會被自動設為勾選(
IsChosen = true),並自動選中第一張傳票。
列印 / 預覽(GetReportSource → FastReport)¶
- 列印時,系統只取已勾選的傳票,把其分錄攤平成報表資料來源,欄位包含:傳票日期、傳票號碼、輸入人員、摘要、本借方金額、本貸方金額、科目代號、科目名稱、部門代號。
- 攤平後的資料寫入 SQLite 報表表(
rpt_n140_sliyyear_report1),再交給 FastReport 套印。 - 報表清單只有一份:
| 報表編號 | 報表抬頭 | 尺寸 / 區域 |
|---|---|---|
| N140-1 | 傳票年度表 | A4 / TW |
VFP 原始碼
本列印頁在 VFP 舊版對應的程式碼(sliyyearprint*.prg)未收錄於本 repo,故欄位事件僅依新版 C# 程式碼描述;若日後補入 VFP 來源再行校對。
常見問題¶
按了查詢卻撈不到任何傳票?
本頁以傳票號碼區間查詢。請確認:(1) 起訖傳票號碼確實涵蓋到存在的年度傳票;(2) 該號碼對應的傳票已在年度傳票建立並存檔。從年度傳票畫面點 列印 進來時,起訖會自動帶當前傳票號碼,通常不會落空。
起訖傳票號碼是空白?
從年度傳票畫面點 列印 進來時,系統才會把當前傳票的傳票號碼帶入起訖兩欄。若你是直接開啟本頁、或母表單目前沒有選定傳票,兩欄會是空白,需要自行輸入要列印的傳票號碼區間。
預覽出來是空的、印不出東西?
報表只送已勾選的傳票。查詢後系統會把撈回的傳票全部預設勾選;但若條件區間沒撈到任何傳票,自然就沒有可列印的資料。請先確認查詢有撈到資料(見第一題)。
報表上的科目名稱是空白?
科目名稱取自會計科目主檔的對照。若該科目代號在主檔查不到、或未維護名稱,報表該欄就會留白。
可以在這裡改傳票內容嗎?
不行。本頁只做查詢與列印,所有欄位都是唯讀。要新增、修改、刪除年度傳票或調整分錄,請到年度傳票(期初餘額)輸入作業。