none
Imprimir un informe directo a la impresora por defecto RRS feed

  • Pregunta

  • Buenas Tardes tengo un reporte hecho en crystal report y en visual basic 2008 lo llamo atravez de  crystalreportviewer, el problema es que al momento de imprimir uso este comando rptvales.PrintReport() (rptvales es el informe), como hago para que no  me aparezca el cuadro de imprimir sino que se imprima directo el informe a la impresora preseleccionada por el usuario,.
    agradeceria su ayuda muchas gracias

    Luis Ortiz
    lunes, 24 de agosto de 2009 21:08

Respuestas

Todas las respuestas

  • PrintToPrinter(...)

    En la teoría, la teoría es igual a la práctica; en la práctica no

    follow me on twitter.
    Tambien visita mi blog

    • Propuesto como respuesta AJesusFlores martes, 25 de agosto de 2009 13:48
    martes, 25 de agosto de 2009 1:11
  • hola,

    como te comentaron deberias hacer uso de: ReportDocument.PrintToPrinter Method
    alli mismo hay un ejemplo


    saludos
    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    martes, 25 de agosto de 2009 1:45
  • Dim moReportSource As New CRCartas
    moReportSource.Refresh()
    moReportSource.PrintToPrinter(1, False, 1, numeroPaginas)
    moReportSource.Dispose()
    ese es un ejemplo un poco mas claro, con eso te evitas el tener que mostrar la ventana de la vista previa

    En la teoría, la teoría es igual a la práctica; en la práctica no

    follow me on twitter.
    Tambien visita mi blog

    • Propuesto como respuesta AJesusFlores martes, 25 de agosto de 2009 13:48
    martes, 25 de agosto de 2009 13:47
  • Dim moReportSource As New CRCartas
    moReportSource.Refresh()
    moReportSource.PrintToPrinter(1, False, 1, numeroPaginas)
    moReportSource.Dispose()
    
    ese es un ejemplo un poco mas claro, con eso te evitas el tener que mostrar la ventana de la vista previa

    En la teoría, la teoría es igual a la práctica; en la práctica no

    follow me on twitter.
    Tambien visita mi blog

    Amigo gracias por tu respuesta a esta consulta pero solo me asalta duda que si puedes y tienes tiempo me la expliques mira
    mi informe yo lo muestro a travez de un control CrystalReportviewer y le asigne el nombre rptvales, todo bien si lo muestro por pantalla pero la idea es imprimirlo directo a la impresora, el problemas es cuando hago la asignacion de la primera linea de tu ejemplo

    dim moReportsource as new rptvales

    Aca me arroja un error que dice 'el tipo rptvales no esta definido' y rptvales como te explique es el reporte en crystalreportviewer que ya esta en el formulario, tu sabes a que se puede deber que dice que no esta definido o en la pirmera linea de tu ejemplo haces referencias despues del New a otro objeto, agradeceria tu ayuda de verdad que si ya que solo estoy parardo en el reporte para terminar el sistema, cabe mencionar que estoy desarrollandolo en Visual estudio 2008 (Visual basic). y el Reporte esta en Crystalreport.

    Luis Ortiz
    martes, 25 de agosto de 2009 16:25
  • hola

    en realidad deberias reemplazar donde dice rptvales por el nombre d etu reporte

    o sea en la linea que te paso de ejemplo Jesus

    Dim moReportSource As New CRCartas


    debes crear la instancia de tu reporte, no de tu control reportviewer


    seguramente ahora hacer algo como ser

    CrystalReportViewer1.ReportSource = "C:\CrystalReportViewerTestCrystalReport1.rpt"

    o por ahi

    Dim reportInstance As New CrystalReportViewerTestCrystalReport1();

    CrystalReportViewer1.ReportSource = reportInstance



    como veras al control le pasa un reporte o una instancia del mismo

    bueno el la linea

    Dim moReportSource As New CRCartas

    Jesus queri ahcer referencia a la linea
    Dim reportInstance As New CrystalReportViewerTestCrystalReport1();

    donde creas la instancia del reporte que le pasarias a tu control crystalreportviewer


    Resumen, rptvales debe ser una instancia de tu reporte, no de tu control visor de reportes

    bueno espero se entendinda la explicacion
    saludos
    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    martes, 25 de agosto de 2009 16:37
  • hola

    en realidad deberias reemplazar donde dice rptvales por el nombre d etu reporte

    o sea en la linea que te paso de ejemplo Jesus

    Dim moReportSource As New CRCartas


    debes crear la instancia de tu reporte, no de tu control reportviewer


    seguramente ahora hacer algo como ser

    CrystalReportViewer1.ReportSource = "C:\CrystalReportViewerTestCrystalReport1.rpt"

    o por ahi

    Dim reportInstance As New CrystalReportViewerTestCrystalReport1();

    CrystalReportViewer1.ReportSource = reportInstance



    como veras al control le pasa un reporte o una instancia del mismo

    bueno el la linea

    Dim moReportSource As New CRCartas

    Jesus queri ahcer referencia a la linea
    Dim reportInstance As New CrystalReportViewerTestCrystalReport1();

    donde creas la instancia del reporte que le pasarias a tu control crystalreportviewer


    Resumen, rptvales debe ser una instancia de tu reporte, no de tu control visor de reportes

    bueno espero se entendinda la explicacion
    saludos
    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    hola Leandro gracias por responder mira este es mi codigo

    CrystalReportViewer1.SelectionFormula = "{vale.numero_vale}=" & numero_vale
    CrystalReportViewer1.ReportSource = "C:\sistema\Informes\vales.rpt"

     Dim reporte As New vales()  'aca me sigue saliendo el error, puedes corregirme porfavor


    Luis Ortiz
    martes, 25 de agosto de 2009 16:58

  • hola

    ahh ok

    ReportDocument rptDoc = new ReportDocument();

    rptDoc.Load(@"C:\sistema\Informes\vales.rpt");




    de este objeto deberias poder utilziar el PrintToPrinter()

    el objeto que vas a esta utilizando seria este:



    saludos

    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Marcado como respuesta Bulla 35 martes, 25 de agosto de 2009 17:47
    martes, 25 de agosto de 2009 17:11

  • hola

    ahh ok

    ReportDocument rptDoc = new ReportDocument();

    rptDoc.Load(@"C:\sistema\Informes\vales.rpt");




    de este objeto deberias poder utilziar el PrintToPrinter()

    el objeto que vas a esta utilizando seria este:



    saludos

    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    gracias de verdad mil gracias me di cuenta que visual 2008 trae el control reportdocument y ahora si imprimio muy bien te pasaste  tu y AjesusFlores aca esta mi codigo y funciono muy bien

    CrystalReportViewer1.SelectionFormula = "{vale.numero_vale}=" & numero_vale
                        reportDocument1.Load("C:\sistema\Informes\vales.rpt")
                        reportDocument1.PrintToPrinter(1, False, 0, 0)


    Luis Ortiz
    martes, 25 de agosto de 2009 17:46