lvhejin 发表于 2010-12-3 18:52:27

缺陷状态改为”重新打开,无法实现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"
      elseifi ="1" then
      Bug_Fields.Field("BG_USER_03").Value="2"
      elseifi="2"then
      Bug_Fields.Field("BG_USER_03").Value="3"
      elseifi="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:56

help me!

森林一木 发表于 2010-12-7 09:53:21

你加上msgbox调试一下,看看每一步的输出是不是正确的。
i= Bug_Fields.Field("BG_USER_03").Value
你这句是不是有问题?他的值没有0这一选项,试试case语句。我建议你用计数器计算modify的次数,用case语句来设置值。

lvhejin 发表于 2010-12-7 10:14:20

非常感谢,已经解决。

alex_liwei 发表于 2011-3-8 10:21:05

这样你只能 计算4次,如如更大那,还是 用   n=n+1的 方式吧

Dracula.chen 发表于 2011-4-8 11:22:08

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:17

学习了....

小木 发表于 2011-8-10 11:28:20

请问怎么解决的
页: [1]
查看完整版本: 缺陷状态改为”重新打开,无法实现reopen次数字段自动加一!