宣传儿童的田野变化

时间:2015-09-15 13:53:22

标签: vbscript alm hp-quality-center

我有一个由两个主要元素组成的树:文件夹(容器)和需求。 文件夹可以包含文件夹或要求,而要求必须是叶子。此外,文件夹和要求都有一个具有相同名称的字段。

现在我正在尝试编写一个VBScript,它从父文件夹中该字段的更改开始,在其所有嵌套级别的所有子项中更改相同的字段。我在嵌套级别传播更改时遇到问题。

1 个答案:

答案 0 :(得分:0)

使用递归函数迭代所有嵌套级别。

将以下代码放入需求模块脚本工作流程中,并将“RQ_USER_01”更改为需要传播的字段名称。

Sub Req_FieldChange(FieldName)
  On Error Resume Next

  If FieldName = "RQ_USER_01" Then
     Set ReqFact = TDConnection.ReqFactory
     FatherId = Req_Fields.Field("RQ_REQ_ID").Value
     NewValue = Req_Fields.Field("RQ_USER_01").Value
    ChangeChildrenField ReqFact, FatherId, NewValue
  End If

  On Error GoTo 0
End Sub

Sub ChangeChildrenField(ReqFact, FatherId, NewValue)
    Set ReqChildrenList = ReqFact.GetChildrenList(FatherId)
    For Each ReqChild in ReqChildrenList
        ReqChild.Field("RQ_USER_01") = NewValue
        ReqChild.Post()
        ChangeChildrenField ReqFact, ReqChild.ID, NewValue
    Next
End Sub