我有一个由两个主要元素组成的树:文件夹(容器)和需求。 文件夹可以包含文件夹或要求,而要求必须是叶子。此外,文件夹和要求都有一个具有相同名称的字段。
现在我正在尝试编写一个VBScript,它从父文件夹中该字段的更改开始,在其所有嵌套级别的所有子项中更改相同的字段。我在嵌套级别传播更改时遇到问题。
答案 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