51Testing软件测试论坛

标题: QC中缺陷状态改变的工作流设置 [打印本页]

作者: shhuangfy    时间: 2008-6-17 12:12
标题: QC中缺陷状态改变的工作流设置
Function Defects_Bug_CanPost

    On Error Resume Next



   If (Bug_Fields("BG_STATUS").IsModified and _
         Bug_Fields("BG_STATUS").Value = "待改" and _
                        (User.IsInGroup("项目经理")  or _
             User.IsInGroup( "开发人员")))    then

             Bug_Fields("BG_PRIORITY").IsRequired=Req


    Else

        Defects_Bug_CanPost = True

    End If



    On Error GoTo 0

    If (Bug_Fields("BG_STATUS").IsModified and _
         Bug_Fields("BG_STATUS").Value = "非错" and _
            not Bug_Fields("BG_DEV_COMMENTS").IsModified)  and _
                        (User.IsInGroup("项目经理")  or _
             User.IsInGroup( "开发人员"))    then



        Defects_Bug_CanPost = False

        msgbox "请在注释中加上非错说明"
         Else

        Defects_Bug_CanPost = True

        End If



    On Error GoTo 0

End Function

[ 本帖最后由 shhuangfy 于 2008-6-17 15:06 编辑 ]
作者: shhuangfy    时间: 2008-6-17 12:16
想要达到的效果为:
1:当开发人员,项目经理把缺陷的状态改为:非错时,一定要填写备注;;
2:当开发人员,项目经理把缺陷的状态改为:待改时,一定要选择优先级;;

目前系统的效果为:项目经理把缺陷改为‘非错’是要写备注与优先级,改为‘待改’时,要选择优先级,
以上的代码有问题,不知如何修改
作者: shhuangfy    时间: 2008-6-17 13:53
Function Defects_Bug_CanPost

    On Error Resume Next



   If (Bug_Fields("BG_STATUS").IsModified and _
         Bug_Fields("BG_STATUS").Value = "待改" and _
                        (User.IsInGroup("项目经理")  or _
             User.IsInGroup( "开发人员")))    then

             Bug_Fields("BG_PRIORITY").IsRequired=Req

   

    elseIf

   

    (Bug_Fields("BG_STATUS").IsModified and _
         Bug_Fields("BG_STATUS").Value = "非错" and _
            not Bug_Fields("BG_DEV_COMMENTS").IsModified)  and _
                        (User.IsInGroup("项目经理")  or _
             User.IsInGroup( "开发人员"))    then

        Defects_Bug_CanPost = False

        msgbox "请在注释中加上非错说明"
         

        Else

        Defects_Bug_CanPost = True

        End If



    On Error GoTo 0

End Function

[ 本帖最后由 shhuangfy 于 2008-6-17 15:06 编辑 ]
作者: shhuangfy    时间: 2008-6-17 13:53
这样也不行
作者: shhuangfy    时间: 2008-6-17 13:53
Function Defects_Bug_CanPost

    On Error Resume Next



   If (Bug_Fields("BG_STATUS").IsModified and _
      (User.IsInGroup("项目经理")  or _
             User.IsInGroup( "开发人员")))    then
             select case Bug_Fields("BG_STATUS").value
             case "非错"
             Defects_Bug_CanPost = False

        msgbox "请在注释中加上非错说明"
    Else

        Defects_Bug_CanPost = True
            
             case "待改"

             Bug_Fields("BG_PRIORITY").IsRequired=Req


    Else

        Defects_Bug_CanPost = True
  end select
    End If



    On Error GoTo 0

[ 本帖最后由 shhuangfy 于 2008-6-17 15:07 编辑 ]
作者: shhuangfy    时间: 2008-6-17 13:53
这样也是不行的
作者: kasimxiao    时间: 2008-6-19 14:12
QC脚本高手哇
只会添加初始列表值
哈哈
作者: fly    时间: 2008-6-23 09:25
标题: 回复 2# 的帖子
这样试试:
在Defects_Bug_FieldCanChange(FieldName, NewValue)中
if FieldName = "BG_STATUS" then  //针对BUG状态的处理
if  User.IsInGroup("项目经理")  or User.IsInGroup( "开发人员" then //
if NewValue="非错" then
msgbox"请在注释中加上非错说明"
Defects_Bug_FieldCanChange=False
exit Function
end if
end if
end if
作者: shhuangfy    时间: 2008-6-27 11:16
呵呵,有阵子没来这儿了
那个问题我已经解决了
现在是另外一个问题
我现在要求把问题改成遗留或是非错时,一定要指定审核人,然后同时提示他们一定要发邮件

现在如果我以Msbbox的方式提示的话,不管它有无发送邮件总会有提示
作者: shhuangfy    时间: 2008-6-27 11:16
可是我即使发了邮件它还报这个提示
作者: shhuangfy    时间: 2008-6-27 11:17
Function Defects_Bug_CanPost

    On Error Resume Next

    ' If (Bug_Fields("BG_STATUS").IsModified and _
       '(Bug_Fields("BG_STATUS").Value = "非错"or _
          '  Bug_Fields("BG_STATUS").Value = "遗留" ) and _
                    '   (User.IsInGroup("测试人员")  or _
           ' User.IsInGroup( "开发人员")) )   then
       ' Defects_Bug_CanPost = False

       ' msgbox "状态修改后请发邮件给相应的审核人!"


       ' else

        'Defects_Bug_CanPost = true

     '   End If
作者: shhuangfy    时间: 2008-6-27 11:19
所以现在想到的解决方法
1:不与弹出框的方式显示提示信息

2:以弹出框的方式,点击确认后,弹出发送邮件的功能模块

具体还不知道如何实现呢




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