Page 1 of 1
Cambios a RPreview.Prg
Posted: Tue Dec 24, 2019 12:43 am
by Armando
Hola Amigos del foro:
Cómo cada año quiero expresarles mis mejores deseos para
estas fiestas decembrinas.
"Que los atropelle la dicha y que los destroce la felicidad!"
Después de esto paso a hacerles una pregunta, Tengo FW1905 y en el PREVIEW
hay un botón para enviar el reporte por e-mail, RPreview abre MS-Outlook y
arma el correo casi en su totalidad.
Como puedo hacer para agregar, a lo que arma RPreview, la dirección de correo
a la que se va a enviar, más direcciones de correo (CC), son a elección del usuario,
el titulo y texto del mensaje?
Saludos
Re: Cambios a RPreview.Prg
Posted: Tue Dec 24, 2019 9:04 am
by MOISES
Hola:
Tendrás que modificar el método sendmail() y añadir lo que necesites a:
Code: Select all
DEFINE MAIL oMail ;
SUBJECT cName ;
TEXT "" ;
FILES cFile, cFileNoPath( cFile ) ; //FILES cFile, cFile ; // by dfl 1712
FROM USER
ACTIVATE MAIL oMail
Re: Cambios a RPreview.Prg
Posted: Tue Dec 24, 2019 10:43 am
by Garbi
Como te indican tendrás que modificar el método sendmail(), te pongo las modificaciones que yo he hecho por si te pueden servir de ayudar, yo le paso, por ejemplo, el email del cliente, proveedor.
Code: Select all
METHOD SendEmail() CLASS TPreview
local oMail, cName, cFile, olMailItem, oOutLook, oAttach
cName := If( ::oReport != nil, ::oReport:cName, ::oDevice:cDocument )
cFile := cFilePath( ::oDevice:aMeta[ 1 ] ) + StrTran( cName, '.', '' ) + ".pdf"
CursorWait()
cFile := ::SaveAs( .t., cFile, .f. )
CursorArrow()
if ! File( cFile )
MsgInfo( FWString( "PDF not saved to send Email" ), FWString( "Information" ) )
elseif ::bEmail != nil
Eval( ::bEmail, Self, cName, cFile )
else
TRY
oOutLook := GetActiveObject("Outlook.Application")
EmSend := .T.
CATCH
TRY
oOutLook := GetActiveObject("Outlook.Application")
EmSend := .F.
CATCH
EmSend := .F.
END
END
IF !EmSend
ShellExecute(,"Open","Outlook",,,3)
EmSend = .T.
ENDIF
IF EmSend
oOutlook = CREATEOBJECT( "Outlook.Application" )
oNameSpace := oOutlook:GetNameSpace("MAPI")
oMail = oOutlook:CreateItem( olMailItem )
oMail:to := vmailpre
oMail:Subject = cName
oMail:htmlBody =" "
oMail:BodyFormat := 2 // FORMAT HTML
oMail:Attachments:Add(cFile)
oMail:Display(.T.)
* oMail:Send()
endif
endif
::oMeta1:SetFocus()
return nil
Re: Cambios a RPreview.Prg
Posted: Tue Dec 24, 2019 3:47 pm
by Armando
Moises y Garbi:
Muchas gracias, lo voy a intentar.
Feliz Navidad
Re: Cambios a RPreview.Prg
Posted: Wed Dec 25, 2019 5:23 pm
by nageswaragunupudi
There is no need to modify the RPreview.prg.
Instead, make this assignment initially in the program.
Code: Select all
TPreview():bEmail := { |oPreview, cReportName, cPdfFile| MySendEmail( oPreview, cReportName, cPdfFile ) }
// ...
// ...
function MySendEmail( Self, cReportName, cPdfFile )
<your method body>
return nil
Re: Cambios a RPreview.Prg
Posted: Wed Dec 25, 2019 5:57 pm
by Armando
Mr. Rao:
Thanks a lot, I will.
Best regards