ステータスフィールドの選択値を構成する

  • リリースバージョン: Washingtondc
  • 更新日 2024年02月01日
  • 読む3読むのに数分
  • ステータスフィールドは、選択リストフィールドのサブセットです。[ステータス] フィールドの選択値を設定するときは、次の情報に留意してください。

    • 新しいアクティブステータスフィールドを追加するには、負の値を使用します。
    • [スクリプト] および [条件] フィールドで、ステータス番号フィルターを使用するビジネスルールを検索して調べます。デバッグツールを使用して、ビジネスルールの実行順序を追跡できます。
    • 非アクティブステータスを表す新しい値は、8 より大きい値にする必要があります。

    ディクショナリを設定することで、ステータスフィールドに次のいずれかの属性を定義できます。属性が定義されていない場合、システムはデフォルト値を使用します。TaskStateUtil API は次の属性を使用します。TaskStateUtil API の詳細については、「TaskStateUtil」を参照してください。

    表 : 1. 関連する属性
    属性 定義
    close_states セミコロンで区切られたアクティブでない状態値のリストで、タスクをアクティブまたは非アクティブのどちらに設定するかを識別するために使用されます。これは TaskStateUtil 機能を使用するために必要な属性です。
    default_close_state タスクを自動的にクローズするビジネスルールを定義する場合に、デフォルトのクローズ状態の状態値を定義するオプションの属性です。デフォルトで 3 に設定されており、属性が定義されていない場合は、通常 となります。
    default_work_state 作業に対してタスクを自動的に設定するビジネスルールを定義する場合に、デフォルトの作業ステータスのステータス値を定義するオプションの属性です。デフォルトで 2 に設定されており、属性が定義されていない場合は、対応中となります。

    ステータス変更の例

    インシデントと変更要求のステータスを変更するには、次の例に従ってください。

    始める前に

    必要なロール:管理者

    手順

    1. 移動先 すべて > システム定義 > 選択肢リスト.
    2. リストの一番上で、次のようなリストフィルターを作成します。
      • テーブル:インシデント
      • 要素:incident_state
    3. フィルターを実行します。

      クローズ済みステータスの値が 7 で、解決済みステータスの値が 6 であることに注意してください。7 以上のステータスはすべて非アクティブと見なされます。したがって、新しい非アクティブタイプのステータスを追加する場合は、7 より大きい正の整数を使用する必要があります。[ベンダー待ち] など、新しいアクティブタイプのステータスフィールドを追加する場合は、-1-2 などの負の値を使用します。

    4. 再度移動 システム定義 > 選択肢リスト.
    5. リストの一番上で、次のようなリストフィルターを作成します。
      • テーブル:change_request
      • 要素:phase_state
    6. フィルターを実行します。

      完了ステータスの値が 8 であることに注意してください。8 以上のステータスはすべて非アクティブと見なされます。したがって、[キャンセル] などの新しい非アクティブタイプのステータスを追加する場合は、8 より大きい正の整数を使用する必要があります。[処理待ち] などの新しいアクティブタイプのステータスフィールドを追加する場合は、-1-2 などの負の値を使用します。

    ステータス変更とビジネスルールのトラブルシューティング

    システム内のビジネスルールは、ステータス値に関する仮定を行います。ビジネスルールのトラブルシューティングを行って、実行順序を確認し、[ステータス] フィールド値の変更にどのように影響するかを確認できます。

    始める前に

    必要なロール:管理者

    手順

    1. 移動先 すべて > システム定義 > ビジネスルール.
    2. 次のようなフィルターを作成して、解決済みの incident_state 6 またはクローズ済みの incident_state 値 7 に関連するスクリプトと条件を表示します。

      [スクリプト] フィールドに 7 が含まれる、または [条件] フィールドに 7 が含まれる、または [スクリプト] フィールドに 6 が含まれる、または [条件] フィールドに 6 が含まれ、かつ [テーブル] フィールドがインシデントであり、かつ [アクティブ] フィールドが true である。

    次のタスク

    ビジネスルールの実行順序をトレースする方法については、「ビジネスルールのデバッグ」を参照してください。[すべてデバッグ (Debug All)] をクリックしてインシデントを解決し、フォームの下部にあるトレースを確認して、ビジネスルールの実行を確認できます。次の 2 行の例は、mark_closed ビジネスルールコードが ==> と入力されてから <== で終了することを示しています。

    
    ==> 'mark_closed' on incident
    <== 'mark_closed' on incident