51Testing软件测试论坛

标题: 缺陷状态改为”重新打开,无法实现reopen次数字段自动加一! [打印本页]

作者: lvhejin    时间: 2010-12-3 18:52
标题: 缺陷状态改为”重新打开,无法实现reopen次数字段自动加一!
本帖最后由 lvhejin 于 2010-12-3 18:56 编辑

操作步骤如下(附件中有详图):
1.管理员登录,选择工具>自定义;
2.在弹出的页面选择“项目列表”,新增列表“reopen次数”,新增列表项“1”、“2”、“3”、“4”;
3.在项目实体的“缺陷”中新增用户字段”reopen次数“,字段类型为”查找列表“,关联到第二步新增的“reopen次数”;
4.选择工作流>脚本编辑器,在弹出的脚本编辑器页面的”Bug_FieldChange“中添加下面的脚本。
Sub Auto_reopen()
  On Error Resume Next '从该语句开始,重新打开联动
  if Bug_Fields.Field("BG_STATUS").IsModified and Bug_Fields.Field("BG_STATUS").Value="重新打开" then
      i= Bug_Fields.Field("BG_USER_03").Value
     if i ="0" then
        Bug_Fields.Field("BG_USER_03").Value="1"
        elseif  i ="1" then
        Bug_Fields.Field("BG_USER_03").Value="2"
        elseif  i="2"  then
        Bug_Fields.Field("BG_USER_03").Value="3"
        elseif  i="3"  then
        Bug_Fields.Field("BG_USER_03").Value="4"
     end if
  end if
  On Error GoTo 0
End Sub
'BG_USER_03是reopen次数,BG_STATUS是缺陷状态。

调试很多遍了,不知道问题出在那里,无法实现缺陷状态改为”重新打开,reopen次数字段自动加一,“请各位帮忙看下!!
作者: lvhejin    时间: 2010-12-6 10:54
help me!
作者: 森林一木    时间: 2010-12-7 09:53
你加上msgbox调试一下,看看每一步的输出是不是正确的。
i= Bug_Fields.Field("BG_USER_03").Value
你这句是不是有问题?他的值没有0这一选项,试试case语句。我建议你用计数器计算modify的次数,用case语句来设置值。
作者: lvhejin    时间: 2010-12-7 10:14
非常感谢,已经解决。
作者: alex_liwei    时间: 2011-3-8 10:21
这样你只能 计算4次,如如更大那,还是 用   n=n+1的 方式吧
作者: Dracula.chen    时间: 2011-4-8 11:22
If Bug_Fields.Field("BG_STATUS").Value = "Reopen" Then
         Bug_Fields.Field("BG_USER_26").Value=Bug_Fields.Field("BG_USER_26").Value + 1
作者: 476860312    时间: 2011-8-2 11:10
学习了....
作者: 小木    时间: 2011-8-10 11:28
请问怎么解决的




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2