程式資訊
- 程式 ID:
CODATAPRINT - 所屬子系統:A.系統資料
- 狀態:stable
公司表列印¶
功能簡介¶
「公司表列印」是公司表(CODATA)的列印伴隨頁:它本身不維護資料,只負責讓使用者指定要列印哪個範圍的公司主檔,再交給報表框架輸出/預覽 A020-1 公司表 這份報表。系統管理員建立或檢視公司基本資料後,若需要一份紙本(或 PDF)的公司主檔報表,就會用到這個畫面。
在流程中它接在公司表之後:先在公司表維護好公司代碼、簡稱、統一編號、地址、銀行、申報人等資訊,再透過本頁的列印條件把指定範圍輸出成報表。
本頁是列印條件面板,不是獨立選單
本畫面通常從公司表工具列的 列印 進入,是列印框架彈出的條件區。它只提供「列印範圍」的輸入欄位,實際的 預覽 / 列印 / 匯出 按鈕由共用的列印框架提供,不在本畫面內。
前置需求¶
- 權限:A.系統資料 →
A-020 公司表的瀏覽與列印權限(列印頁與母表單共用CODATA的權限設定)。 - 基礎資料:報表內容完全來自公司主檔,列印前請先在母表單維護好資料——
| 資料 | 影響的結果 |
|---|---|
| 公司表(公司代碼、簡稱、統一編號等) | 報表的每一欄內容;沒有建檔就印不出該公司 |
| 公司/工廠/發票/出貨地址、電話、傳真 | 報表上的地點與聯絡資訊區塊 |
| 銀行、SWIFT、帳號、申報人、EDI 帳號 | 報表上的銀行與申報人區塊 |
| 公司報表設定(報表資料維護) | 可用的報表清單、版面與套印設定 |
操作步驟¶
- 在公司表主畫面點工具列的
列印,系統帶出本列印條件面板。 - 確認列印條件為 公司代碼(畫面上唯一的選項,預設即選取)。
- 在 起始公司代碼 與 結束公司代碼 兩個欄位輸入要列印的代碼範圍(兩格中間以
~連接)。- 只想印一家公司時,起訖填同一個代碼即可。
- 留空(兩格皆為 0)時依報表設定取得對應範圍,請以實際預覽結果為準。
- 由列印框架選擇報表
A020-1 公司表(本頁僅提供一份報表,多半已自動選定)。 - 按列印框架提供的
預覽先在畫面檢視,確認無誤後再列印或匯出。
小技巧
報表清單、版面與輸出格式(列印機、PDF、Excel)都由共用列印框架控制;本頁只決定「印哪個代碼範圍」。調整範圍後重新 預覽 即可看到新結果。
欄位說明¶
| 欄位 | 必填 | 說明/格式/預設 |
|---|---|---|
| 列印條件 | ✔ | 固定為 公司代碼(程式內 PrintConditionEnum.DocumentNo,預設且唯一選項)。 |
| 起始公司代碼 | — | 列印範圍起點,數值欄位(TsNumericTextBox,PlaceEnum=Zero),預設 0。對應報表參數 BeginningDocumentNo。 |
| 結束公司代碼 | — | 列印範圍終點,數值欄位,預設 0。對應報表參數 EndingDocumentNo。 |
公司代碼是數值
公司主檔的 公司代碼 在資料表中是整數型別,因此本頁的起訖以數字輸入框呈現,而非文字框;輸入時不需補前導零。
欄位連動與附加功能¶
這支表單邏輯單純(純列印條件面板),程式碼裡實際存在的行為如下,全部寫成「當你…,系統會…」:
- 預設列印條件:畫面載入時,列印條件預設為
公司代碼(Condition = PrintConditionEnum.DocumentNo)。本報表只支援這一種條件,因此選項不可改。 - 起訖代碼預設 0:
BeginningDocumentNo與EndingDocumentNo兩個值預設都是0。當你不更動而直接列印時,系統就以這組預設值帶入報表參數。 - 組裝報表參數:當你執行預覽/列印時,系統呼叫
GetReportParameters(),把你輸入的 起始公司代碼(BeginningDocumentNo)與 結束公司代碼(EndingDocumentNo)打包成報表參數,傳給A020-1 公司表報表,報表據此篩選要輸出的公司範圍。 - 固定有資料可印:本頁的
HaveReportData()永遠回傳true,代表系統不會因為「沒抓到資料」而擋住列印動作;若範圍內沒有對應公司,預覽會呈現空報表,請改用正確的代碼範圍。 - 報表清單來源:
GetReports()回傳唯一一份報表——報表編號A020-1、抬頭「公司表」、區域TW、尺寸A4、對應資料來源rpt_a020_codata_report1。這份清單與母表單公司表的GetReports()完全相同,所以兩邊印出的是同一份報表。 - 共用母表單權限:本列印 VM 建構時以
ProgramClass.CODATA作為主程式(MainProgramClass),因此它在權限、版面套印設定上都跟著公司表走,不需另外設定一支獨立程式的權限。 - 支援列印套印設定:本頁實作了列印框架介面(
IPrintSource/IUpdatePrint),因此可套用報表資料維護裡為公司表設定的版面與套印規則。
沒有欄位重算或帶值連動
與一般單據不同,本頁沒有 SetNewData、Calculate*、HandleDataBeforeEndEdit 之類的欄位連動或重算邏輯——它只是收集列印範圍。所有資料運算都發生在報表端,不在這個面板。
常見問題¶
預覽出來是空白報表,印不到任何公司?
多半是 起始/結束公司代碼 範圍內沒有對應的公司主檔。請確認該代碼已在公司表建檔,並把起訖範圍涵蓋到正確的代碼;只想印一家時,起訖填同一個代碼。
起訖兩格預設都是 0,這樣會印出什麼?
兩格預設值都是 0。請依實際需求輸入正確的代碼範圍再預覽;輸出結果以列印框架實際抓到的資料為準,建議先 預覽 確認再正式列印。
為什麼列印條件只有「公司代碼」一個選項,不能改成日期或客戶?
公司表報表只支援以公司代碼範圍列印,程式內條件固定為 公司代碼(PrintConditionEnum.DocumentNo),因此沒有日期、客戶等其他條件可選,這是設計如此。
找不到這個列印畫面在主選單哪裡?
它不是獨立選單項目,而是公司表工具列 列印 帶出的條件面板。請先進入公司表,再按 列印。
想換報表版面或改成輸出 PDF/Excel 要去哪裡設定?
版面套印與輸出格式由共用列印框架與報表資料維護控制,不在本頁。本頁只決定列印的代碼範圍。
相關功能¶
- 公司表(母表單,CODATA)
- 報表資料維護
- 權限設定
- A.系統資料模組首頁
需補截圖清單
以下截圖待功能 runtime 驗收後補拍(放 docs/A-System/images/):
codataprint-step1.png— 列印條件面板全貌(公司代碼 Radio + 起訖代碼輸入框)codataprint-step2.png— 列印框架的預覽畫面(顯示A020-1 公司表報表)