程式資訊
- 程式 ID:
Grpmaccl - 所屬子系統:I.帳款管理
- 狀態:stable
費用科目表¶
功能簡介¶
「費用科目表」用來建立費用群組科目別與部門/會計科目之間的對應關係。一張單據由一個群組科目別(主檔)帶出多筆「群組代號+部門代號+科目代號」的明細,作為日後費用攤提、報表彙整時把費用歸到正確部門與會計科目的依據。
主要由會計/財務人員維護。建立後,凡是引用同一個群組科目別的功能,都能依本表把費用分攤到對應的部門與科目,因此這份資料屬於 ARAP(帳款管理)流程裡的基礎對應主檔,需在開始拋轉費用前先維護好。
與「群組」主檔的關係
明細上的群組代號取自基礎資料模組的「群組」主檔(GRPM),本表只是把群組再對應到部門與科目,並不在這裡新增群組本身。若明細找不到要用的群組代號,請先到群組主檔建立。
前置需求¶
- 權限:I.帳款管理 →
I-090 費用科目表的新增/修改/刪除/瀏覽/列印權限。 - 基礎資料:明細的三個代號欄位都採「Seek(查碼)」帶值,必須先在各自的主檔維護完成,否則輸入時找不到資料:
| 資料 | 影響的結果 |
|---|---|
群組主檔(GRPM) |
明細群組代號可選範圍,並自動帶出群組說明 |
部門主檔(DEPT) |
明細部門代號可選範圍,並自動帶出部門簡稱 |
會計科目主檔(ACCL) |
明細科目代號可選範圍,並自動帶出科目名稱 |
操作步驟¶
本表為「主檔+明細」的標準單據,工具列提供新增/修改/刪除/瀏覽/列印。
新增一張費用科目表¶
- 按工具列
新增。系統會建立一張空白主檔,借貸別自動帶入D(借)。 - 輸入主檔欄位:
- 群組科目別(必填,最多 2 碼):本張單據的代號,不可空白、也不可為
+++。 - 財務類別群(必填,最多 60 字):這個群組科目別的財務分類說明文字。
- 借貸別(必填):下拉選
D(借)或C(貸),預設D。
- 群組科目別(必填,最多 2 碼):本張單據的代號,不可空白、也不可為
- 在下方明細格線逐列輸入:
- 群組代號:點欄位以 Seek 視窗選取群組,選定後右側群組說明自動帶出。
- 部門代號:以 Seek 視窗選取部門,部門簡稱自動帶出。
- 科目代號:以 Seek 視窗選取會計科目,科目名稱自動帶出。
- 按工具列
儲存。系統會逐項檢核(見欄位連動與附加功能),通過後寫回資料庫。
修改 / 刪除¶
- 用瀏覽或上一筆/下一筆找到要處理的群組科目別。
- 按
修改,調整主檔文字或明細列;要刪除某一明細列時,清空該列的群組代號即可,存檔時系統會自動把該列標記刪除。 - 整張單據作廢時按
刪除。 - 按
儲存套用變更。
列印¶
- 在要列印的單據上按工具列
列印,開啟費用科目表列印條件頁。 - 條件頁的群組科目別起訖會自動帶入目前這張單據的代號,可改成範圍。
- 確認後輸出「費用科目表」報表(報表編號
I090-1,A4)。
報表來源
列印走 GrpmacclPrintViewModel,報表抬頭為「費用科目表」,須有起訖群組科目別才會有報表資料;兩端任一空白時不產生報表。
欄位說明¶
主檔¶
| 欄位 | 必填 | 說明/格式/預設 |
|---|---|---|
| 群組科目別 | ✔ | 主鍵,最多 2 碼;不可空白、不可為 +++ |
| 財務類別群 | ✔ | 最多 60 字的財務分類說明 |
| 借貸別 | ✔ | 下拉 D(借)/C(貸);新增時預設 D |
明細¶
| 欄位 | 必填 | 說明/格式/預設 |
|---|---|---|
| 序號 | — | 系統產生,唯讀 |
| 群組代號 | ✔ | Seek 自群組主檔(GRPM),最多 10 碼 |
| 群組說明 | — | 由群組代號自動帶出,唯讀 |
| 部門代號 | ✔ | Seek 自部門主檔(DEPT),最多 10 碼 |
| 部門簡稱 | — | 由部門代號自動帶出,唯讀 |
| 科目代號 | ✔ | Seek 自會計科目主檔(ACCL),最多 20 碼 |
| 科目名稱 | — | 由科目代號自動帶出,唯讀 |
分攤率欄位目前停用
Source 中保留分攤比率欄位,但畫面上的「分攤率」欄與「明細分攤率合計需為 100」的檢核在新版皆已註解停用,故畫面不顯示、存檔也不會以分攤率合計擋下。若日後需要按比率攤提再行啟用。
欄位連動與附加功能¶
這一節整理「輸入某欄位/按某按鈕後,系統會做什麼」,全部對應實際程式碼(GrpmacclViewModel、GrpmacclSave、Seek 欄位與 VFP 原程式):
新增時的預設值¶
- 當你按
新增,系統執行AfterAddNew,把主檔借貸別設為D(借)。其餘欄位為空,需手動輸入。
明細三個代號的 Seek 連動(最常用)¶
明細的三個代號欄都是「Seek(查碼)」型欄位,輸入後會去對應主檔比對並帶回說明文字:
- 當你在「群組代號」選取一個群組,系統依群組主檔(
GRPM)比對,把該群組的說明帶到同列的群組說明欄(唯讀)。 - 當你在「部門代號」選取一個部門,系統依部門主檔(
DEPT)比對,把部門簡稱帶到同列的部門簡稱欄(唯讀)。 - 當你在「科目代號」選取一個科目,系統依會計科目主檔(
ACCL)比對,把科目名稱帶到同列的科目名稱欄(唯讀)。
這三個說明欄都是顯示用、不能直接打字;要改內容請回到各自主檔維護。
存檔前的明細整理(HandleDataBeforeEndEdit)¶
- 當你按
儲存,系統在寫回前先逐列檢查明細:只要該列的群組代號或科目代號為空白,就把該列標記為刪除(增刪修 = D),不會存成一筆空列。 - 因此清空一列的群組代號就等於刪掉該列;不需要另外的「刪除列」動作。
與 VFP 的差異
VFP 原程式只在「群組代號為空」時刪列;新版額外把「科目代號為空」也視為要刪除的列,作為避免存到不完整明細的防呆。
存檔檢核(AllowSave)¶
按 儲存 時,系統依序檢核主檔三欄,任一不通過就跳訊息並擋下存檔:
- 群組科目別空白或等於
+++→ 提示請輸入群組科目別。 - 財務類別群空白 → 提示請輸入財務類別群。
- 借貸別空白 → 提示請輸入借貸別。
借貸別只能 D 或 C(VFP 行為)
VFP 原程式在借貸別欄位離開時會檢核:若有輸入但不是 D 或 C,會跳「請輸入 D 或 C」並擋住。新版主檔以下拉選單提供 D/C 兩個選項,從來源上避免輸入其他值。
列印(GetPrintViewModel / IPrintSource)¶
- 當你按
列印,GrpmacclViewModel建立列印 ViewModel,並把目前主檔的群組科目別同時帶入列印條件的「起」與「迄」,預設只印目前這張單據;可在條件頁改成範圍。 - 列印需要起訖群組科目別都有值才會產出報表資料。
常見問題¶
按儲存時被擋下,提示要輸入群組科目別/財務類別群/借貸別?
這三欄是主檔必填。請確認群組科目別已填且不是 +++、財務類別群有文字、借貸別已選 D 或 C,再按一次 儲存。
明細的群組說明/部門簡稱/科目名稱一直空白?
這三欄是由代號自動帶出的唯讀欄位,來源分別是群組主檔(GRPM)、部門主檔(DEPT)、會計科目主檔(ACCL)。若帶不出來,多半是該代號在對應主檔裡尚未建立或被停用——請先到主檔維護該筆資料,再回來重選代號。
存檔後發現少了一列明細?
存檔前系統會把「群組代號或科目代號空白」的明細列自動標記刪除。請確認該列的群組代號與科目代號都有確實選到,再重新存檔。
畫面上看不到「分攤率」欄位?
新版刻意停用了分攤率欄與「分攤率合計需為 100」的檢核(程式中已註解),所以畫面不顯示也不檢核。目前的對應只記錄群組/部門/科目,不含比率。
列印時印不出資料?
列印需要起訖群組科目別兩端都有值。在目前單據上按 列印 時系統會自動把這張單據的代號帶入起訖;若手動清空了某一端就會印不出資料。
相關功能¶
需補截圖清單
以下截圖待功能 runtime 驗收後補拍(放 docs/I-ARAP/images/):
grpmaccl-step1.png— 主檔欄位(群組科目別/財務類別群/借貸別)全貌grpmaccl-step2.png— 明細格線與三個代號 Seek 帶出的說明欄grpmaccl-step3.png— 列印條件頁(群組科目別起訖)