跳轉到

程式資訊

  • 程式 IDASSETMPRINT
  • 所屬子系統:Q.固定資產
  • 狀態:stable

資產主檔列印

功能簡介

「資產主檔列印」是固定資產主檔列印伴隨頁。它本身不維護資料,只提供一組列印條件,讓使用者圈選要列印/預覽哪些資產,再交給報表引擎輸出資產清冊/折舊明細等報表。會計、財務人員在做完資產登錄與折舊計算(資產主檔的 計算折舊)後,常用它把指定年月、指定編號區間、指定分類與狀況的資產印成正式報表。

此頁不是獨立的主選單程式,而是由資產主檔的列印功能帶出——程式代碼為 ASSETMPRINT,其母程式(MainProgramClass)為固定資產主檔ASSET)。因此它的權限、可印報表清單都掛在資產主檔底下。

與資產主檔的關係

本頁的 ViewModel(AssetPrintViewModel)繼承自共用的 PrintPageViewModel,建構時即把母程式設為 ASSET。換句話說:列印權限看的是資產主檔的權限,可選報表也來自資產主檔登錄的報表清單。母表單 AssetViewModel.GetPrintViewModel() 負責開出本頁。

前置需求

  • 權限:Q.固定資產 → 固定資產主檔Q-010)的列印權限。本頁沒有獨立的選單權限,沿用母程式。
  • 基礎資料:列印內容的完整度取決於下列資料是否已維護——
資料 影響的結果
固定資產主檔(資產主檔 報表的資產基本資料、取得原價、年限等
資產折舊明細(在資產主檔按 計算折舊 產生) 報表的本期折舊、累計折舊、各月折舊
財產分類代碼檔(Cmb_C223 財產分類 下拉選單的可選項目
現有狀況代碼檔(Cmb_C224 現有狀況 下拉選單的可選項目

操作步驟

  1. 固定資產主檔翻到要列印的資產,按列印,系統帶出本條件面板。若母表單目前停在某筆資產,系統會把該筆財產編號同時帶進起始財產編號截止財產編號(見欄位連動與附加功能)。
  2. 設定年度月份:決定報表的截止年月(折舊計算基準到該月)。預設帶今年當月
  3. 視需要調整起始財產編號截止財產編號圈出要列印的編號區間。要印整批時,把起始編號清空、截止編號設為 zzzz,即可一路印到最大編號。
  4. 選擇現有狀況(下拉):限定只印某一狀況的資產,或選 All 不限。
  5. 選擇財產分類(下拉):限定只印某一分類的資產,或選 All 不限。
  6. 按列印工具列的預覽/列印,系統依上述條件撈出資產資料並套用報表格式輸出。

小技巧

從資產主檔某一筆進來時,起訖財產編號已自動填成該筆編號,直接列印即只印當前這一筆,不必手動輸入;想印整批再把區間放寬即可。

欄位說明

欄位 必填 說明/格式/預設
年度 報表截止年度,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/):

  1. assetprint-step1.png — 列印條件面板全貌(年度/月份/編號區間/狀況/分類)
  2. assetprint-step2.png — 「現有狀況」「財產分類」下拉展開(顯示最前面的 All)
  3. assetprint-step3.png — 報表預覽畫面