FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
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!!! |
#2
|
|||
|
|||
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; |
#3
|
||||
|
||||
Amiga, ya leíste nuestra guía de estilo, gracias por tu colaboración.
Y cómo poner etiquetas al código: |
#4
|
|||
|
|||
Lo intentare!
|
#5
|
|||
|
|||
|
#6
|
|||
|
|||
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
|
#7
|
||||
|
||||
¿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
|
#8
|
||||
|
||||
Cita:
Ghost in the Machine.....
__________________
Dulce Regalo que Satanas manda para mi..... |
|
|
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 |
|