エンティティにフォーカスが移る前にエンティティのプロパティを設定

一般的なプログラミング手法では、エンティティの新規作成または変更(New または FieldChanged)時に、エンティティのプロパティ(IsVisible、IsRequired、List)を設定します。また、ALM ワークフロー・スクリプトの記述では、エンティティにフォーカスが移るときに(ALM グラフィカル・ユーザ・インタフェースでユーザがエンティティに移動)、エンティティのプロパティを設定することも重要です。エンティティにフォーカスが移ると、MoveTo イベントが呼び出されます。

MoveTo イベントでエンティティの値を設定しないと、ドロップダウン・リストに誤った値が表示されるなど、予期しない結果が返される可能性があります。

ベスト・プラクティス

ドロップダウン・リストに最新の設定値が表示されないなど、予期しない結果を回避するには次の点に注意してください。

  • New イベントや FieldChanged イベントだけでなく、MoveTo イベントですべてのエンティティのプロパティを設定します。

  • エンティティのプロパティをカスタマイズするコードを別のルーチンにまとめて、そのルーチンを関連イベントから呼び出すようにします。

不具合の変更や追加だけでなく、不具合にフォーカスが移ったときに、不具合のプロパティを適切に設定する方法を示しています。

例:

Sub SetupBugFields(Context1, Context2)
    ' 不具合のプロパティをカスタマイズするコードをここに入力。
    ' たとえば、IsVisible、IsRequired、IsReadonly、Label、List の設定など
    If Context1="Focus" Then
          ' フォーカス・イベントを処理するコードをここに入力
    ElseIf Context1="FieldChange" Then
            If Context2="RQ_USER_01" Then
                ' FieldChange イベントを処理するコードを
		 ' ここに入力
            ElseIf Context2="RQ_REQ_STATUS" Then
                ' ... コードを入力
            Else
                ' ... コードを入力
            End If
  End If
End Sub
Sub Req_FieldChange(FieldName)
    If FieldName = "RQ_REQ_STATUS" Then
        SetupBugFields("FieldChange", FieldName)
    Else
        ' ... コードを入力
    End If
End Sub
Sub Req_MoveTo
        SetupBugFields("Focus")
End Sub