用ReportItems!TextBox.Value作为参数传递给脚本函数为什么无效?
用ReportItems!TextBox.Value作为参数传递给脚本函数为什么无效?您可以截个图吗?看一下报表怎么设计的 附件中有报表 Crystal.Li 发表于 2021-3-22 11:50
您可以截个图吗?看一下报表怎么设计的
已经把报表添加附件了,麻烦看一样 您把您的脚本函数可以发出来吗? 我们排查一下 Crystal.Li 发表于 2021-3-22 12:18
您把您的脚本函数可以发出来吗? 我们排查一下
Function ConvertToRMB(ByVal inputString As String) As String
Dim numList As String = "零壹贰叁肆伍陆柒捌玖"
Dim rmbList As String = "分角元拾佰仟万拾佰仟亿拾佰仟万"
Dim number As Double = 0
Dim tempOutString As String = ""
number = Double.Parse(inputString)
Dim tempNumberString As String = Convert.ToInt64(number * 100).ToString()
Dim tempNmberLength As Integer = tempNumberString.Length
Dim i As Integer = 0
While i < tempNmberLength
Dim oneNumber As Integer = Int32.Parse(tempNumberString.Substring(i, 1))
Dim oneNumberChar As String = numList.Substring(oneNumber, 1)
Dim oneNumberUnit As String = rmbList.Substring(tempNmberLength - i - 1, 1)
If Not (oneNumberChar = "零") Then
tempOutString += oneNumberChar + oneNumberUnit
Else
If oneNumberUnit = "亿" OrElse oneNumberUnit = "万" OrElse oneNumberUnit = "元" OrElse oneNumberUnit = "零" Then
While tempOutString.EndsWith("零")
tempOutString = tempOutString.Substring(0, tempOutString.Length - 1)
End While
End If
If oneNumberUnit = "亿" OrElse (oneNumberUnit = "万" AndAlso Not tempOutString.EndsWith("亿")) OrElse oneNumberUnit = "元" Then
tempOutString += oneNumberUnit
Else
If Not tempOutString Is Nothing Then
Dim tempEnd As Boolean = tempOutString.EndsWith("亿")
Dim zeroEnd As Boolean = tempOutString.EndsWith("零")
If tempOutString.Length > 1 Then
Dim zeroStart As Boolean = tempOutString.Substring(tempOutString.Length - 2, 2).StartsWith("零")
If Not zeroEnd AndAlso (zeroStart OrElse Not tempEnd) Then
tempOutString += oneNumberChar
End If
Else
If Not zeroEnd AndAlso Not tempEnd Then
tempOutString += oneNumberChar
End If
End If
End If
End If
End If
i += 1
End While
If Not tempOutString Is Nothing Then
While tempOutString.EndsWith("零")
tempOutString = tempOutString.Substring(0, tempOutString.Length - 1)
End While
While tempOutString.EndsWith("元")
tempOutString = tempOutString + "整"
End While
Return tempOutString
Else
Return ""
End If
End Function Crystal.Li 发表于 2021-3-22 12:18
您把您的脚本函数可以发出来吗? 我们排查一下
=Code.ConvertToRMB(1.1) 指定死值,函数是好用的 duanliangjie 发表于 2021-3-22 12:26
=Code.ConvertToRMB(1.1) 指定死值,函数是好用的
您好,在我本地查看您的报表预览是正常的。
您直接用文本框,测试一下单独这个函数正常吗?=ReportItems!TextBox1.Value,如果这个函数不正常的话,可能就是您那个版本不支持这个表达式
页:
[1]
2