Esto lo he tenido que hacer 2 veces y como la primera fue hace algunos años y la otra fue hace unos días, en la segunda oportunidad estuve un rato largo acordándome de cada una de las cosas que hice en la primera.
La idea es que un proceso genera un pdf y automáticamente sin interacción del usuario se envía un mail (o muchos mail's).
Bueno en genexus para que se genere un reporte en formato pdf, lo que hay que hacer son 3 cosas.
1 - marcar que el reporte sea main
2 - call protocol como HTML
3 - una regla Output_file(&nombre, "pdf"); siendo nombre el nombre del pdf, con el .pdf
con esto genexus sabe que el reporte lo genera en formato pdf.
Ahora lo que queremos es que ese archivos se genere pero quede guardado en el servidor en alguna ruta que se pueda ,entonces cambiamos &nombre por el nombre completo de la ruta, por ejemplo /home/arch.pdf, y esa variable debe de llegar al reporte y debe de ser in, ejemplo
param(in:&nombre);
Y además en el call protocol hay que cambiar de HTML a Internal.
Con estos cambios tenemos el pdf en una ruta conocida del servidor, ahora lo único que hay que hacer es hacer algún proceso que envié el mail, para esto se pueden utilizar varias formas, pero lo que hay que hacer es una variable del tipo MailMessage, adjuntarle el pdf, MailMessage.attach(&nombre), y luego seguir con el resto de las cosas para enviar el mail.
Intentare mostrarles todas las cosas que me pasan día a día en mis pruebas, en mi trabajo, etc.
sábado, 2 de mayo de 2009
Genexus,enviar mail con pdf adjunto
Suscribirse a:
Enviar comentarios (Atom)
19 comentarios:
Muy bueno, el blog, pero me gustaria saber si esto funciona para un ambiente web y no cliente servidor, y si es asi como se realiza?, diegovegal@hotmail.com
Diego, perdon por no contesarte antes. La respues es un si muy grande, esto funciona en web, es mas todo lo que he escrito lo uso en un ambiente web porque hace ya varios años que solo trabajo en web. Pero esto tambien te funcinaria en win casi de la misma forma.
Hola me llamo john y quiero saber si me podes decir como genero archivos pdf en una aplicacion win con gx8 , ya que no me lo genera , sin embargo a nivel web si me lo realiza el gx 9.
Realmente hace muchísimo tiempo que no utilizo gx8. Pero lo que te puedo decir es que depende en que estés generando para ver que necesitas. Quizás date una vuelta por gxsearch que vas a encontrar muchos comentarios.
Hola me funciona pero me escribe toda la ruta del linux te sucede lo mismo estoy en GeneXus X.
Te esta saliendo en el pdf que enviás por mail, una linea con la ruta del linux? (nunca me paso) o te esta generando el nombre del archivo con la ruta del linux?. Esto segundo alguna vez me paso, pero realmente no recuerdo como lo solucione. Perdón.
Si me esta sucediendo me esta colocando toda la ruta del LINUX es decir el archivo.pdf
me aparece cuando hago el atach y lo envio:
_u01_product_oracle_j2ee_application_webtemo_archivo.pdf
en vez de los / aparecen _
Hola, Mi nombre es Victor Giraldo, estoy tratando de implementar esta solucion, pero no me ha querido funcionar.
estoy trabajando en la X evo U3.
sabes de algun inconveniente por estar trabajando en esta version??
Realmente nunca lo probe en Gx Evo. No te puedo ayudar.
Gracias!!!!
Muy buena la descripcion de como hacerlo, pero estoy teniendo un problema con una imagen que tengo en el header, al poner el protocolo como HTTP me anda, pero al ponerlo como internal me generala el pdf con los info que quiero y la imagen no aparece. Te ha sucedido?
Gracias.
La verdad no he probado enviar pdf con imágenes, asi que no voy a poder ayudarte.
Para invocar un reporte en evolution el reporte debe ser llamado asi: reporte.call(&variables) o &Window.object = create(reporte,&variables)
&WIndow.Width = tamaño
&WIndow.Heigth = tamaño
&WIndow.Open
Para que no halla error al generar el reporte
hola..
como podria enviar un archivo excel en ambiente web...
eh llegado hasta el output_file()
pero no me acepta el xls..
Josselhin, primero para crear un excel debes usar el tipo de datos ExcelDocument, con esto te va a facilitar generarlo. Supongo que estas en un ambiente web, en el cual se me ocurren 2 cosas, una es generar el archivo, que este se guarde en disco, y luego en el envío de mail adjuntar este excel con la ruta directa del disco, la otra opción seria guardar este excel en un blob de la base de datos y luego adjuntar este a un mail. Saludos y espero te ayude.
No logro guardar el documento en pdf para poder adjuntarlo :( tengo dias probando todo lo que me dicen y nada.
EV1 U7
No he podido lograr que me guarde el pdf :( tengo dias intentanto todo lo q dicen pero nada :( EV1, U7
Anonimo!! te da algún error? tenes permiso para escribir en la carpeta temporal? miraste el log del tomcat?
Muchas gracias Nestor Lesna. Tu vital ayuda tiene para mi un valor incalculable. Que dios te bendiga y te tenga en la gloria.
Saludos,
Sebita.
Publicar un comentario