フィールドの規則を適用するタイミングと場所

フィールドの規則を使用して、作業項目の状態に関係なく作業項目の種類の動作を決定できます。 たとえば、アクティブな新規のバグに必須のフィールドは、バグが終了するまで必須であり続けます。

フィールドの規則は、特定の状態、遷移、および理由に従ってスコープすることもできます。 特定のフィールドに適用される規則の完全なセットには、次の 4 つのサブセットを加えることができます。

  • 作業項目の種類固有

  • 状態固有

  • 遷移固有

  • 理由固有

作業項目の種類に固有の規則

作業項目の種類に固有の規則は、作業項目が状態モデルのどの位置にあるかに関係なく適用されます。 たとえば、<REQUIRED /> 規則では、次のチェックを実行します。

"MyField Value" != NULL

状態固有の規則

状態固有の規則は、作業項目インスタンスが特定の状態にあるときに適用されます。 状態固有の規則は、次の条件が true の場合に適用されます。

State field value == "MyState" && "MyField Value" != NULL

遷移固有の規則

遷移固有の規則は、作業項目インスタンスが特定の遷移過程にあるときに適用されます。 遷移固有の規則は、次の条件が true の場合に強制的に処理されます。

State field value == "ToState"  &&

"Previous State Before Edit/New" == "FromState"

&& "MyField Value" != NULL

理由固有の規則

理由固有の規則は、特定の遷移における特定の理由に対して適用されます。 理由固有の規則は、次の条件が true の場合に処理されます。

Reason field == "MyReason" &&

State field value == "ToState"  &&

"Previous State Before Edit/New" == "FromState" && "MyField Value" != NULL

フィールドの規則のスコープ

フィールドの規則にスコープを適用するには、STATETRANSITIONREASON の各要素内で FIELDS 要素と FIELD (ワークフロー) 要素を使用します。

注意

ワークフロー内のフィールドを一覧にする場合は、フィールドの参照名だけを指定します。

バグがアクティブな状態にあるときに Customer Severity フィールドの変更を禁止する規則を定義する方法を次の例に示します。

<STATE name="Active">
<FIELDS>
<FIELD refname="MyCorp.Severity" >
<READONLY />
</FIELD>
</FIELDS>
</STATE>

参照

その他の技術情報

作業項目ワークフローの定義とカスタマイズ