Foros del Web » Programando para Internet » ASPX (.net) »

Exportar archivo en Crystal Reports

Estas en el tema de Exportar archivo en Crystal Reports en el foro de ASPX (.net) en Foros del Web. Hola se que me van a mandar links relacionados con el tema pero ya los he visto y no esta lo que busco. Bueno lo ...
  #1 (permalink)  
Antiguo 15/09/2005, 08:27
 
Fecha de Ingreso: marzo-2005
Mensajes: 123
Antigüedad: 19 años, 1 mes
Puntos: 1
Exportar archivo en Crystal Reports

Hola se que me van a mandar links relacionados con el tema pero ya los he visto y no esta lo que busco.

Bueno lo que pasa es que tiro un formulario y por pantalla sale ok...
pero al exportarlo a un archivo pdf me selecciona el primero que esta ingresado en la base de datos y no el que quiero.....

aca esta el codigo.... de antemano muchas gracias

' por pantalla funciona perfecto....
' me muestra el documento 556

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

Dim rptExpensiveProducts As New ReportDocument
Dim tbCurrent As CrystalDecisions.CrystalReports.Engine.Table
Dim tliCurrent As CrystalDecisions.Shared.TableLogOnInfo


Try
rptExpensiveProducts.Load("f:\Inetpub\wwwroot\WebC rystal\CrystalReport3.rpt")

For Each tbCurrent In rptExpensiveProducts.Database.Tables
tliCurrent = tbCurrent.LogOnInfo
With tliCurrent.ConnectionInfo
.ServerName = "compras"
.UserID = "compras"
.Password = "compras"
.DatabaseName = ""
End With
tbCurrent.ApplyLogOnInfo(tliCurrent)
Next tbCurrent

CrViewer.SeparatePages = False
CrViewer.DisplayGroupTree = False
CrViewer.DisplayToolbar = False


CrViewer.ReportSource = rptExpensiveProducts
CrViewer.SelectionFormula = "{E_SOLICITUD.SC_IDENTIF}=556"


CrViewer.Zoom(2)
CrViewer.DataBind()

Catch Exp As LoadSaveReportException

Catch Exp As Exception

End Try
end sub


'pero al tirarlo a un archivo (pdf), me toma el primer registro ingresado en la base de datos
'como lo hago para que me exporte el documento que yo quiero


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim rptSolcompras As New ReportDocument
Dim odbConnection As New OleDb.OleDbConnection

Dim odbData As New Data.DataSet
Dim x As Integer
Dim comm As OleDb.OleDbCommand

rptSolcompras.Load("f:\Inetpub\wwwroot\WebCrystal\ CrystalReport3.rpt")

odbConnection = New OleDb.OleDbConnection("Provider=msdaora;User ID=compras;Data Source=test;Password=compras")

Dim Da_E_Solicitud As New OleDb.OleDbDataAdapter("SELECT * FROM E_SOLICITUD WHERE SC_IDENTIF=556", odbConnection)
Dim Da_D_Solicitud As New OleDb.OleDbDataAdapter("SELECT * FROM D_SOLICITUD WHERE SC_IDENTIF=556", odbConnection)
Dim xpv_rut As String

Dim ds As New DataSet
Dim dt As DataTable

Dim xCC_CODID As Integer
Dim xFN_CODID As Integer
Dim xMIT_CODIGO As Integer


Da_E_Solicitud.Fill(ds, "E_SOLICITUD")

xpv_rut = ds.Tables.Item(0).Rows(0).Item(9)
xCC_CODID = ds.Tables.Item(0).Rows(0).Item(3)
xFN_CODID = ds.Tables.Item(0).Rows(0).Item(4)
xMIT_CODIGO = ds.Tables.Item(0).Rows(0).Item(10)

Dim Da_M_PROVEEDOR As New OleDb.OleDbDataAdapter("SELECT * FROM M_PROVEEDOR WHERE trim(PV_RUT)='" & Trim(xpv_rut) & "'", odbConnection)
Dim Da_M_CENCOS As New OleDb.OleDbDataAdapter("SELECT * FROM M_CENCOS WHERE CC_ID=" & xCC_CODID, odbConnection)
Dim Da_M_FONDOS As New OleDb.OleDbDataAdapter("SELECT * FROM M_FONDOS WHERE MFN_CODIGO=" & xFN_CODID, odbConnection)
Dim Da_M_ITEM As New OleDb.OleDbDataAdapter("SELECT * FROM M_ITEM WHERE MIT_CODIGO=" & xMIT_CODIGO, odbConnection)


Da_D_Solicitud.Fill(ds, "D_SOLICITUD")
Da_M_PROVEEDOR.Fill(ds, "M_PROVEEDOR")
Da_M_CENCOS.Fill(ds, "M_CENCOS")
Da_M_FONDOS.Fill(ds, "M_FONDOS")
Da_M_FONDOS.Fill(ds, "M_ITEM")


rptSolcompras.Load("f:\Inetpub\wwwroot\WebCrystal\ CrystalReport3.rpt")

rptSolcompras.SetDataSource(ds)

Dim tbCurrent As CrystalDecisions.CrystalReports.Engine.Table
Dim tliCurrent As CrystalDecisions.Shared.TableLogOnInfo

For Each tbCurrent In rptSolcompras.Database.Tables
tliCurrent = tbCurrent.LogOnInfo
With tliCurrent.ConnectionInfo
.ServerName = "compras"
.UserID = "compras"
.Password = "compras"
.DatabaseName = ""
End With
tbCurrent.ApplyLogOnInfo(tliCurrent)
Next tbCurrent

CrViewer.ReportSource = rptSolcompras

CrViewer.DataBind()

' exporto a un pdf

Dim exportO As ExportOptions
Dim req As ExportRequestContext
Dim st As System.IO.Stream
Dim b() As Byte
Dim pg As Page

pg = CrViewer.Page
exportO = New ExportOptions
exportO.ExportFormatType = ExportFormatType.PortableDocFormat
exportO.FormatOptions = New PdfRtfWordFormatOptions
req = New ExportRequestContext
req.ExportInfo = exportO
With rptSolcompras.FormatEngine.PrintOptions
.PaperSize = PaperSize.PaperLegal
.PaperOrientation = PaperOrientation.Portrait
End With
st = rptSolcompras.FormatEngine.ExportToStream(req)
pg.Response.ClearHeaders()
pg.Response.ClearContent()
pg.Response.ContentType = "application/pdf"
ReDim b(st.Length)
st.Read(b, 0, CInt(st.Length))
pg.Response.BinaryWrite(b)
pg.Response.End()
End Sub
  #2 (permalink)  
Antiguo 16/09/2005, 01:23
 
Fecha de Ingreso: mayo-2005
Mensajes: 122
Antigüedad: 19 años
Puntos: 0
Respuesta ...

Perdona no se bién bién que quieres decir ...
  #3 (permalink)  
Antiguo 16/09/2005, 08:08
 
Fecha de Ingreso: marzo-2005
Mensajes: 123
Antigüedad: 19 años, 1 mes
Puntos: 1
Tengo un Web Form, en donde imprimo un formulario bajo cierta condicion (numero de formulario a listar), si el usuario ingresa por ejemplo el formulario 556 por pantalla sale bien (muestra el formulario 556, pero si lo quiero exportar a un archivo pdf Crystal Report me muestra el formulario numero 1 y no el 556.
Las rutinas para mostrar por pantalla y exportar a un pdf estan arriba....
ojala se haya entendido ahora

gracias
  #4 (permalink)  
Antiguo 16/09/2005, 11:31
Avatar de Mickel  
Fecha de Ingreso: mayo-2002
Ubicación: Lima, Peru
Mensajes: 4.619
Antigüedad: 22 años
Puntos: 7
si la carga de datos al cr la haces en el page load quita la validacion if not page.ispostback
__________________
No tengo firma ahora... :(
  #5 (permalink)  
Antiguo 20/09/2005, 07:09
 
Fecha de Ingreso: marzo-2005
Mensajes: 123
Antigüedad: 19 años, 1 mes
Puntos: 1
no la hago en el load... tengo un boton para ejecutar el reporte
  #6 (permalink)  
Antiguo 20/09/2005, 12:49
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 4 meses
Puntos: 7
Te muestra el formulario 1 (según lo que mencionas) porque el filtro lo haces sobre el Crystal Report Viewer, recuerda que éste es sólo un visor, en realidad deberías hacer el filtro sobre la fuente de datos que usas o asignas al reporte...

Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
  #7 (permalink)  
Antiguo 21/09/2005, 08:10
 
Fecha de Ingreso: marzo-2005
Mensajes: 123
Antigüedad: 19 años, 1 mes
Puntos: 1
xknown eso es lo que quiero hacer el filtro a la fuente de datos pero no me funciona, en el codigo esta la manera en que lo hago...
  #8 (permalink)  
Antiguo 24/09/2005, 17:06
Avatar de royrojas  
Fecha de Ingreso: diciembre-2004
Mensajes: 458
Antigüedad: 19 años, 4 meses
Puntos: 3
aqui hay un ejemplo para convertir crystal reports a pdf
http://www.dotnetcr.com/index.aspx?I...alo-por-correo
__________________
roy rojas
Programación en Español: DotNetcr.com
  #9 (permalink)  
Antiguo 30/09/2005, 08:59
 
Fecha de Ingreso: marzo-2005
Mensajes: 123
Antigüedad: 19 años, 1 mes
Puntos: 1
vi el ejemplo... pero es para windows form....
nadie sabe como asignar un registro al crystal report y exportarlo a un pdf?
  #10 (permalink)  
Antiguo 03/10/2005, 21:11
Avatar de Mickel  
Fecha de Ingreso: mayo-2002
Ubicación: Lima, Peru
Mensajes: 4.619
Antigüedad: 22 años
Puntos: 7
Digamos que rpt es tu reporte y en ds tienes tu dataset
rpt.SetDataSource(ds.Tables(0))
'Confirmate si 6 es el numero para PDF, no me acuerdo ahorita
rptStream = CType(rpt.ExportToStream(6), System.IO.MemoryStream)
' Limpia el buffer
Response.Clear()
Response.Buffer = True
' Establece el tipo de documento
Response.ContentType = "application/pdf"
' Fuerza a hacer un download del archivo
Response.AddHeader("Content-Disposition", "attachment;filename=file.pdf")
' Escribe el contenido del stream
Response.BinaryWrite(rptStream.ToArray())
Response.End()
__________________
No tengo firma ahora... :(
  #11 (permalink)  
Antiguo 03/10/2005, 21:25
Avatar de royrojas  
Fecha de Ingreso: diciembre-2004
Mensajes: 458
Antigüedad: 19 años, 4 meses
Puntos: 3
aqui esta el codigo fuente completo para exportar reportes crystal reports desde ASP.NET a PDF, Excel, Texto Enriquecido o Word, espero que este si te sirva

Como Exportar Reportes Crystal Reports en ASP.NET

saludos.
__________________
roy rojas
Programación en Español: DotNetcr.com
  #12 (permalink)  
Antiguo 18/10/2005, 01:48
 
Fecha de Ingreso: octubre-2005
Mensajes: 2
Antigüedad: 18 años, 6 meses
Puntos: 0
exportar crystal a pdf

Hola, soy nueva aquí y no sé empezar un tema nuevo, pero mi pregunta está relacionada con éste: ¿Es posible exportar dos reportes distintos a un mismo pdf? He exportado uno de ellos a un pdf, y ocupa una página, y quiero exportar el otro en la página siguiente. Gracias
  #13 (permalink)  
Antiguo 19/10/2005, 21:52
Avatar de royrojas  
Fecha de Ingreso: diciembre-2004
Mensajes: 458
Antigüedad: 19 años, 4 meses
Puntos: 3
yo nunca he visto eso que dices, exportar dos reportes diferentes a un mismo pdf. Realmente no creo que se pueda.

Yo te diria que en el mismo reporte en paginas diferentes muestres los datos y asi el pdf te sale con dos paginas distintias.

Bueno para cambiar de pagina pues lo que tienes que hacer es que cuando haces la agrupación en el reportes, cuando esta termina le debes de indicar que cada ves que llegue al ultimo registro de ese grupo cambie de pagina, para eso le das clic derecho en el cualquier separacion y seleccionas Format Section. Luego de eso se te aparece un cuadro donde seleccionas la agrupación que quieres definir como la que cambie de pagina (seleccionar el .Footer de la agrupacion), entonces al lado derecho le seleccionas la opcion "New Page After", esto lo que hace es que luego de terminar esa agrupación obliga a cambiar de pagina.

Saludos
__________________
roy rojas
Programación en Español: DotNetcr.com
  #14 (permalink)  
Antiguo 20/10/2005, 01:49
 
Fecha de Ingreso: octubre-2005
Mensajes: 2
Antigüedad: 18 años, 6 meses
Puntos: 0
He hecho eso que has dicho en el reporte, pero no sé cómo escribir en la hoja siguiente. Es que necesito hacer un reporte idéntico a continuación que cambie solamente en un parámetro de entrada.
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 23:43.