SAP子报表将打印为PDF,但不会打印到查看器或打印机

时间:2012-11-14 22:48:23

标签: crystal-reports reportviewer

我有两个不同的SAP Crystal Reports,一个有子报告,另一个没有。无论出于何种原因,简单的CR打印到打印机,PDF和观察者都很好。具有子报表的CR仅出于任何原因打印到PDF。这让我相信报告本身没有任何内在错误,否则当我保存为PDF时它就不会起作用。

我的代码片段在下面(在VB中):

            Select Case PrintMedia
            Case PrintType.Printer
                crOrderPrintout.PrintToPrinter(1, False, 0, 0)
            Case PrintType.Viewer
                Dim frmReportViewer As New frmReportViewer
                frmReportViewer.CrystalReportViewer1.ReportSource = crOrderPrintout
                frmReportViewer.ShowDialog()
            Case PrintType.File
                crOrderPrintout.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, String.Format("C:\Documents and Settings\{0}\Desktop\{1}.pdf", mdlSharedVars.StripDomainFromFullUsername(WindowsIdentity.GetCurrent.Name), ReceiptID))
            Case Else
                crOrderPrintout.PrintToPrinter(1, False, 0, 0)
        End Select

为了澄清,PrintMedia是一个变量,其类型是我的自定义枚举PrintType。

当我尝试在查看器中显示包含子报表的报表或打印到打印机时,我得到“索引超出范围。必须是非负数且小于集合的大小。 参数:index。“错误。然而,无论PrintMedia如何,简单的非子报告CR都能正常工作。

不要以为任何人都有任何想法?

2 个答案:

答案 0 :(得分:1)

在与此争斗的时间超过我想象的时间之后,事实证明水晶报告显示字符串中的一个字段存在问题。基本上我从头开始编写报告,逐个添加,试图找出错误。

答案 1 :(得分:0)

您可以在现成的Crystal查看器或Crystal Reports本身中试用报告吗?它有效吗?

也许尝试将页面设置中的打印机选项设置为“无打印机(优化屏幕显示)”