Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Impresión
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-04-2006
dvlt dvlt is offline
Miembro
 
Registrado: mar 2005
Posts: 109
Poder: 20
dvlt Va por buen camino
Report Manager

Buenas!
Tengo un problemilla, o no se como llamarlo, quizas me quiero complicar un poco la vida, pero es a la conclusión que he llegado. Necesito guardar unos informes de Report manager en la base de datos, para luego, según quiera el usuario escojer el q sea mediante un treeview, donde esta toda la lista de los informes de la base de datos, para imprimirlo generando los datos a través del programa, es decir, el usuarios imaginemos q quiere imprimir la ficha de un cliente, entonces desde el programa selecciona el informe de ficha cliente y se genera el informe de la ficha de ese cliente, aqui debo utilizar parametros, pero como? y mas aun... como puedo hacer que el programa me muestre ese determinado informe que se ha seleccionado a través del treeview trayendolo de la base de datos?

Muchas gracias a todos!!!
Responder Con Cita
  #2  
Antiguo 07-04-2006
Avatar de mazinger
mazinger mazinger is offline
Miembro
 
Registrado: jul 2004
Ubicación: Zamora
Posts: 85
Poder: 20
mazinger Va por buen camino
Para llamar a un parámetro:

Código:
VCLReport1.Report.Params.ParamByName('IdINI').Value := IdIni;
Seleccionar el archivo .rep que quieres llamar:

Código:
         VCLReport1.FileName := 'Factura.rep';
Y por último el codígo completo de llamada a una funcion de impreesión de un informe en una dll:

Código:
Function ImprimeFactura(aDB, aSerie : String; IdIni,IdFin : Integer; Previsual, AutoNombre, PDF,Impresion,Archivo: Boolean) : Boolean;
Var
  Directorio, ConnectionString : String ;
Begin
   Inicio;
   Result := False;
   With dmRecursos.VCLReport1 do
     Try
         ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+
              aDB+';Jet OLEDB:Engine Type=4';
         Directorio := ExtractFilePath(Application.ExeName);
         dmRecursos.ADOConnection1.ConnectionString := ConnectionString;
         dmRecursos.ADOConnection1.Open;
         FileName := Directorio +'informes\' +'Factura.rep';
         CambiaImpresora(LeeTextoOpcion('prn_ImpresoraFacturas'));
         Report.PrinterSelect := pRpUserPrinter1;
         Report.DatabaseInfo.Items[0].ADOConnectionString := ConnectionString;
         ShowPrintDialog := False;
         ShowProgress := False;
         Report.Params.ParamByName('IdINI').Value := IdIni;
         Report.Params.ParamByName('IdFIN').Value := IdFin;
         Report.Params.ParamByName('SERIEFACTURA').Value := aSerie;
         Report.Params.ParamByName('ARCHIVO').Value := Archivo;
         Title := 'Impresión de fras. Serie ' + aSerie+' desde la '+
                      IntToStr(IdIni)+' hasta la '+IntToStr(IdFin);
         Preview := Previsual;
         If AutoNombre Then
            SaveToPDF(Directorio+'FrasSerie_' + aSerie+'_'+IntToStr(IdIni)+
                                        '_'+IntToStr(IdFin)+'.PDF');
         If PDF Then Begin
           With dmRecursos.SaveDialog1 do Begin
             InitialDir := Directorio;
             FileName := 'FrasSerie_' + aSerie+'_'+IntToStr(IdIni)+'_'+IntToStr(IdFin)+'.PDF';
             Result := Execute;
             SaveToPdf(FileName,True);
           End;
         End  Else Execute;
     Finally
         dmRecursos.FreeOnRelease;
     End;
End;
Espero que te ayude
__________________
Visita mi página (en construcción):

http://mazinger.wordpress.com/
Responder Con Cita
  #3  
Antiguo 12-05-2006
dvlt dvlt is offline
Miembro
 
Registrado: mar 2005
Posts: 109
Poder: 20
dvlt Va por buen camino
Hola de nuevo,
sigo sin poder ejecutar un reporte desde la aplicación, quizas no me explique del todo bien.

Tengo unos reportes guardados en la base de datos, en una tabla para informes, con una serie de campos que me ayudaran a situar los informes en grupos en mi treeview y un campo informe de tipo blob donde almaceno el informe. La idea es que al hacer clic en un informe desde el treeview, se me abra el informe. Y aquí empieza el problema, pues no consigo que mi TVCLReport me abra el informe. Hasta ahora, y por lo que he podido descubrir debo utilizar un TRpAlias para definir la conexion a la base de datos y vincular el TVCLReport con este. Creo, y digo solo creo, que el TRpAlias esta bien configurado, pues puedo probar la conexion y me dice que es correcta, pero también da la opción de navegar por la libreria y nada de nada, ahí me dice que hay un parámetro incorrecto, pero no me especifica nada. Total, que enlaco el TVCLReport con el TRpAlias, pero ahora ya no se como indicarle el informe que debe abrir, es decir, que cuando yo clique sobre un informe en el treeview, como, o mejor dicho, que propiedades debo utilizar para indicar el informe que me debe abrir de la tabla de la base de datos.

Bueno, espero haberme explicado mejor ahora. Muchas gracias a todos y a ver si alguien me puede echar una mano!

Saludos!
Responder Con Cita
  #4  
Antiguo 12-05-2006
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.037
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Has visitado la sección de "documentación" de la página web de report manager?, puede que encuentres lo que necesitas.
Responder Con Cita
  #5  
Antiguo 13-05-2006
dvlt dvlt is offline
Miembro
 
Registrado: mar 2005
Posts: 109
Poder: 20
dvlt Va por buen camino
Si, he mirado la documentación, pero no viene ninguna información de como implementar el abrir un reporte de la base de datos en delphi...

En teoria necesito utilizar un TRpAlias para definir la conexion y utilizarlo en las propiedades del TVCLReport, pero no consigo que funcione, a parte de no saber como indicarle al TVCLReport cual es el reporte de la tabla que quiero que abra. Alguna idea?

Gracias de nuevo!
Responder Con Cita
  #6  
Antiguo 14-05-2006
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.037
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Entre la amplia documentación de report manager, también tienes esta que es exclusivamente para delphi, ¿no te sirve?
Responder Con Cita
  #7  
Antiguo 16-05-2006
dvlt dvlt is offline
Miembro
 
Registrado: mar 2005
Posts: 109
Poder: 20
dvlt Va por buen camino
Hola de nuevo
definitivamente, configuro el trpalias, me deja probar la conexion y me dice que es correcta, pero si quiero navegar por la tabla me dice que hay un parametro incorrecto y no me especifica cual... Estoy perdido... alguna idea por favor?

Gracias!!!
Responder Con Cita
  #8  
Antiguo 16-05-2006
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.037
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
prueba a hacer una prueba sencillita siguiendo el ejemplo del tutorial, y vas poco a poco hasta ver qué falla en lo que haces, porque así, desde aquí, a ciegas, está difícil ayudarte
Responder Con Cita
  #9  
Antiguo 17-11-2006
jorllazo jorllazo is offline
Miembro
 
Registrado: sep 2006
Ubicación: Valencia, España
Posts: 83
Poder: 18
jorllazo Va por buen camino
Yo lo que haria en el momento del doble click sobre el arbol, es cargar el contenido del blob en un stream y grabarlo en un fichero temporal en disco, para despues cargarlo del modo habitual que tiene report manager. Cuando acaba el preview, este fichero deberias eliminarlo.

Aqui tienes un trozo de codigo que lee un jpg de una BD igual te sirve como idea inicial
Código Delphi [-]
                        procedure TForm1.btnShowImageClick(Sender: TObject);
                             var
                                  bS  : TADOBlobStream;
                                  Pic : TJpegImage;
                        begin
                                  bS := TADOBlobStream.Create
                                          (AdoTable1Picture, bmRead);
                                  try
                                      Pic:=TJpegImage.Create;
                                      try
                                           Pic.LoadFromStream(bS);
                                           ADOImage.Picture.Graphic:=Pic;
                                      finally
                                           Pic.Free;
                                      end;
                                  finally
                                           bS.Free
                                  end;
                        end;

Espero te sirva la idea.
__________________
Gracias de Antemano

Última edición por jorllazo fecha: 17-11-2006 a las 09:08:15.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Coneccion con Report Manager febito Impresión 2 08-05-2012 01:53:41
truncar float con report manager federiconqn21 Impresión 1 03-02-2006 14:36:10
Instalar Report Manager Espartaco Impresión 4 14-10-2005 21:31:02
report manager Teuram Linux 2 28-12-2004 17:36:44
ayuda sobre Report Manager fcobanda Impresión 0 25-08-2004 17:35:24


La franja horaria es GMT +2. Ahora son las 19:44:20.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi