以下这个自定义函数,应该怎么改,在执行自定义函数时,判断(是否应该执行自定义函数),看是否真的有返回值Vals_r啊? 在引用自定义函数时:若 ret 为空,则自定义函数返回false(给个标记个状态就行,识别一下,即无需引用返回的Vals_r数据);若ret不为空,则执行自定义函数,并引用Vals_r的数据。
Dim htid As String = Args(0) '合同编号
Dim Vals_r As New List(Of Double)
Dim hc As New HttpClient("http://ls.xinlianhuichuang.com/v1/lsjyje?id=" & htid)
Dim ret As String = hc.GetData()
Dim dtb As New DataTableBuilder("应收明细表")
dtb.AddDef("合同编号", Gettype(String), 100)
dtb.AddDef("收费项目", Gettype(String), 100)
dtb.AddDef("计费日期", Gettype(String), 50)
'dtb.AddDef("计费日期1", Gettype(Date), 20)
dtb.AddDef("应收金额", Gettype(Double))
dtb.AddDef("实收金额", Gettype(Double))
dtb.Build()
Tables("应收明细表").StopRedraw
For Each ep As JToken In JArray.Parse(ret)
Dim rr As Row=Tables("应收明细表").addnew()
rr("合同编号")=ep("合同编号")
rr("收费项目")=ep("收费项目")
rr("计费日期")=ep("计费日期")
rr("应收金额")=ep("应收金额")
rr("实收金额")=ep("实收金额")
Next
Tables("应收明细表").ResumeRedraw
Dim zt As Double=Tables("应收明细表").compute("sum(实收金额)","收费项目='租金'")
Dim ft As Double=Tables("应收明细表").compute("sum(实收金额)","收费项目='服务费'")
Dim fwt As Double=Tables("应收明细表").compute("sum(实收金额)","收费项目='房屋使用费'")
Dim ztt As Double=math.max(zt,fwt)
Vals_r.add(ztt)
Vals_r.add(ft)
Return Vals_r