Informe por email

Quisiera saber si alguien conoce alguna forma de mandar un informe (vfp 6.0)directamente por e-mail, este informe actualmente es generado por los usuarios e impreso directamente para luego scanearlo y mandarlo por e-mail.
Gracias.

6 respuestas

Respuesta
1
No se como enviar el informe, pero te puedo sugerir que programes que el informe se grabe en disco, para poder enviarlo como archivo adjunto en un email.
Respuesta
1
Foxero con respecto a tu pregunta de mandar un reporte directo por EMAIL no se podrías ya que tendrías primero mandarlo a un archivo (TXT, ASCII, PDF, EXCEL, WORD u Otro medio) de ahí tener el UN CONTROL ACTIVE POR que nos sirve para envío de correo por medio de VFP.
Ya que directo no se puede se tienen que hacer eso 2 pasos.
Dentro de la opciones de VFP herramientas-Opciones-Ficha de Controles y despuedes controles de Active POR te mostrara una serie de controles "Microsoft MAPI Message Control" y le das insertar objeto a un formulario diseñas y listo
Respuesta
1
Sé q' podrías enviarlo a un archivo y luego adjuntarlo al e-mail.
Si podrías enviar más detalles... ¿Los usuarios tienen los dll de fox?
Podrías hacer quizás una vista previa del informe y podrías usar alguna encriptación al e-mail, donde están los datos.
Respuesta
1
Prueba con esta rutina... a mi me funciona perfectamente.
Local pcPara, pcAsunto, pcCuerpo, paFichEnviar, plMostrarDialogo
IF EMPTY(pcPara)
pcPara = "direccion@de_correo.es"
ENDIF
IF EMPTY(pcAsunto)
pcAsunto = "<Asunto>"
ENDIF
IF EMPTY(pcCuerpo)
pcCuerpo = ""
ENDIF
IF EMPTY(paFichEnviar)
paFichEnviar = ""
ENDIF
LOCAL oform
oform = CreateObject("form")
oform.addobject("Session1","olecontrol","MSMAPI.mapiSession")
IF TYPE('oform.Session1') <> 'O'
MESSAGEBOX('No se ha podido instanciar la aplicación de correo.', 64, 'Atención')
RELEASE oform
RETURN .F.
ENDIF
oform.addobject("Message1","olecontrol","MSMAPI.mapiMessages")
IF TYPE('oform.Message1') <> 'O'
MESSAGEBOX('No se ha podido instanciar la aplicación de correo.', 64, 'Atención')
RELEASE oform
RETURN .F.
ENDIF
oform.Session1.LogonUI = .t.
*- Si no se pone la propiedad a .F. y en OUTLOOK está puesto trabajar sin conexión
*- se cuelga
oform.Session1.DownloadMail=.f.
oform.Session1.signon
oform.Message1.sessionid = oform.Session1.sessionid
oform.Message1.compose
oform.Message1.RecipDisplayName = pcPara
oform.Message1.msgsubject = pcAsunto
oform.Message1.msgnotetext = pcCuerpo
*- Si no es un array, lo crea
IF TYPE('paFichEnviar[1]') = 'U'
LOCAL lcFileEnviar
lcFileEnviar = paFichEnviar
DIMENSION paFichEnviar(1)
paFichEnviar(1) = lcFileEnviar
ENDIF
LOCAL lnContFiles
lnContFiles = 1
FOR lnCount = 1 TO ALEN(paFichEnviar,1)
*- Si existen los archivos
IF FILE(paFichEnviar(lnContFiles))
oform.Message1.AttachmentIndex = lnContFiles - 1
oform.Message1.AttachmentPathName = paFichEnviar(lnContFiles)
oform.Message1.AttachmentPosition = lnContFiles - 1
lnContFiles = lnContFiles + 1
ENDIF
ENDFOR
oform.Message1.send(plMostrarDialogo)
oform.Session1.signoff
release oform
------------ OOo -----------
En la variable "pcPara" debes poner el la dirección de correo del destinatario
En la variable "pcAsunto" debes poner el Asunto del mensaje (si lo deseas)
En la variable "pcCuerpo" debes poner el texto del mensaje (si lo deseas)
En la variable "paFichEnviar" debes poner el nombre del archivo escaneado
También puedes generar el reporte directamente a un archivo y luego enviarlo por email:
REPORT FORM mi_reporte TO FILE nombre_archivo NOCONSOLE
Un saludo
Fernando Alvarez
La Pampa - Argentina
Respuesta
1
Deberias Integrar CRYSTAL REPORT con VFP y el crystal ya trae esa opciòn, incluso maneja la opciòn de guardar en disco.
Respuesta
1
Una vez escaneado puedes mandarlo abriendo el outlook desde visual fox pro con la automatización y enviarlo con código esto sin que se vea el outlook busca información de automatización y te ayudara bastante yo en mis formularios ago un botón enviar y automáticamente envía todo lo que desea a un correo predeterminado
Bueno no puedo darte el código por ahora por que no lo tengo a la mano

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas