驗證核准階段

系統驗證

對於每個核准動作,將在適用的情況下執行以下驗證程序。

升階/核准的系統驗證

  • 使用者是擁有實體寫入權限的有效擁有者

  • 實體的目前位置有指派的使用者

  • 實體的計算狀態為確定/無資料/系統已變更

鎖定系統驗證

為了在目前期間鎖定實體,實體同一年度內,前面每一個期間也須一律鎖定。如果目前期間是當年的第一個期間,則必須鎖定上一個期間 (也就是去年的最後一個期間)。

無階段相依性的階段性核准

由於沒有階段相依性,因此在同一個期間內,系統不會先檢查階段 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 被視為相同。

要執行核准動作,必須通過核准狀態和位置驗證的相依性檢查。如果驗證過程中有任何地方失敗,則核准動作將失敗。

除了核准動作的驗證規則外,系統還會驗證使用者何時可以存取資料以及他們可以執行的動作。請參閱資料驗證規則