エンティティにフォーカスが移る前にエンティティのプロパティを設定
一般的なプログラミング手法では、エンティティの新規作成または変更(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

