Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-07-2008
mjjj mjjj is offline
Miembro
 
Registrado: mar 2007
Posts: 652
Poder: 18
mjjj Va por buen camino
automatizacion Rave Report

Hola amigos, espero me puedan ayudar...
Tengo que enviar por correo un archivo en pdf.
Para generar este archivo lo hago con el Rave report, y utilizando el componente TRvRenderPDF, lo transformo a PDF.

Todo funciona de maravilla, el problema es que lo tengo que hacer todo manualmente... como puedo hacer para automatizar esto

- generar automaticamente el archivo PDF basado en el reporte del Rave, en un directorio temporal.
- envie el correo (esto lo tengo funcionando)
- elimine el archivo temporal

este el el codigo con el cual obtengo el reporte en Rave.
Código Delphi [-]
RVPROJECT1.SetParam('CORREO',FORM1.Label10.CAPTION);
RVPROJECT1.ExecuteReport('empresa');

Espero que se haya entendido mi consulta...

Saludos
Responder Con Cita
  #2  
Antiguo 07-07-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.561
Poder: 25
egostar Va camino a la fama
Yo te puedo ayudar a automatizar la creación del pdf

Código Delphi [-]
begin
  RvSystem1.DefaultDest       := rdFile;
  RvSystem1.DoNativeOutput  := false;
  RvSystem1.RenderObject     := RvRenderPDF1;
  RvSystem1.SystemSetups    := RvSystem1.SystemSetups - [ssAllowSetup];
  RvSystem1.OutputFileName  := 'c:\temp\archivo.pdf';
  RvProject1.Execute;
  EnviaCorreo('c:\temp\archivo.pdf'); //Hay en el foro varias formas de hacer esto
end;
Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #3  
Antiguo 08-07-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola mjjj, para crear tu directorio puedes utilizar CreateDir

Código Delphi [-]
 RutaDir := ExtractFilePath(Application.ExeName)+'NombreDir';
 if not DirectoryExists(RutaDir) then
  CreateDir(RutaDir); // Creamos el directorio
 
 Archivo := RutaDir+'\'+'NombrePdf.Pdf';
 
 //El codigo que te paso egostar
 .......
 RvSystem1.OutputFileName  := Archivo;
 ........
 ........
 DeleteFile(Archivo);

Si tienes mas de un pdf en tu directorio tendras quer recorrer e ir borrando uno a uno y si quieres borrar tu directorio temporal puedes utilizar la función RemoveDir.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #4  
Antiguo 08-07-2008
Loviedo Loviedo is offline
Miembro
 
Registrado: dic 2004
Posts: 214
Poder: 0
Loviedo cantidad desconocida en este momento
A lo mejor esto te puede ayudar:
Código Delphi [-]

// crear PDF
procedure TForm1.Button1Click(Sender: TObject);
var
  NDRStream:  TMemoryStream;
begin
  NDRStream := TMemoryStream.Create;
  RvProject1.open;
  RvProject1.SelectReport('Presupuesto',true);
  RvProject1.SaveToStream(NDRStream);
  RvNDRWriter1.Stream:=NDRStream;
  RvProject1.Execute;
  RvRenderPrinter1.Render(NDRStream);
  RvProject1.close;
  try
    RvRenderPDF1.PrintRender(NDRStream,'C:\Temp\Pba.pdf');
  except
    NDRStream.Free;
  end;


// Con los componentes Indy enviar correo

  if not FileExists('C:\Temp\Pba.pdf') then
    exit;
  SMTP.Host := mHost;
  SMTP.Port := strtoint(mPuerto);
  SMTP.username := mUsuario;
  SMTP.password := mPassword;

  MailMessage.Clear;
  MailMessage.From.Address := mEmail;
  MailMessage.From.Name := mNombre;
  MailMessage.Recipients.EMailAddresses := 'Prueba@hotmail.com'; {destino}
  MailMessage.BCCList.add.Address := mEmail;
  MailMessage.Subject := mAsunto;
  MailMessage.Body.Text := mTexto;

  TIdAttachment.Create(MailMessage.MessageParts,'C:\Temp\Pba.pdf');

  try
    try
      SMTP.Connect(1000);
      SMTP.Send(MailMessage);
    except
      showmessage('Fallo en el Envío de Correo');
      exit;
    end;
  finally
    if SMTP.Connected then
      SMTP.Disconnect;
  end;

// si lo desea DeleteFile('C:\Temp\Pba.pdf');
// Si busca en el foro,  hay información  sobre el tema 
end;

Saludos.
Responder Con Cita
Respuesta



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
rave report josi Varios 1 12-06-2008 16:18:12
Rave Report Nomad Impresión 1 14-03-2008 02:50:59
Rave Report Iskariote0087 Varios 2 26-02-2007 15:03:12
rave report sergeimar Impresión 1 20-04-2006 22:21:34
Rave Report aldaro Impresión 1 14-09-2004 21:03:01


La franja horaria es GMT +2. Ahora son las 23:01:21.


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