我尝试运行的方法如下,我尝试遍历 GBP 中的子合同,然后我有一个内部循环来遍历每个子合同中的覆盖范围。
forEach curSubscribedSubContract in theSubContracts
; Avoid building empty contract node
if subOptions.count > 0
new(ParamProduct)
new(ParamSubscribedProduct)
forEach curOption in subOptions downTo
theProduct = curOption.GetProduct
new(ListOfCoverages)
if Motor.AreSameThings(theProduct, curSubscribedSubContract.GetProduct)
ParamSubscribedProduct.InitParamFromObjectAtDate(curSubscribedSubContract,
AtDate)
ParamProduct.Product = ParamSubscribedProduct
;Set Context for PlanDesign options
AFCI_SLI.CoverageInContext = curOption
covData = self._GetCoverageData(curOption, AtDate)
;Reset coverage context
AFCI_SLI.CoverageInContext = Nil
ListOfCoverages.AppendObject(covData)
if subOptions.RemoveObject(curOption)
endIf
endIf
forEach curCoverageData in ListOfCoverages
ParamProduct.Coverages[-1] = curCoverageData
endFor
dispose(ListOfCoverages)
endFor
_Result[-1] = ParamProduct
endIf
endFor