生命週期如何運作
每個期間都有結帳狀態,除非你刻意往回退,否則只朝一個方向移動:未結 → 已鎖定 → 已關閉。這個狀態與較舊的Active/Inactive 旗標是分開的,後者只標記目前的期間,讓 Alforse 能依需求建立下一個。
已鎖定或已關閉的期間會阻止什麼
每條過帳路徑在寫入任何東西之前,都會向會計服務詢問目標期間處於哪個狀態。
資料庫規則為已關閉的期間支援這些檢查。它們拒絕把未過帳的發票或付款日期定在已關閉的期間,避免期間的日期範圍在已過帳日記帳之下移動,並阻止被從已關閉的期間刪除或移出(“Cannot delete journal …: accounting period is closed”,無法刪除日記帳……:會計期間已關閉)。已鎖定的行為取決於知道是誰在過帳,所以只由應用程式強制執行。
結帳檢核表
結帳會走過一份儲存的檢核表。貴公司保有結帳任務的範本,Alforse 會在你第一次開啟某個期間的結帳畫面時,把它複製成該期間的清單。每家公司都附有九項系統任務;你可以停用它們,但無法刪除。任務類型
如果 Alforse 找不到自動任務背後的評估器,它會把該檢查視為失敗而不是通過。這讓結帳保持被阻擋,並使原因可見。阻擋項與警告
每個自動任務都有嚴重程度,決定檢查失敗時會怎樣:內建檢查
其餘三項系統任務是上述的動作。沒有「關閉期間」任務:關閉是檢核表通過後你按下的按鈕。
關閉期間
請不要依賴按鈕的狀態:伺服器與資料庫規則都會拒絕任何檢核表不允許的關閉。解鎖與重新開啟
有兩個動作可以讓期間退一步,它們撤銷的程度不同。
重新開啟會刪除該期間自己的快照,以及任何包含它的較晚快照,因為每個快照都累計到其期間的結束日期。之後該月份的過帳即可恢復。在期間再次關閉之前,餘額報表會讀取完整的交易歷史,而不是快照。