跳轉到

程式資訊

  • 程式 IDCloseBook
  • 所屬子系統:N.總帳管理
  • 狀態:stable

關帳作業

功能簡介

「關帳作業」用來設定新的關帳日期,把該日期(含)以前的傳票鎖定起來,防止已結算期間的單據被事後新增、修改或刪除。它不是一張可獨立輸入的單據,而是一個模態設定視窗:在總帳傳票輸入按下延伸功能 關帳 時跳出,由會計、出納、倉管主管在月結或年結時操作。

視窗以三個頁籤分別管理三套帳的關帳日期,三者各自獨立、互不影響:

  1. 傳票(總帳)—— 控制總帳傳票的關帳日期。
  2. 出納 —— 控制出納帳(票據/資金)的關帳日期。
  3. 庫存 —— 控制庫存帳的關帳日期。

每個頁籤都只做一件事:把該帳套的關帳日期往後推到你輸入的新關帳日期。設定完成後,系統會回到傳票輸入畫面並重新整理資料。

「關帳」與「結帳」

本系統內部一律以關帳稱呼此動作(畫面標題、訊息、欄位皆為「關帳日期」)。功能本質是「把帳冊鎖定到某日」,與一般口語的「期末結帳」是同一件事。

前置需求

  • 權限:本視窗由總帳傳票輸入SLIY)的延伸功能 關帳 開啟,因此需具備傳票輸入程式的使用權限;本功能本身沒有獨立的選單入口。
  • 基礎資料/前置作業
資料/作業 影響什麼
三套帳的現行關帳日期參數(_prgpar 項目 2001/3002/3001) 畫面上現行關帳日期的顯示值,以及驗證新日期的下限
最低可關帳日(資產負債表審核日期) 新關帳日期必須大於此日,否則擋存(見欄位連動與附加功能
當期傳票已輸入並完成審核 關帳後該期間無法再補單或改單,請先確認帳務完整

注意

關帳是單向動作:一旦把關帳日期往後推,該日期(含)以前的傳票即被鎖定,無法再從傳票輸入修改或刪除。執行前務必確認帳務正確。

操作步驟

  1. 進入總帳傳票輸入,於工具列或延伸功能按下 關帳,開啟「關帳作業」視窗(系統開啟時預設停在傳票頁籤)。
  2. 切換到要關帳的帳套頁籤:

    1. 傳票 —— 總帳。
    2. 出納 —— 出納帳。
    3. 庫存 —— 庫存帳。
  3. 確認上方唯讀的 現行關帳日期(系統目前鎖定的截止日)。

  4. 新關帳日期 欄位輸入要推進到的截止日,格式 yyyy/MM/dd(系統預設帶入今天)。
  5. 儲存。系統會逐項檢核(見下節),通過後即更新該帳套的關帳日期並關閉視窗。
  6. 回到傳票輸入畫面後,資料會自動重新整理;已落在新關帳日期內的傳票即被鎖定。

若不想變更,按 離開 直接關閉視窗,不會寫入任何變動。

小技巧

三套帳可在同一次開窗內分別處理:切到一個頁籤輸入日期並 儲存,再開窗切換另一頁籤即可,無須一次全做。

欄位說明

欄位 必填 說明/格式/預設
頁籤(帳套) 傳票(總帳)/出納庫存,決定這次關的是哪一套帳;開窗預設停在「傳票」
現行關帳日期 唯讀。各帳套目前鎖定的截止日,分別取自 _prgpar 項目 2001(傳票)/3002(出納)/3001(庫存)
新關帳日期 即將設定的截止日,格式 yyyy/MM/dd,預設帶入系統當日;必須大於「最低可關帳日」

欄位連動與附加功能

這一節說明每個動作背後系統實際做了什麼。

開窗時帶入的初值

當你開啟關帳作業視窗,系統會:

  1. 三個頁籤的 新關帳日期 全部預填今天yyyy/MM/dd)。
  2. 讀取 _prgpar 三筆參數,把各頁籤的 現行關帳日期 顯示出來:
    • 傳票 ← 項目 2001
    • 出納 ← 項目 3002
    • 庫存 ← 項目 3001
  3. 透過資料庫函式取得「最低可關帳日」(程式註解標示為資產負債表審核的日期),作為後續驗證新日期的下限,存在記憶體備用。

儲存 時的檢核(依序)

當你按 儲存,系統會針對目前所在頁籤的新關帳日期逐項檢查,任一項不過就跳訊息並中止:

  1. 不可空白:新關帳日期若空白,跳出「請先輸入關帳日期」。
  2. 必須大於最低可關帳日:若新日期不大於「最低可關帳日」(資產負債表審核日期),跳出「關帳日期必須大於 〔該日期〕」。
  3. 日期格式要正確:若內容無法解析成日期,跳出「日期格式錯誤」。
  4. 三項都通過後,才呼叫關帳邏輯實際寫入。

下限為什麼是資產負債表審核日

系統把「資產負債表已審核到的日期」當成關帳日的最低門檻,避免把關帳日設得比已確認的財報還早,造成帳務基準倒退。

寫入關帳日期時系統做的事

驗證通過後,系統執行下列動作把新日期寫回參數:

  1. 依頁籤決定要更新的 _prgpar 項目(傳票=2001、出納=3002、庫存=3001)。
  2. 再驗一次新日期是否不小於最低可關帳日(雙保險;下限值同樣透過資料庫函式取得)。
  3. 把該筆參數標記為「修改」(增刪修=E)、參數 欄改成新關帳日期,透過 ItemsBindingManager 上傳機制寫回資料庫。
  4. 同步更新目前登入使用者記憶體中的參數清單,讓後續操作立即吃到新的關帳日。
  5. 寫入成功後,視窗以「成功」結果關閉,呼叫端(傳票輸入)隨即重新整理畫面。

鎖定範圍

關帳日期一旦推進,總帳傳票輸入在該日期(含)以前就無法新增、修改或刪除傳票。若確需更正已關帳期間,請改以新期間沖銷傳票處理,或由系統管理員調整關帳日期參數後重作。

排程自動關帳(AutoPilot)

除了人工開窗,本功能也內建一個 AutoPilot 排程任務(任務名稱 CloseBook/顯示「關帳」),可由排程器在指定時間自動關帳:

  • 預設參數為 CloseType=2001(總帳)、CloseDate=今天
  • 排程觸發時,會把 CloseDate 的日期代碼換算成實際日期,再呼叫與手動相同的關帳邏輯(含「必須大於最低可關帳日」檢核)。
  • 成功回報「關帳完成」,失敗則回報失敗原因。

排程關帳的帳套

排程任務以 CloseType 參數指定帳套(2001 傳票/3002 出納/3001 庫存),與手動頁籤對應同一組代碼。設定排程的細節請洽系統管理員。

常見問題

找不到「關帳作業」的選單?

關帳作業沒有獨立的主選單入口,它是總帳傳票輸入裡的延伸功能。請先進入傳票輸入,再按 關帳 叫出視窗。

按儲存出現「關帳日期必須大於 …」?

新關帳日期必須大於系統的「最低可關帳日」(即資產負債表已審核到的日期)。請確認你輸入的日期晚於該下限;若下限本身有誤,需先處理資產負債表的審核狀態。

按儲存出現「請先輸入關帳日期」或「日期格式錯誤」?

前者代表 新關帳日期 欄是空的;後者代表輸入的內容無法解析成日期。請以 yyyy/MM/dd 格式填入有效日期後再存。

現行關帳日期顯示空白或不是預期的值?

現行關帳日期直接取自 _prgpar 參數(傳票 2001/出納 3002/庫存 3001)。若顯示空白或異常,表示該參數尚未建立或值不正確,請洽系統管理員檢查參數設定。

三套帳的關帳日期一定要一樣嗎?

不必。傳票出納庫存 三套帳各自獨立,分別寫入不同的參數項目,可依各自的作業進度分別關帳。

關帳後發現傳票有誤,能改嗎?

已落在關帳日期(含)以前的傳票無法直接修改或刪除。請以新期間開立沖銷傳票更正,或請系統管理員暫時調整關帳日期參數後再處理。

相關功能

  • 總帳傳票輸入:關帳作業的開啟入口;已關帳期間的傳票於此被鎖定
  • 年度傳票:年結後維護次年期初/年度傳票
  • 系統管理_prgpar 參數與排程(AutoPilot)設定

需補截圖清單

以下截圖待功能 runtime 驗收後補拍(放 docs/N-GeneralLedger/images/):

  1. closebook-step1.png — 從傳票輸入按 關帳 叫出視窗的入口
  2. closebook-step2.png — 三個頁籤(傳票/出納/庫存)與現行關帳日期、新關帳日期欄位全貌
  3. closebook-step3.png — 輸入新關帳日期並 儲存 後的成功狀態