FieldCust_AddDefect
用户定义的函数 FieldCust_AddDefect 调用函数 SetFieldApp。
该函数先将所有字段设置为不可见、非必填,以及在第 100 页的位置 0 处显示。这样可以确保在使用“项目自定义”窗口中的“项目实体”链接添加新字段时,布局不会发生更改。
在 Bug_New 事件过程中添加对 FieldCust_AddDefect 的调用,这样用户添加新缺陷时将触发它:
Sub Bug_New FieldCust_AddDefect End Sub
首先,代码处理对所有用户组通用的字段。它只对特定用户组或针对不同用户有不同属性的用户组,为对话框中显示的字段使用条件语句。
Sub FieldCust_AddDefect
On Error Resume Next
' Initialize the fields of the defect
For i= 0 To Bug_Fields.Count -1
SetFieldApp Bug_Fields.FieldByID(i).FieldName, _
False, False, 100, 0
Next
ViewNum = 0
PageNum = 0
' Set fields that are in common for all user groups
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
' Set fields that are different for different user groups.
' Since one user can belong to multiple user groups,
' or none of these groups, there is no need for an Else statement.
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

