Enviar PDF adjunto en Outlook

406 views
Skip to first unread message

Alberto Cuevas

unread,
Feb 27, 2013, 11:34:01 AM2/27/13
to powerbui...@googlegroups.com
Buenos días estimados, necesito crear una opcion a los reportes, que esta convierta a pdf el reporte y a la vez abra un nuevo envio y el pdf adjunto en outlook.

Quizas alguien ya tiene implementado esto y me podria ayudar.

Saludos.

David Samudio

unread,
Feb 27, 2013, 12:12:11 PM2/27/13
to powerbui...@googlegroups.com
Que version de Power Builder utilizas?


--
Lic. David Samudio


--
Has recibido este mensaje porque estás suscrito al grupo "PowerBuilder - Ica" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a powerbuilder-i...@googlegroups.com.
Para publicar una entrada en este grupo, envía un correo electrónico a powerbui...@googlegroups.com.
Visita este grupo en http://groups.google.com/group/powerbuilder-ica?hl=es.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
 
 

Alberto Cuevas

unread,
Feb 27, 2013, 2:48:24 PM2/27/13
to powerbui...@googlegroups.com
Hola David, trabajo con la versión 12.1
Message has been deleted

Fati Villa

unread,
Feb 27, 2013, 2:56:11 PM2/27/13
to powerbui...@googlegroups.com
yo hice esto en una ocasion. Te paso el Scrip que utilice...
Instalo el PDFCREATOR y a la impresora la nombro como "PDF", debes instalar el programa 
gs871w32.exe (para windows de 32b) y gs871w64.exe para los de 64.
Espero se entienda algo. jeee

//by fativilla 27.06.2012 \m/
string ls_arc_pdf, ls_presupuesto, ls_sucursal,ls_abrir

CreateDirectory('C:\PDF\') //SI no existe la carpera lo crea en el directorio del app
ls_sucursal=string(tabpage_5.dw_10.Object.sucu[1])
ls_presupuesto=string(tabpage_5.dw_10.Object.presupuesto[1])
ls_arc_pdf= 'C:\PDF\carta_oferta'+ls_sucursal+'_'+ls_presupuesto+'.pdf' //forma el nombre del archivo
tabpage_5.dw_10.Object.DataWindow.Export.PDF.Method = Distill!
tabpage_5.dw_10.Object.DataWindow.Printer = "PDF"//PDF Nombre de la impresora virtual
tabpage_5.dw_10.Object.DataWindow.Export.PDF.Distill.CustomPostScript="YES"     // Permitir Postscript
if tabpage_5.dw_10.SaveAs(ls_arc_pdf,PDF!,true) <> 1 then
  messagebox("Error","Hubo un error al generar el archivo PDF~n~r"+&
  "1. Puede que no haya instalado gs871w32.exe~n~r"+&
"2. Puede que no tenga una impresora virtual con el nombre 'PDF'~n~r", StopSign!)
else
messagebox("Atención","El archivo se generó con EXITO!!~n~r"+&
  ls_arc_pdf)
End if
Atte.
Lic. Fatima Villamayor
Analista de Sistemas Informáticos.

Alberto Cuevas

unread,
Feb 27, 2013, 3:01:41 PM2/27/13
to powerbui...@googlegroups.com
Disculpen si no explique muy bien mi caso, necesito tener una opción en mi ventana de reporte (Enviar por Correo) la cual abra un nuevo envio de Outlook adjuntando el reporte en PDF.

Gracias por las respuestas la parte de convertir a PDF el DW ahora mismo lo estare implementando gracias a su ayuda. 

David Samudio

unread,
Feb 27, 2013, 3:07:23 PM2/27/13
to powerbui...@googlegroups.com
Asi como Oscar yo utilizo Gosthscript y me funciona de maravillas.

Yo tuve la misma necesidad que tu al tener que habilitar la opcion de enviar un reporte via correo desde el mismo sistema, para eso nosotros optamos por hacer una pequeña ventana para envio de mail y ahi ya le adjuntamos el reporte que acabamos de guardar como PDF.

Para el envio de mail yo utilice el mailSession, el codigo lo saque del ejemplo, y si bien no es taaan vistoso y dinamico como el outlook ya cumple su rol de que los operadores puedan enviar el mail desde el sistema y deja el registro en la bandeja de salida del correo.



--
Lic. David Samudio

Fati Villa

unread,
Feb 27, 2013, 3:17:51 PM2/27/13
to powerbui...@googlegroups.com
Tambien lo hice.
Asumo de que ya tienes hecho el windows del envio de mail, esto lo que hace buscar el archivo que habiamos generado, si no existe lo crea, sino lo adjunta.

//by fativilla 29.06.2012
w_frame lw_frame
w_sheet lw_sheet
st_parametros_email lstr_parm //estructura de email
string ll_mail, ls_ruta, ls_parametros, ls_sucursal, ls_presupuesto
ls_sucursal=string(tabpage_5.dw_10.Object.sucu[1])
ls_presupuesto=string(tabpage_5.dw_10.Object.presupuesto[1])
ll_mail = tabpage_1.dw_1.object.personas_mail[1]
//verificamos si existe el archivo a adjuntar
IF FileExists("C:\PDF\carta_oferta"+ls_sucursal+'_'+ls_presupuesto+'.pdf') THEN
ls_ruta= 'C:\PDF\carta_oferta'+ls_sucursal+'_'+ls_presupuesto+'.pdf'
else
tabpage_5.cb_1.triggerevent(clicked!)//llama al boton q genera el .pdf
ls_ruta= 'C:\PDF\carta_oferta'+ls_sucursal+'_'+ls_presupuesto+'.pdf'
end if 
//le asignas los valores para la structura
lstr_parm.st_para =ll_mail 
lstr_parm.st_adjunto =ls_ruta
lstr_parm.st_asunto ='Presupuesto C.R.'
lstr_parm.st_cuerpo = 'Sr./es Cliente/s.: Adjuntamos Presupuesto'
if gnv_appmanager.of_getframe( lw_frame )  <> 1 then return
opensheetwithparm(lw_sheet,lstr_parm,"w_send_mail",lw_frame,2,original! )

David Samudio

unread,
Feb 27, 2013, 3:20:09 PM2/27/13
to powerbui...@googlegroups.com
Si Fati..funciona asi mismo..


--
Lic. David Samudio
correo.png

Alberto Cuevas

unread,
Feb 27, 2013, 3:24:47 PM2/27/13
to powerbui...@googlegroups.com
Gracias por sus respuestas y por compartir conmigo su código y su experiencia.

Espero que mi jefe acepte ya que tenemos un gerente que es muy especial y quiere que se envie desde el mismo Outlook para que vaya su firma el fondo de correo etc.. bueno, paciencia y buen humor.

Saludos.

Fati Villa

unread,
Feb 27, 2013, 3:29:43 PM2/27/13
to powerbui...@googlegroups.com
a tu jefe hazle un close(parent) ;) 
Suerte!

Alberto Cuevas

unread,
Feb 27, 2013, 3:41:35 PM2/27/13
to powerbui...@googlegroups.com
Jajajaja Gracias Fati ;)
Reply all
Reply to author
Forward
0 new messages