Hola a tod@s:
Estoy llamando un reporte en Crystal desde asp Net. El reporte está hecho llamando un store procedure que recibe parámetros. He tratado de enviarle parámetros desde la aplicación, de manera dinámica, y el reporte no asume el criterio. Se genera el reporte pero no presenta data. Probé el store procedure y funciona perfectamente.
He probado haciendo un reporte desde una tabla y también me funciona. De manera que pienso que el error está al enviar los parámetros desde la aplicación cuando es un store procedure el que alimenta el reporte. Algo debo estar haciendo mal. Este es mi código a ver si me puedes decir qué me falta...
Código:
Try
Dim Report As New Reporte2
Dim exportOpts As New CrystalDecisions.Shared.ExportOptions
Dim diskOpts As New CrystalDecisions.Shared.DiskFileDestinationOptions
'================
Dim pv As New CrystalDecisions.Shared.ParameterValues
Dim pdv As New CrystalDecisions.Shared.ParameterDiscreteValue
'================
diskOpts.DiskFileName = "c:\Reporte.pdf"
Report.PrintOptions.PaperSize = CrystalDecisions.Shared.PaperSize.DefaultPaperSize
Report.PrintOptions.PaperOrientation = CrystalDecisions.Shared.PaperOrientation.DefaultPaperOrientation
Dim crTables As CrystalDecisions.CrystalReports.Engine.Tables
Dim crTable As CrystalDecisions.CrystalReports.Engine.Table
Dim crConnInfo As New CrystalDecisions.Shared.ConnectionInfo
Dim crLogOnInfo As CrystalDecisions.Shared.TableLogOnInfo
crTables = Report.Database.Tables
For Each crTable In crTables
crConnInfo.DatabaseName = "DatabaseName"
crConnInfo.ServerName = "ServerName"
crConnInfo.UserID = "UserID"
crConnInfo.Password = "Password"
crLogOnInfo = crTable.LogOnInfo
crLogOnInfo.ConnectionInfo = crConnInfo
crTable.ApplyLogOnInfo(crLogOnInfo)
Next
'================
pdv.Value = txtFecha.Text.Trim
pv.Add(pdv)
Report.DataDefinition.ParameterFields(0).ApplyCurrentValues(pv)
'================
exportOpts = Report.ExportOptions
exportOpts.ExportFormatType = CrystalDecisions.Shared.ExportFormatType.PortableDocFormat
exportOpts.ExportDestinationType = CrystalDecisions.Shared.ExportDestinationType.DiskFile
exportOpts.DestinationOptions = diskOpts
Report.Export()
Response.Write("<script>" & vbCrLf)
Response.Write("window.open('" & "c:/Reporte.pdf" & "');" & vbCrLf)
Response.Write("javascript:history.back();" & vbCrLf)
Response.Write("</script>")
Catch ex As Exception
lblMensaje.Text = ex.Message
End Try