Important
本主題提到的部分或全部功能已在預覽版中一併提供。 內容和功能可能隨時變更。
本文描述 Microsoft Dynamics 365 Intelligent Order Management 中的狀態框架架構。
狀態框架架構是 Microsoft 於 2022 年 10 月在 Dynamics 365 智慧訂單管理中引入的新概念。 狀態框架透過執行時檢查實體當前狀態是否能轉換到另一個狀態來驗證業務流程規則。 例如,從 新檔 轉換到 進行中(In Progress) 如果有定義就會成功,但從 完成 轉換到 進行中 則會拋出錯誤。
使用者可以新增自己的狀態、狀態原因和轉換。 但是,他們無法自訂現成的定義。
狀態架構資料模型
狀態架構資料模型對目前資料模型進行了一些更新和新增。
下圖展示了狀態框架資料模型所新增的資料表。
更新到資料模型
實體狀態和狀態原因欄
狀態架構為作為 Intelligent Order Management 一部分的實體引入了兩個新欄。 這些欄位支援可本地化的 州 及 州理由 狀態欄位。 狀態框架也新增一個 ReadOnly 欄位,表示該紀錄在使用者介面(UI)中不可編輯。
| Field | Description |
|---|---|
| 狀態 | 實體所處的狀態,如狀態定義資料表所定義。 |
| 狀態原因 | 實體之所以處於目前狀態的詳細描述。 |
| 唯讀 | 如果該紀錄在 UI 中無法編輯,請將該值設為 True 。 否則,將其設為 False。 |
資料模型的新增內容
狀態定義資料表
狀態定義資料表可建立每個實體允許的狀態組。 這些狀態具有關聯的屬性,這些屬性包含中繼資料,以指示每個狀態的不同行為。
Note
在編排過程中,使用狀態來判斷有效的轉換。
| Field | Description |
|---|---|
| 狀態定義 | 狀態的全域唯一識別碼 (GUID)。 |
| 相關聯實體 | 狀態所屬的實體。 |
| 詳細資料 | 狀態的名稱。 |
| 狀態定義屬性 | 關聯中繼資料的查詢。 |
| 唯讀 | True 值會將實體標記為唯讀。 |
狀態定義原因資料表
狀態定義原因資料表可提供為什麼某些項目處於指定狀態的額外詳細資訊,但這可能不是指示有效狀態轉換的一部分。 例如,某些項目的狀態可以是等候,但狀態原因可以是延期交貨或預購。
| Field | Description |
|---|---|
| 狀態定義原因 | 狀態原因的 GUID。 |
| 狀態 | 狀態原因關聯的狀態。 |
| 詳細資料 | 州理由的名稱或描述。 |
狀態定義屬性資料表
狀態定義屬性資料表包含每個狀態的額外中繼資料。
| Field | Description |
|---|---|
| 狀態定義屬性 | 屬性的 GUID。 |
| 時間表位置 | 該狀態在 UI 中 進度條時間軸 控制項中出現的順序。 (此控制項在 2022 年 10 月版本中引入。) |
狀態轉換資料表
狀態轉換表包含當業務事件被提出時所發生的狀態轉換清單。 商業事件僅在當前狀態為允許狀態時設定狀態。
| Field | Description |
|---|---|
| 狀態轉換 | 狀態轉換的 GUID。 |
| 商業活動定義 | 查詢商務活動定義資料表以確定記錄屬於哪個商務活動。 |
| 來源狀態 | 允許轉換的來源狀態。 |
| 目標狀態 | 如果狀態正在從允許的來源狀態轉換,則要設定的目標狀態。 |
| 目標狀態原因 | 如果狀態正在從允許的來源狀態轉換,則要設定的目標狀態原因。 |
下表顯示了此資料表中資料的範例。
| 商業活動定義 | 來源狀態 | 目標狀態 | 目標狀態原因 |
|---|---|---|---|
| 現有檢查成功 | 進行中 | 履行進行中 | 庫存檢查成功 |
| 現有檢查成功 | 保留 | 履行進行中 | 庫存檢查成功 |
| 現有檢查失敗 | 進行中 | 保留 | 延期交貨保留 |
Scenarios
商務活動不存在轉換
如果 狀態轉換 表中沒有你正在建立的業務事件的紀錄,驗證會自動成功,但程序不會設定 狀態 或 狀態原因 值。
新增新狀態和轉換
要新增狀態和轉換,請依照以下步驟操作:
新增狀態定義。
如有需要,可新增狀態定義原因。
新增狀態轉換,然後執行以下步驟:
- 將新的狀態轉換與新的商務活動相關聯。
- 將來源欄位設為允許的值。 每個允許的來源新增一列。
- 當商業事件被提出時,將 州 欄位設為該州。
- 將 州理由 欄位設為商業事件提出時的理由。
新增任何必要的屬性(唯讀 或 時間軸)。