程式資訊
- 程式 ID:
ASSETMPRINT - 所屬子系統:Q.固定資產
- 狀態:stable
資產主檔列印¶
功能簡介¶
「資產主檔列印」是固定資產主檔的列印伴隨頁。它本身不維護資料,只提供一組列印條件,讓使用者圈選要列印/預覽哪些資產,再交給報表引擎輸出資產清冊/折舊明細等報表。會計、財務人員在做完資產登錄與折舊計算(資產主檔的 計算折舊)後,常用它把指定年月、指定編號區間、指定分類與狀況的資產印成正式報表。
此頁不是獨立的主選單程式,而是由資產主檔的列印功能帶出——程式代碼為 ASSETMPRINT,其母程式(MainProgramClass)為固定資產主檔(ASSET)。因此它的權限、可印報表清單都掛在資產主檔底下。
與資產主檔的關係
本頁的 ViewModel(AssetPrintViewModel)繼承自共用的 PrintPageViewModel,建構時即把母程式設為 ASSET。換句話說:列印權限看的是資產主檔的權限,可選報表也來自資產主檔登錄的報表清單。母表單 AssetViewModel.GetPrintViewModel() 負責開出本頁。
前置需求¶
- 權限:Q.固定資產 → 固定資產主檔(
Q-010)的列印權限。本頁沒有獨立的選單權限,沿用母程式。 - 基礎資料:列印內容的完整度取決於下列資料是否已維護——
| 資料 | 影響的結果 |
|---|---|
| 固定資產主檔(資產主檔) | 報表的資產基本資料、取得原價、年限等 |
資產折舊明細(在資產主檔按 計算折舊 產生) |
報表的本期折舊、累計折舊、各月折舊 |
財產分類代碼檔(Cmb_C223) |
財產分類 下拉選單的可選項目 |
現有狀況代碼檔(Cmb_C224) |
現有狀況 下拉選單的可選項目 |
操作步驟¶
- 在固定資產主檔翻到要列印的資產,按列印,系統帶出本條件面板。若母表單目前停在某筆資產,系統會把該筆財產編號同時帶進起始財產編號與截止財產編號(見欄位連動與附加功能)。
- 設定年度與月份:決定報表的截止年月(折舊計算基準到該月)。預設帶今年與當月。
- 視需要調整起始財產編號與截止財產編號圈出要列印的編號區間。要印整批時,把起始編號清空、截止編號設為
zzzz,即可一路印到最大編號。 - 選擇現有狀況(下拉):限定只印某一狀況的資產,或選
All不限。 - 選擇財產分類(下拉):限定只印某一分類的資產,或選
All不限。 - 按列印工具列的預覽/列印,系統依上述條件撈出資產資料並套用報表格式輸出。
小技巧
從資產主檔某一筆進來時,起訖財產編號已自動填成該筆編號,直接列印即只印當前這一筆,不必手動輸入;想印整批再把區間放寬即可。
欄位說明¶
| 欄位 | 必填 | 說明/格式/預設 |
|---|---|---|
| 年度 | ✔ | 報表截止年度,4 位數年。預設帶系統當年(DateTime.Now.Year)。 |
| 月份 | ✔ | 報表截止月份,2 位數(如 06)。預設帶系統當月。年+月共同組成截止日 年/月/31。 |
| 起始財產編號 | — | 列印區間下界。本頁建構時為空字串(從最小編號起);但從資產主檔某一筆進來時,會被帶成該筆財產編號。 |
| 截止財產編號 | — | 列印區間上界。本頁建構時預設 zzzz(印到最大編號);從資產主檔某一筆進來時,會被帶成該筆財產編號(等於只印當前這一筆)。 |
| 現有狀況 | — | 下拉,來源為現有狀況代碼檔(Cmb_C224),清單最前面自動插入一筆 All(代碼 0)=不限狀況。預設 0。 |
| 財產分類 | — | 下拉,來源為財產分類代碼檔(Cmb_C223),清單最前面自動插入一筆 All(代碼 0)=不限分類。預設 0。 |
欄位連動與附加功能¶
這一節說明「輸入某欄位/按某動作後,系統實際做什麼」,全部以程式行為為準。
-
開窗即帶預設值:面板一開啟(VM 建構時),系統自動帶入——年度=今年、月份=當月(補零成 2 位)、截止財產編號=
zzzz、現有狀況=0(All)、財產分類=0(All)。起始財產編號留空。你可以直接套用這組預設值列印,不必逐欄輸入。 -
從資產主檔帶入當前編號:母表單
AssetViewModel.GetPrintViewModel()在開出本頁時,若主檔目前停在某筆資產,會把該筆財產編號同時塞進起始財產編號與截止財產編號(覆蓋上面的空值與zzzz預設)。因此一般情況下你看到的預設條件就是「只印當前這一筆資產」;要印整批時再自行把起始清空、截止改回zzzz。 -
下拉選單自動載入並補 All:開窗時系統分別讀取財產分類代碼檔(
Cmb_C223)與現有狀況代碼檔(Cmb_C224,皆透過ComboBoxItemsSource.GetFirstFieldIsDecimal取數),組成下拉清單,並在最前面各插入一筆All(代碼 0)。因此即使代碼檔還沒維護,下拉至少有一個All可選,代表「不依此條件過濾」。 -
年度/月份組成折舊截止日:年度 與 月份 不是各自獨立的篩選,而是合併成報表的取得截止日
年/月/31。報表據此判定哪些資產在該年月(含)以前已取得、以及折舊算到哪一期。 -
狀況與處分日期的篩選邏輯(程式中保留、尚未啟用):ViewModel 內備有一段以「年月截止日+編號區間+分類+狀況」組查詢條件的程式(
Asset1Report()),其條件意圖是:只取「現有狀況=1(在用),或處分日期晚於截止日」且「取得日期早於等於截止日」的資產,藉此排除截止日前就已處分的資產。但這整段目前是註解狀態(未啟用),並非現行送印路徑會跑的條件。報表產出尚在銜接中
本頁的條件面板與母程式(資產主檔)的報表清單已接好,可正常帶出條件並送印。但上面那段直接組條件呼叫查詢服務(
AssetReportBll.GetAssetPocos())的程式碼目前為保留(註解)狀態。實際輸出的報表內容以資產主檔所登錄、選定的報表格式(及其本身的撈取設定)為準;若預覽結果與預期欄位不符,請先確認所選報表本身的撈取設定。 -
可印報表清單來自資產主檔:本頁沒有自己的報表清單;可選哪些報表、預設選哪一張,都由母程式固定資產主檔登錄的報表決定(
MainProgramClass = ASSET)。要新增或調整可印報表,需到資產主檔的報表設定處理。 -
HaveReportData()恆為 true:本頁不在送印前先檢查「有沒有資料」,一律放行進入報表引擎。也就是說,若條件圈不到任何資產,仍會產出一張空白(無明細)的報表,而不是跳出「查無資料」。
常見問題¶
預覽出來是空白、沒有任何資產明細?
多半是條件圈太緊。常見原因:從某筆資產進來時,起訖財產編號被自動帶成同一個編號,若想印整批卻沒放寬區間,就只會印到那一筆;截止財產編號 記得保留 zzzz 或填到夠大;現有狀況/財產分類 是否誤選了某個值而非 All。本頁不會擋空資料,所以圈不到時會直接印出空白報表。
下拉的「財產分類」或「現有狀況」只有 All、沒有其他選項?
下拉內容來自財產分類代碼檔(Cmb_C223)與現有狀況代碼檔(Cmb_C224)。若代碼檔尚未維護,系統仍會自動補一筆 All,但不會有其他可選項。請先到基礎資料維護對應代碼檔。
為什麼找不到「資產主檔列印」這個選單?
它不是獨立選單程式,而是資產主檔的列印伴隨頁。請從資產主檔的列印功能進入。權限與可印報表也都掛在資產主檔底下。
已經報廢/處分的資產,年月一改就不見了嗎?
程式中保留了「現有狀況為在用、或處分日期晚於截止年月才列出」的篩選意圖,但這段條件目前是註解狀態、尚未啟用(見欄位連動與附加功能)。因此實際是否排除已處分資產,取決於所選報表本身的撈取設定;若印出的結果不如預期,請確認該報表的查詢條件。
改了年度/月份,折舊數字沒跟著動?
年度 與 月份 控制的是報表撈取的截止基準與折舊期別;實際折舊數字來自固定資產主檔按 計算折舊 後存下的折舊明細。若該資產該年月的折舊尚未在資產主檔計算,報表自然取不到對應的本期/累計折舊。
相關功能¶
- 固定資產主檔:本頁的母程式,資產登錄、折舊計算與維護由此進入。
- 預付費用:預付費用的建檔與按月攤提(同模組另一支業務程式,與資產折舊無直接關係)。
- 預付費用列印:預付費用的列印伴隨頁,操作模式與本頁相同。
- 固定資產模組首頁:模組功能總覽。
- 總分類帳模組:折舊傳票過帳去向。
需補截圖清單
以下截圖待功能 runtime 驗收後補拍(放 docs/Q-FixedAsset/images/):
assetprint-step1.png— 列印條件面板全貌(年度/月份/編號區間/狀況/分類)assetprint-step2.png— 「現有狀況」「財產分類」下拉展開(顯示最前面的 All)assetprint-step3.png— 報表預覽畫面