51Testing软件测试论坛

标题: TD的WorkFlow定制,遇到问题之一(设置字段IsRequired属性无效)---问题已解决 [打印本页]

作者: caijie0304    时间: 2006-3-2 19:52
标题: TD的WorkFlow定制,遇到问题之一(设置字段IsRequired属性无效)---问题已解决
TD的WorkFlow定制缺陷跟踪流程,遇到问题之一(设置字段的IsRequired属性无效):
第1方面:
TD  WorkFlow  Script Editor中,Defects module script下,提供了两个过程:Defects_Bug_New、Defects_Bug_MoveTo
在其中加入类似如下代码:
     SetFieldProperties "BG_USER_01",           True, True, 0, 12   
’设置了是否可见、是否必填、位于哪个分页、显示Tab顺序 四个属性
(注:子过程SetFieldProperties代码如下:
            Sub SetFieldProperties(FieldName, Vis, Req, PNo, VOrder)
            'Sets a field's appearance
            With Bug_Fields(FieldName)
            .IsVisible = Vis
            .IsRequired = Req
            .PageNo = PNo
            .ViewOrder = VOrder
           End With
          End Sub  )
却发现:过程Defects_Bug_New下的代码执行是有效果的,当打开Add Bug对话框时可看到效果;
                过程Defects_Bug_MoveTo下的代码也执行了,IsVisible、PageNo、ViewOrder三个属性设置有效果,
                但IsRequired 属性设置却没有效果。 (在Defect Details对话框中观察)
经过进一步分析,Defect Details对话框中,字段IsRequired 属性的取值是按"Customize Project Entities"中的设置来的,脚本中的设置无效。
------------------------------------------
第2方面又发现:在Defects_Bug_FieldChange过程中实现根据字段A的取值来决定字段B的IsRequired 属性,是可以的(代码类似上述语句)。

从此感觉,如果前述第1方面的问题是TD特别控制的,那与第2方面之间似乎又有点矛盾。因此我认为第1方面的问题肯定有办法解决。
敬请各位指教!非常感谢!

[ 本帖最后由 caijie0304 于 2006-3-3 15:23 编辑 ]
作者: finalzhzhk    时间: 2006-3-3 12:44
我这里是可以的.
QC里,如果你设某一个字段为IsRequired,并不是说你每次都要操作它,而是它需要有个值,在Defects_Bug_New中执行,那个值是必须要输入的,因为它是空.
而你在Defects_Bug_MoveTo下操作,就不会提示你修改它了.因为它已经有值了(如果你没有看到"BG_USER_01"列,在Select Columns中选择)

只有当你修改那些在还没有往Defects_Bug_New添加该代码以前的bug时,才会提示你要输入"BG_USER_01"
作者: songfun    时间: 2006-3-3 13:03
晕,不用玩的这么复杂吧??
楼主想实现什么功能?

关键是设计思路。
作者: caijie0304    时间: 2006-3-3 15:22
标题: 问题已经解决了
其实问题很简单(我描述了一大堆,把上两层的人搞晕了)。
我所描述的问题实际上是TD8.0 SP2补丁之前的一个BUG,当我安装SP2后,就没有问题了。

我重新在本地安装TD后,忘了装补丁,给自己添了麻烦,也给大家添了麻烦,真不好意思!




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