系統驗證
對於每個核准動作,將在適用的情況下執行以下驗證程序。
升階/核准的系統驗證
使用者是擁有實體寫入權限的有效擁有者
實體的目前位置有指派的使用者
實體的計算狀態為確定/無資料/系統已變更
鎖定系統驗證
為了在目前期間鎖定實體,實體同一年度內,前面每一個期間也須一律鎖定。如果目前期間是當年的第一個期間,則必須鎖定上一個期間 (也就是去年的最後一個期間)。
無階段相依性的階段性核准
由於沒有階段相依性,因此在同一個期間內,系統不會先檢查階段 1 是否被鎖定,然後才能鎖定階段 2。
系統會檢查上一個期間鎖定。至於鎖定期間檢查,上一個期間的所有階段都會被鎖定,以便鎖定目前期間的任何階段。
例如,為了鎖定 March, NY: GroupA,則必須鎖定該實體的所有先前期間和所有階段。因此,Feb, NY: GroupA、GroupB、GroupC 和 Jan, NY: GroupA、GroupB、GroupC 必須被鎖定。
有階段相依性的階段性核准
至於有相依性的階段性核准,除了前期檢查外,系統還會檢查以確定同一期間內,前面各個階段都會被鎖定。
系統在鎖定每個階段時會檢查計算狀態。為了鎖定階段,實體必須是 OK、SC 或 NoData。
例如,第 1 階段可能已被鎖定,但後來您為尚未鎖定的第 2 階段輸入了更多的資料。為了鎖定階段 2,您必須整合該實體,以使計算狀態正常,然後才能鎖定階段 2。
解除鎖定系統驗證
為了在目前期間解除鎖定實體,實體同一年度內,未來每一個期間 (包含資料) 也須一律解除鎖定。
無階段相依性的階段性核准
由於沒有階段相依性,因此在同一期間內,系統不會在階段 1 解除鎖定之前檢查階段 2 是否已解除鎖定。
系統會檢查以確定未來期間,只要擁有資料的所有階段都不會被鎖定,以便解除鎖定目前期間的任何階段。
例如,為了解除鎖定 March, NY: GroupA,假設最後一個有擁資料的期間是 5 月,那麼所有未來期間 (4 月和 5 月) 所有階段都必須解除鎖定。April, NY: GroupA、GroupB、GroupC 和 May, NY: GroupA、GroupB、GroupC 必須被鎖定。
有階段相依性的階段性核准
至於有階段相依性的階段性核准,除了未來期間檢查外,系統還會檢查以確定同一期間內,後續各個階段都不會被鎖定。
使用者定義的驗證
階段性核准驗證是根據各階段的儲存格而定義的規則。
您可以定義任何您需要的驗證規則。您可以在資料表單中建立規則,也可以使用計算指令碼進行計算,然後將結果指派給驗證規則包含之表單所參考的科目。
如果您想讓不同階段使用不同的驗證規則,可以在階段定義中包含特定驗證科目。
由於自訂的驗證是選擇性的,因此您可能不需要對某些階段進行驗證,而對其他階段強制進行驗證。
階段相依性驗證
如果為「核准單位階層」選取「階段相依性」選項,則在允許特定的核准動作之前,會先進行其他的驗證檢查。以下核准動作需要其他的階段相依性檢查:
啟動
排除
升級
拒絕
取得所有權
重新開啟
核准
鎖定
解除鎖定
階段相依性檢查不適用於資料輸入,因為使用者在實體啟動之前並無法開始輸入資料。
核准單位階層中的實體群組具有三個特性,這些特性被考慮用於相依性檢查。
核准狀態驗證 (執行動作後的新核准狀態)
N+1 階段的核准狀態必須等於或低於 N 階段
位置驗證 (執行動作後的新位置)
X 級實體的位置必須等於或低於 X+1 級
擁有者與複查者驗證
同一位置的擁有者和複查者沒有相依性驗證。因此,升階路徑中同一位置的擁有者和 Reviewer1 和 Reviewer 2 被視為相同。
要執行核准動作,必須通過核准狀態和位置驗證的相依性檢查。如果驗證過程中有任何地方失敗,則核准動作將失敗。
除了核准動作的驗證規則外,系統還會驗證使用者何時可以存取資料以及他們可以執行的動作。請參閱資料驗證規則。