FieldCust_AddDefect
ユーザ定義関数 FieldCust_AddDefect は関数 SetFieldApp を呼び出します。
関数はまず、すべてのフィールドを不可視、不要、場所 0 のページ 100 に表示されるように設定します。これにより、[プロジェクト カスタマイズ]ウィンドウの[プロジェクトのエンティティ]を使用して新しいフィールドを追加しても、レイアウトは変更されなくなります。
Bug_New イベント・プロシージャに FieldCust_AddDefect の呼び出しを追加して、ユーザが新規不具合を追加するときに、この関数がトリガされるようにします。
Sub Bug_New FieldCust_AddDefect End Sub
コードはまず、すべてのユーザ・グループに共通のフィールドを処理します。このコードは、特定のユーザ・グループについてのみダイアログ・ボックス内に表示されるフィールド、ユーザによってプロパティが変化するフィールドには、条件ステートメントを使用します。
Sub FieldCust_AddDefect
On Error Resume Next
' 不具合のフィールドを初期化します
For i= 0 To Bug_Fields.Count -1
SetFieldApp Bug_Fields.FieldByID(i).FieldName, _
False, False, 100, 0
Next
ViewNum = 0
PageNum = 0
' すべてのユーザ・グループに共通であるフィールドを設定します
SetFieldApp "BG_BUG_ID", True, True, PageNum, ViewNum
ViewNum = ViewNum + 1
SetFieldApp "BG_DESCRIPTION", True, False, PageNum, ViewNum
ViewNum = ViewNum + 1
SetFieldApp "BG_SUMMARY", True, True, PageNum, ViewNum
ViewNum = ViewNum + 1
SetFieldApp "BG_DETECTED_BY", True, True, PageNum, ViewNum
ViewNum = ViewNum + 1
SetFieldApp "BG_DETECTION_DATE", _
True, True, PageNum, ViewNum
ViewNum = ViewNum + 1
SetFieldApp "BG_DETECTION_VERSION", True, True, PageNum, _
ViewNum
ViewNum = ViewNum + 1
SetFieldApp "BG_SEVERITY", True, True, PageNum, ViewNum
ViewNum = ViewNum + 1
SetFieldApp "BG_PRIORITY", True, True, PageNum, ViewNum
ViewNum = ViewNum + 1
SetFieldApp "BG_PROJECT", True, False, PageNum, ViewNum
ViewNum = ViewNum + 1
SetFieldApp "BG_REPRODUCIBLE", True, False, PageNum, ViewNum
ViewNum = ViewNum + 1
SetFieldApp "BG_STATUS", True, False, PageNum, ViewNum
ViewNum = ViewNum + 1
' グループごとに異なるフィールドを設定します。
' 1 人のユーザが複数のユーザ・グループに属したり、グループのいずれにも
' 属さないようにすることができるため、Else ステートメントは必要ありません。
If User.IsInGroup("Developer") Then
SetFieldApp "BG_PLANNED_CLOSING_VERSION", True, False, _
PageNum, ViewNum
ViewNum = ViewNum + 1
SetFieldApp "BG_PLANNED_FIX_TIME", True, False, PageNum, _
ViewNum
ViewNum = ViewNum + 1
End If
If User.IsInGroup("QATester") Then
PageNum = PageNum + 1
SetFieldApp "BG_USER_01", True, False, PageNum, ViewNum
ViewNum = ViewNum + 1
SetFieldApp "BG_USER_02", True, False, PageNum, ViewNum
ViewNum = ViewNum + 1
End If
SetFieldApp "BG_ACTUAL_FIX_TIME", True, False, PageNum, _
ViewNum
ViewNum = ViewNum + 1
' ...
PrintError "FieldCust_AddDefect"
On Error GoTo 0
End Sub

