Foros del Web » Programación para mayores de 30 ;) » .NET »

Parámetros a crystal report desde ASP NET

Estas en el tema de Parámetros a crystal report desde ASP NET en el foro de .NET en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 16/12/2004, 13:59
 
Fecha de Ingreso: diciembre-2003
Ubicación: WWW
Mensajes: 98
Antigüedad: 20 años, 4 meses
Puntos: 0
Mensaje Parámetros a crystal report desde ASP NET

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
__________________
"No nos atrevemos a muchas cosas porque son difíciles, pero son difíciles porque no nos atrevemos a hacerlas" :si:

Séneca

Última edición por siannah; 16/12/2004 a las 14:00
  #2 (permalink)  
Antiguo 17/12/2004, 05:54
Avatar de RsOfT  
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 1 mes
Puntos: 7
Intenta enviarles los parámetros de esta forma:

Código:
Report.DataDefinition.RecordSelectionFormula = "{ClientesNoVisitados;1.clCodigo} = '" & Request.QueryString("Ruta") & "'"
__________________
.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance--
  #3 (permalink)  
Antiguo 17/12/2004, 06:58
 
Fecha de Ingreso: diciembre-2003
Ubicación: WWW
Mensajes: 98
Antigüedad: 20 años, 4 meses
Puntos: 0
Hola RsOFT,

Yo entiendo que no es al reporte que hay que pasarle el parámetro sino al store procedure vía el reporte.

¿Alguien ha hecho algo parecido? Mi store pocedure recibe un parámetro y mi reporte se alimenta de este store procedure...quiero llamar el reporte desde asp net pasándole dinámicamente el parámetro...
__________________
"No nos atrevemos a muchas cosas porque son difíciles, pero son difíciles porque no nos atrevemos a hacerlas" :si:

Séneca
  #4 (permalink)  
Antiguo 17/12/2004, 12:09
Avatar de RsOfT  
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 1 mes
Puntos: 7
Estuve probando para windows aplication y siempre me aparece la siguiente pantalla:


La verdad es que no se cómo enviarle el parámetro del stored procedure al crystal reports.

Pero me puse a pensar lo siguiente:
Puedes haces que el estore procedure llegue una tabla y que el reporte lea esa tabla. Es solo una idea.

Sigo pensando...
__________________
.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance--
  #5 (permalink)  
Antiguo 11/01/2005, 15:56
 
Fecha de Ingreso: enero-2005
Mensajes: 7
Antigüedad: 19 años, 3 meses
Puntos: 0
Primero que todo

el crystal llama al store procedure

la pantalla que le aparece a Rsoft es con que valor del parametro por defecto, asegurate de que dicho valor sea existente.

La manera de enviar parametros al crystal report para poder ejecutar el reporte es con variables enviadas por Query.Request

Yo intente trabajar con Crystal .NET y tuve muchos problemas les recomiendo trabajar con crystal Report 8.5 en VB6.0 que es mas sencillo, y para enlazarlo con .NET necesitan unos archivos, que si los necesitan yo puedo enviarselos, ademas necesitan crear un ASP al que se le envian los parametros desde el ASPX co nuna variable de Session, y este a su vez se los envia al reporte.

SI los necesitan envienme el mail y yo se los mando
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:01.