Walter: La opción que te comento se puede implementar automáticamente. 

-          Generar un cursor con los datos necesarios para imprimir los
comprobantes

-          Generar el archivo pdf automáticamente a partir del cursor (con
pdf-creator)

-          Armás el envío de mail adjuntando el archivo pdf generado

 

Te paso lo que yo tengo armado.  Si no anda es porque me puedo haber
salteado algo cuando fui copiando y pegando porque en realidad lo tengo
armado en distintos procesos que se van llamando entre sí.

 

Espero te sirva.

 

 

CDbf= dbf()
&& Cursor con los datos a imprimir

m.ArchDest= alltrim (Ruta) + alltrim (Archivo) + '.pdf'                   &&
Nombre archivo pdf que se va a generar

 

do CnvRpPdf in Funcion with CDbf
&& genera archivo pdf automáticamente

 

m.To= ‘[email protected]’

m.CC= ‘[email protected]’

m.CCo= ‘[email protected]’

m.Subject = 'Asunto’

m.Body    = 'Cuerpo'

 

HayTo = not empty (To)

HayCC = not empty (CC)

HayCCO= not empty (CCO)

* Crea una sesión de Outlook

ObjOutlook= createobject ('Outlook.Application')

 

* Crea un mensaje

ObjOutlookMsg= ObjOutlook.CreateItem (0)

 

with ObjOutlookMsg

                if HayTo

                               * Agrega el Destinatario To al mensaje

                               objOutlookRecip = .Recipients.Add (alltrim
(To))

                               objOutlookRecip.Type = 1

                endif

                

                if HayCC

                               * Agrega el Destinatario CC al mensaje

                               objOutlookRecip = .Recipients.Add (alltrim
(CC))

                               objOutlookRecip.Type = 2

                endif

                

                if HayCCO

                               * Agrega el Destinatario CCO al mensaje

                               objOutlookRecip = .Recipients.Add (alltrim
(CCO))

                               objOutlookRecip.Type = 3

                endif

                

                * Define el Subject, Body y la Importancia del mensaje

                .Subject   = m.Subject

    .Body      = m.Body

    .Importance= 1                             && Importancia normal

                

                * Agrega los adjuntos al mensaje

                if HayArch

                                for I= 1 to alen (AArchivos, 1)

                                               objOutlookAttach =
.Attachments.Add (AArchivos (I))

                               endfor

                endif

                

                * Resuelve cada nombre del Recipiente

                for each objOutlookRecip in .Recipients

                               objOutlookRecip.Resolve

                endfor

                

                if VerMsg

                               .Display (.T.)                      &&
Visualiza y envía manual

                else

                               .Save
&& Visualiza y envía automático

                               .Send

                endif

endwith

objOutlook = .NULL.

 

 

 

 

procedure CnvRpPdf

parameters PConfig

 

if parameters() < 1

                return .F.

endif

 

if parameters() >= 1 and type ('PConfig') = 'C'

                if file (PConfig)

                               use &PConfig shared in 0 alias PConfig

                               select PConfig

                else

                               =messagebox ('No se encuentran los parámetros
para generar el archivo pdf', 16+0+256, 'Generar pdf')

                               return .F.

                endif

endif

 

PReporte= alltrim (PConfig.Reporte)

PDir    = alltrim (PConfig.RutaPlan)

PArchivo= alltrim (PConfig.Archivo)

PTabla  = alltrim (PConfig.Tabla)

use in PConfig

 

if file (PTabla) and not used ('PTabla')

                use &PTabla shared in 0 again alias PTabla

                select PTabla

else

                =messagebox ('No se encuentran los datos para generar el
archivo pdf', 16+0+256, 'Generar pdf')

                return .F.

endif

 

declare Sleep in WIN32API integer

 

local loPDFCreator

loPDFCreator = createobject ('PDFCreator.clsPDFCreator')

if error() = 1426

                return .F.

endif

 

with loPDFCreator

.cStart('/NoProcessingAtStartup')

.cVisible                 = .F.

.cPrinterStop             = .T.

.cOption('UpdateInterval')= 0  && nunca 

 

*!* Opciones de autoguardado

.cOption('UseAutosave')         = 1

.cOption('UseAutosaveDirectory')= 1

.cOption('AutosaveDirectory')   = '&PDir'

.cOption('AutosaveFilename')    = PArchivo

.cOption('AutosaveFormat')      = 0 && 0 para formato PDF

 

* Modificacion temporal de lo impresora por defecto :

DefaultPrinter  = .cDefaultprinter

.cDefaultprinter= 'PDFCreator'

.cClearcache

endwith

 

lcImpresoraPDF = 'PDFCreator'

set printer to name (lcImpresoraPDF)

report form (PReporte) to printer noconsole

loPDFCreator.cPrinterStop = .F. 

Sleep (2000)

 

loPDFCreator.cDefaultprinter = DefaultPrinter 

loPDFCreator.cClearcache 

loPDFCreator.cClose 

release loPDFCreator 

 

if used ('PTabla')

                use in PTabla

endif

 

return .T.

 

 

 

 

 

De: [email protected] [mailto:[email protected]] En nombre de Walter Comito
Enviado el: Jueves, 29 de Mayo de 2014 04:02 p.m.
Para: GUFA List Member
Asunto: [GUFA] ENVIO DE CUOTAS POR EMAIL.

 

No me sirve algo manual, tengo que emitir unas 2500 facturas por mes

 

Tendría que ser algo automatizado, como por ej. Genero un archivo pfd
automáticamente y con el mail le adjunto ese archivo.

Mas o menos algo asi es lo que necesito

 

 

 

 

 

Walter Cómito

 Analista de Sistemas

 MP 0397 C.P.C.I.P.C.

 

›  [email protected]

         [email protected]

 

'   +54 351 494.4667

           153.292.707

 

þ www.softram.com.ar <http://www.softram.com.ar/> 

 

Q  Si no es necesario, no imprima este correo.

Todos somos responsables por el cuidado del medio ambiente.

 

 

NOTA DE CONFIDENCIALIDAD 
Este mensaje (y sus anexos) es confidencial y puede contener información de
propiedad 
exclusiva de Walter Cómito (SRS Sistemas). Si usted ha recibido este mensaje
por error, 
por favor comuníquelo inmediatamente a  <mailto:[email protected]>
[email protected] y tenga la amabilidad 
de eliminarlo; no deberá copiar el mensaje ni divulgar su contenido a
ninguna persona.

Muchas Gracias.

 

De: [email protected] [mailto:[email protected]] En nombre de FabGUFA
Enviado el: jueves, 29 de mayo de 2014 01:46 p.m.
Para: GUFA List Member
Asunto: [GUFA] Web services

 

Walter: Una opción es generar el comprobante con el código de barra en un
pdf (con pdf-creator por ejemplo) y luego lo adjuntas al correo.

 

Pdf-Creator te permite generar un pdf vía código y te deja manipular el
nombre y ubicación del archivo generado.  Eso facilita ubicar el archivo
automáticamente al momento de crear el correo con el adjunto.

 

El pdf te asegura que puedan imprimir correctamente el código de barras y
que “no puedan” cambiar los datos.

 

Saludos

Fabricio

 

De: [email protected] [mailto:[email protected]] En nombre de Walter Comito
Enviado el: Jueves, 29 de Mayo de 2014 11:17 a.m.
Para: GUFA List Member
Asunto: [GUFA] Web services

 

Amigos como están

 

Tengo un sistema que genera cuotas mensuales de cobranza.

Necesitaría saber como hago para enviar a cada persona via email la cuota
que les corresponde pagar este mes.

No se si en el cuerpo del mail o como archivo adjunto.

Este comprobante tiene códigos de barra para pagar en pago fácil o banco de
cordoba.

 

Espero sus comentarios.

 

Gracias

 

 

 

 

 

 

 

Walter Cómito

 Analista de Sistemas

 MP 0397 C.P.C.I.P.C.

 

›  [email protected]

         [email protected]

 

'   +54 351 494.4667

           153.292.707

 

þ www.softram.com.ar <http://www.softram.com.ar/> 

 

Q  Si no es necesario, no imprima este correo.

Todos somos responsables por el cuidado del medio ambiente.

 

 

NOTA DE CONFIDENCIALIDAD 
Este mensaje (y sus anexos) es confidencial y puede contener información de
propiedad 
exclusiva de Walter Cómito (SRS Sistemas). Si usted ha recibido este mensaje
por error, 
por favor comuníquelo inmediatamente a  <mailto:[email protected]>
[email protected] y tenga la amabilidad 
de eliminarlo; no deberá copiar el mensaje ni divulgar su contenido a
ninguna persona.

Muchas Gracias.

 

De: [email protected] [mailto:[email protected]] En nombre de Adrian
Enviado el: jueves, 29 de mayo de 2014 10:31 a.m.
Para: GUFA List Member
Asunto: [GUFA] Web services

 

Hola!

 

He tenido un par de expieriencias consumiendo web services usando lo
siguiente:

 

loSoapClient=CREATEOBJECT("MSSOAP.SoapClient30")

loSoapClientUrl=[http://validadorrecetario.cofa.org.ar/WSValidacionSimple.ph
p?wsdl]

 

IF VARTYPE(loSoapClient)=='O'
    loSoapClient.MSSoapInit(loSoapClientUrl)

    xst=FILETOSTR('c:\valida\preserfa\ida\'+arch)

    leResult = loSoapClient.procesarXML('1', 'High-Soft', 'Sistemas', '1',
xst)

...

 

Y otros como este sin problermas.

 

Pero con este, que no tiene el wsdl, no logro hacer nada
<http://ospilsoap.ddaval.com.ar/index.php>
http://ospilsoap.ddaval.com.ar/index.php

 

La gente que lo creo, me dice que es muy simple pero no aclara demasiado.

 

Se les ocurre alguna idea?

 

Gracias!!!

 

Adrian.

Responder a