FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Problema con el boton imprimir del reporte en Report Builder
Hola....
Lo que pasa es que tengo un reporte el cual debe imprimir un formulario que mustra una informacion dependiendo del tipo de persona, para ello usa subreportes. Esta hecho en delphi 6, tiene los botones de vista preliminar, imprimir, generar. Generar...abre los qrys y me muestra una consulta en una grilla. vista preliminar....me muestra el formulario en report builder. Imprimir....ps imprime jejeje. El caso es que cuando genero la informacion y le doy imprimir con el boton de el formulario imprime completo, si le doy click en vista preliminar muestra el formulario completo, PERO cuando le doy imprimir desde el boton que sale en el reporte de vista preliminar, osea el que trae predefinido el report builder NO muestra completo!!! Necesito comprender el por que de este asunto...por favor cualquier comentario podria serme de gran utilidad... |
#2
|
||||
|
||||
podrias colocar algo de codigo?
osea se entiende que cuando das click en el boton del "preliminar", no te muestra completo.... podrias ser un poco mas especifica? no muestra completo que..... el reporte (Datos incompletos?.. el reporte no tiene mucho espacio para su visualizacion?.. etc
__________________
Dulce Regalo que Satanas manda para mi..... |
#3
|
|||
|
|||
imprimir y vista preliminar
ok...bueno anteriormente el reporte funcionaba correctamente...es decir el boton imprimir del formulario y el imprimir que esta en la vista preliminar mostraban el reporte completo, me toco meterle la validacion de qrynuevo por un cambio en el nombre de un campo en una tabla, despues de ese cambio me sucedio el problema con el imprimir de la vista preliminar...los eventos afterprint y beforeprint estan programados.
Cuando le doy click en vista preliminar muestra el fromulario con toda la informacion(Completo),,,pero al darle click en el boton de imprimir que sale en esa misma ventana, es decir la ventana con el reporte que saca el report builder...no imprime el formulario completo Última edición por Casimiro Notevi fecha: 29-03-2011 a las 22:32:07. Razón: completar |
#4
|
||||
|
||||
Sigo sin entender a que le llamas "reporte completo"
si la unica variacion que has echo es esta
puede ser que el reporte tenga "grupos" y que por la condicion agregada no te este saliendo la informacion que tu deseas....
__________________
Dulce Regalo que Satanas manda para mi..... |
#5
|
|||
|
|||
Print Preview :D
El reporte se compone de subreportes,,,lo que me mata la cabeza es que al darle en el boton imprimir de la ventana del delphi los muestra todos (Formulario completo con toda la informacion) y cuando entro a vista preliminar y me despliega el "print preview"(Vista preliminar muestra formulario completo con toda la informacion) al mandar a imprimir por el boton que trae por defecto la ventana "Print preview" en la hoja que imprimo solo muestra el pie de pagina...(osea formulario incompleto)....
Última edición por Diana Carolina fecha: 28-03-2011 a las 23:22:12. Razón: aclarar |
#6
|
||||
|
||||
Tampoco lo entiendo, ¿puedes poner un ejemplo, algún dibujo del esquema del mismo, etc.?
|
#7
|
|||
|
|||
Jejjej si creo que me cuesta hacerme entender
Esta la ventanita del delphi donde tengo las opciones de: Generar: Al dar click aqui me muestra en una grilla informacion basica. Vista Preliminar : me muestra un formulario con la informacion de la grilla organizada. (Este reporte lo conforman varios subreportes). Imprimir : imprime el mismo formulario que me muestra la vista preliminar. Cuando le doy en el boton vista preliminar y me muestra el formulario en la parte de arriba tambien hay un boton imprimir. El imprimir que esta en la ventana imprime el formulario completo. El imprimir que esta dentro de la vista preliminar solo imprime el pie de pagina del formulario. |
#8
|
||||
|
||||
mmm
coloca aqui el codigo que esta en el boton de imprimir (del formulario) y el codigo del boton imprimr (q esta en el previo) OJO has uso de la Sintaxis delphi para entenderlo mejor .... puedes hacer uso haciendo click en esta ventanita... en el icono que parece una ruina romana o griega
__________________
Dulce Regalo que Satanas manda para mi..... |
#9
|
||||
|
||||
Off topic
¿Tan mal se ve el icono? http://es.wikipedia.org/wiki/Parten%C3%B3n
|
#10
|
||||
|
||||
¿Ruina?, , hay que ser políticamente correctos , son restos arqueológicos de gran valor histórico
|
#11
|
|||
|
|||
El codigo de imprimir(de la pantalla en delphi) y de vista preliminar ya los publique.
El codigo de imprimir de el formulario que sale al darle vista preliminar no lo tengo por que este boton es el que trae por defecto el "preview" del report builder, es decir en el codigo fuente tengo el componente TppReport el cual al darle doble click me muestra la ventana de diseño del report builder, esa ventana tiene 3 pestañas (Data, Desing, Preview). Cuando le doy click en preview sale lo que debe salir cuando le doy vista preliminar en tiempo de ejecucion, en la parte superior izquierda hay un boton con el icono de imprimir llamado "Print". En tiempo de ejecucion primero genero los datos, se muestran en la grilla, tengo la opcion de imprimirlos dede alli o primero entrar a vista preliminar para ver como queda el reporte, si lo imprimo sin entrar a vista preliminar imprime toda la informacion pero si entro a vista preliminar y desde alli le doy al boton "Print" que esta en la parte superior izquierda solo imprime el pie de pagina. Yo se que es complicado entenderme pero ya no se que hacer para exponer mi problema!!! |
#12
|
|||
|
|||
Codigo!!!
Ok...aqui esta el codigo de los eventos implicados, espero con esto me puedan ayudar...es urgente!!!!
procedure TFrmRepFormulario.spbGenerarClick(Sender: TObject); begin inherited; QryTipoPersona.ParamByName('tipo').AsString := QryTipoTipo.AsString; QryTipoPersona.ParamByName('nit1').AsString := QryNit1Nit.AsString; QryTipoPersona.ParamByName('nit2').AsString := QryNit2Nit.AsString; if (gGeMotor = ORACLE ) then QryTipoPersona.SQL.Strings[6]:=' ' else ///si es SQL_SERVER u otro QryTipoPersona.SQL.Strings[6]:=' '; QryTipoPersona.Close; QryTipoPersona.Open; ///aqui agregue validacion// Qrynuevo.close; if FrmPrincipal.QryperteneceFirma.AsString = '001' then begin Qrynuevo.SQL.Strings[2]:='A.ALGO,'; Qrynuevo.SQL.Strings[11]:='AND OP.ALGO = A.ALGO'; end else begin Qrynuevo.SQL.Strings[2]:='A.OTRO,'; Qrynuevo.SQL.Strings[11]:='AND OP.OTRO = A.ALGO' end; Qrynuevo.open; end; procedure TFrmRepFormulario.spbPreliminarClick(Sender: TObject); begin inherited; if Qrytipopersona.AsString = 'A' then begin VarTipoIdCl := Qrytipopersonatipo.AsString; ppReportepers1.DeviceType := dtScreen; ppReportepers1.Print; end else begin VarTipoIdCl := Qrytipopersonatipo.AsString; ppReportepers2.DeviceType := dtScreen; ppReportepers2.Print; end; ///Aqui agregue validacion/// Qrynuevo.Close; if FrmPrincipal.QryperteneceFirma.AsString = '001' then begin Qrynuevo.SQL.Strings[2]:='A.ALGO,'; Qrynuevo.SQL.Strings[11]:='AND OP.ALGO = A.ALGO'; end else begin Qrynuevo.SQL.Strings[2]:='A.OTRO,'; Qrynuevo.SQL.Strings[11]:='AND OP.OTRO = A.ALGO' end; Qrynuevo.open; end; procedure TFrmRepFormulario.spbImprimirClick(Sender: TObject); var i : Integer; Pers1,Pers2 : Boolean; begin inherited; Pers1 := False; Pers2 := False; for i := 0 to Qrypersona.RecordCount -1 do begin if Qrytipopersona.AsString = 'A' then begin VarTipoIdCl := Qrytipopersonatipo.AsString; ppReportepers1.DeviceType := dtPrinter; if Pers1 then begin ppReportepers1.ShowPrintDialog := False; ppReportepers1.ShowCancelDialog := False; end; ppReportepers1.Print; Pers1 := True; end else begin VarTipoIdCl := Qrytipopersonatipo.AsString; ppReportepers2.DeviceType := dtPrinter; if PersNat then begin ppReportepers2.ShowPrintDialog := False; ppReportepers2.ShowCancelDialog := False; end; ppReportepers2.Print; Pers2 := True; end; Qrytipopersona.FindNext; end; ///Agregue validacion/// Qrynuevo.Close; if FrmPrincipal.QryperteneceFirma.AsString = '001' then begin Qrynuevo.SQL.Strings[2]:='A.ALGO,'; Qrynuevo.SQL.Strings[11]:='AND OP.ALGO = A.ALGO' end else begin Qrynuevo.SQL.Strings[2]:='A.OTRO,'; Qrynuevo.SQL.Strings[11]:='AND OP.OTRO = A.ALGO' end; Qrynuevo.open; end; procedure TFrmRepFormulario.ppReportepers1PreviewFormCreate( Sender: TObject); begin inherited; ppReportepers1.PreviewForm.WindowState := wsMaximized; end; procedure TFrmRepFormulario.ppReportepers1BeforePrint( Sender: TObject); begin inherited; if QryTipoPersona1.RecordCount = 0 then exit; Qry1.ParamByName('Tipo').AsString := QryTipoPersona1Tipo.AsString; Qry1.ParamByName('Nit').AsString := QryTipoPersona1Nit.AsString; Qry1.Open; Qry2.ParamByName('Tipo').AsString := QryTipoPersona1Tipo.AsString; Qry2.ParamByName('Nit').AsString := QryTipoPersona1Nit.AsString; Qry2.Open; Qrynuevo.ParamByName('TipId').AsString := QryTipoPersona1Tipo.AsString; Qrynuevo.ParamByName('NitCliente').AsString := QryTipoPersona1Nit.AsString; Qrynuevo.Open; Qry4.ParamByName('Tipo').AsString := QryTipoPersona1Tipo.AsString; Qry4.ParamByName('Nit').AsString := QryTipoPersona1Nit.AsString; Qry4.Open; end; procedure TFrmRepFormulario.ppReportepers2PreviewFormCreate( Sender: TObject); begin inherited; ppReportepers2.PreviewForm.WindowState := wsMaximized; end; procedure TFrmRepFormulario.ppReportepers2BeforePrint( Sender: TObject); begin inherited; if QryTipoPersona2.RecordCount = 0 then exit; Qry1.ParamByName('Tipo').AsString := QryTipoPersona2Tipo.AsString; Qry1.ParamByName('Nit').AsString := QryTipoPersona2Nit.AsString; Qry1.Open; Qry2.ParamByName('Tipo').AsString := QryTipoPersona2Tipo.AsString; Qry2.ParamByName('Nit').AsString := QryTipoPersona2Nit.AsString; Qry2.Open; Qrynuevo.ParamByName('TipId').AsString := QryTipoPersona2Tipo.AsString; Qrynuevo.ParamByName('NitCliente').AsString := QryTipoPersona2Nit.AsString; Qrynuevo.Open; Qry4.ParamByName('Tipo').AsString := QryTipoPersona2Tipo.AsString; Qry4.ParamByName('Nit').AsString := QryTipoPersona2Nit.AsString; Qry4.Open; end; procedure TFrmRepFormulario.ppReportepers2AfterPrint( Sender: TObject); begin inherited; ppReportepers2.ShowPrintDialog := true; ppReportepers2.ShowCancelDialog := True; Qry1.Close; Qry2.Close; Qrynuevo.Close; Qry4.close; end; procedure TFrmRepFormulario.ppReportepers1AfterPrint( Sender: TObject); begin inherited; ppReportepers1.ShowPrintDialog := true; ppReportepers1.ShowCancelDialog := True; Qry1.Close; Qry2.Close; Qrynuevo.Close; Qry4.close; end; |
#13
|
||||
|
||||
Amiga, ya leíste nuestra guía de estilo, gracias por tu colaboración.
Y cómo poner etiquetas al código: |
#14
|
|||
|
|||
Lo intentare!
|
#15
|
|||
|
|||
|
#16
|
|||
|
|||
Caso Extraño!
Ok...les cuento que el problema de imprimir parece ser solo en mi computador, un compañero compilo el mismo fuente en su equipo y no existe ningun problema al imprimir por cualquier lado,,,lo curioso es que me paso el ejecutable que funciona en su equipo y al abrirlo en el mio no funciona,,,es el mismo codigo fuente y cuando lo compilo en mi equipo queda con el problema,,,si lo paso a otro equipo no funciona, el de mi compañero si....Quiza alguno de ustedes pueda explicarme el por que de esto...Gracias
|
#17
|
||||
|
||||
¿Puede ser configuración de la impresora?, ¿los drivers?, también hay un pequeño truco cuando ocurren "cosas raras", borra el fichero reportbuilder.ini que está en c:\windows
|
#18
|
||||
|
||||
Cita:
Ghost in the Machine.....
__________________
Dulce Regalo que Satanas manda para mi..... |
#19
|
|||
|
|||
Resuelto!
Muchas Gracias efectivamente parece ser problema de la configuracion de la impresora....
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Imprimir report builder | MIGUELITO | Impresión | 1 | 18-01-2011 22:47:10 |
Obtener PageCount de Reporte realizado en Report Builder. | cybergerman | Impresión | 1 | 11-02-2010 23:50:24 |
Como ver un reporte de fast report desde un boton en delphi | DATESCO | Impresión | 4 | 08-09-2008 05:42:31 |
Reporte diferentes con report builder | vroa74 | Impresión | 0 | 17-09-2007 01:21:40 |
Problemas al imprimir dbmemos en report builder | Jorge Taveras | Impresión | 9 | 05-10-2005 12:40:53 |
|