QC设置工作流脚本编辑器
我想实现功能是:在BUG状态改为以下值时强制录入注释。如下代码:
Sub Defects_Bug_FieldChange(FieldName)
On Error Resume Next
If Bug_Fields("BG_STATUS").IsModified and _
(Bug_Fields("BG_STATUS").Value = "已否决" or _
Bug_Fields("BG_STATUS").Value = "不修改" or _
Bug_Fields("BG_STATUS").Value = "重新打开" or _
Bug_Fields("BG_STATUS").Value = "已修改") and _
not Bug_Fields("BG_DEV_COMMENTS").IsModified then
Defects_Bug_CanPost = False
msgbox "请注释原因或修改方案."
Else
Defects_Bug_CanPost = True
End If
Defects_Bug_CanPost = Project_DefaultRes
On Error GoTo 0
End Sub
可是现在问题是:只要改了状态,会有提示出现,可是同时也保存了状态值。。也就是还是没有录入注释就保存了状态。
试下这个代码
Function Defects_Bug_CanPostOn Error Resume Next
If Not (User.IsInGroup("TDAdmin")) then
If Bug_Fields("BG_STATUS").IsModified and _
(Bug_Fields("BG_STATUS").Value = "已否决" or _
Bug_Fields("BG_STATUS").value = "不修改" or _
Bug_Fields("BG_STATUS").value = "已修改") and _
not Bug_Fields("BG_DEV_COMMENTS").IsModified Then
Defects_Bug_CanPost = false
msgbox "请填写备注信息"
else
Defects_Bug_CanPost = true
end if
End If
'Defects_Bug_CanPost = Project_DefaultRes
On Error GoTo 0
End Function 原帖由 zte_boy 于 2009-8-5 13:43 发表 http://bbs.51testing.com/images/common/back.gif
Function Defects_Bug_CanPost
On Error Resume Next
If Not (User.IsInGroup("TDAdmin")) then
If Bug_Fields("BG_STATUS").IsModified and _
(Bug_Fields("BG_STATUS").Value = "已否决" o ...
这个我试过了,也不行。。 BUG状态只要选择了,它就已经变了。尽管有提示要录入备注 好像不行……
2楼给的代码还是不行…… 其实,帮助里的例子用了也还是不行…… 晕。这个多费劲啊。如果bug的状态变更就要求填写注释不就得了。。。。
没明白为什么一定要这几种状态?
不过你可以试试把这几个条件嵌套下再调调看。 放到Bug_CanPost里做判断。 原帖由 archonwang 于 2009-8-7 13:48 发表 http://bbs.51testing.com/images/common/back.gif
晕。这个多费劲啊。如果bug的状态变更就要求填写注释不就得了。。。。
没明白为什么一定要这几种状态?
不过你可以试试把这几个条件嵌套下再调调看。
现在的问题不是判断,而是只要变更了状态,不论你有没有写备注,状态都会被保存。 你加我,msn:lq1107@163.com,对你一个字,笨。 :lol 你不如写个循环,不输入内容就不给保存!
这样更简单些! 试过了再说话。各位 原帖由 lq1107 于 2009-8-10 22:37 发表 http://bbs.51testing.com/images/common/back.gif
你加我,msn:lq1107@163.com,对你一个字,笨。
这位。。算了。。。唉 实现了。。。
Sub Defects_Bug_FieldChange(FieldName)
On Error Resume Next
if fieldname="BG_STATUS" and _
(Bug_Fields("BG_STATUS").IsModified and _
Bug_Fields("BG_STATUS").Value = "已否决") then
Bug_Fields("BG_DEV_COMMENTS").IsRequired=true
Defects_Bug_CanPost = False
msgbox "请在注释中加上非错说明"
Else
Defects_Bug_CanPost = True
Bug_Fields("BG_DEV_COMMENTS").IsRequired=false
End If
On Error GoTo 0
End Sub 这需要看Bug_Fields("BG_STATUS").IsModified 就可以了么,2楼写的太复杂 你的还是会有问题。
页:
[1]