依狀態、轉換或原因設定欄位規則的範圍
更新:2007 年 11 月
如定義工作項目工作流程中所述,不論工作項目的狀態為何,您都可以使用欄位規則來決定工作項目類型的行為。例如,某個作用中的新 Bug 的必要欄位在這個 Bug 關閉之後仍然是一個必要欄位。
欄位規則的範圍也可以限定在特定狀態、轉換,或甚至是原因。可套用至任何特定欄位的一組完整的規則是匯集自下列四個子集:
工作項目類型專用
狀態專用
轉換專用
原因專用
工作項目類型專用規則
不論工作項目在它的狀態模型中的位置為何,都會套用工作項目類型範圍的規則。例如,<REQUIRED/> 規則會建立下列檢查:
"MyField Value" != NULL
狀態專用規則
狀態專用規則的範圍是限定在處於某特定狀態中的工作項目執行個體。狀態專用規則會建立下列檢查:
State field value == "MyState" && "MyField Value" != NULL
轉換專用規則
轉換專用規則的範圍是限定於正在進行某特定轉換的工作項目。轉換專用規則會建立下列檢查:
State field value == "ToState" &&
"Previous State Before Edit/New" == "FromState"
&& "MyField Value" != NULL
原因專用規則
轉換專用規則的範圍是限定在某特定轉換的特定原因。原因專用規則會建立下列檢查:
Reason field == "MyReason" &&
State field value == "ToState" &&
"Previous State Before Edit/New" == "FromState" && "MyField Value" != NULL
設定欄位規則的範圍
您可以在 <STATE>、<TRANSITION> 和 <REASON> 項目內使用 <FIELDS> 與 <FIELD> 項目,藉此將範圍套用至欄位規則。
![]() |
---|
當您在工作流程中列出欄位時,只需指定欄位參考名稱。 |
範例
下面範例定義了這項規則:當 Bug 是處於作用狀態時,不允許修改客戶嚴重性欄位。
<STATE name="Active">
<FIELDS>
<FIELD refname="MyCorp.Severity" />
<READONLY />
</FIELD>
</FIELDS>
</STATE>