× Linguagem de Programação ADVPL

Perguntas PDF por EMAIL

Mais
11 anos 1 mês atrás #17849 por ra.rocha
PDF por EMAIL foi criado por ra.rocha
Bom dia,

Estou Precisando enviar gerar algumas informaçoes do cadastro de clientes e enviar as mesmas em PDF por email.

Alguem teria um exemplo para fornecer ????


Obrigado.

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 1 mês atrás #17861 por lalberto
Respondido por lalberto no tópico PDF por EMAIL
Roberval boa tarde e seja bem vindo ao masteradvpl, então neste caso vc vai precisar programar este relatório, segue exemplos para geração em pdf e também um exemplo de enviar anexos por email, espero ter ajudado.

// Geracao de Relatorio em PDF

#Include "PROTHEUS.CH"
#Include "RPTDEF.CH"
#INCLUDE "TBICONN.CH"

User Function exe33()

Local oPrinter

oPrinter := FWMSPrinter():New('nomearquivo',6,.F.,,.T.,,,,,.F.)

//oPrinter:Setup() monta tela para salvar pdf

oPrinter:cPathPDF :="C:\TEMP\" // caminho onde vai ser salvo o pdf

oPrinter:Say(10,0,"Teste para teste") // conteudo

oPrinter:EndPage() // fim do arquivo
oPrinter:Preview() // depois de salvar abre o arquivo na tela

Return

// Envio de email com anexo

Static Function EnvMail(cAccount ,cPassword ,cServer ,cFrom,;
cEmail ,cAssunto ,cMensagem ,aAttach)

Local cEmailTo := "" // E-mail de destino
Local cEmailBcc:= "" // E-mail de copia
Local lResult := .F. // Se a conexao com o SMPT esta ok
Local cError := "" // String de erro
Local lRelauth := SuperGetMv("MV_RELAUTH") // Parametro que indica se existe autenticacao no e-mail
Local lRet := .F. // Se tem autorizacao para o envio de e-mail
Local cConta := GetMV("MV_RELACNT") //ALLTRIM(cAccount) // Conta de acesso
Local cSenhaTK := GetMV("MV_RELPSW") //ALLTRIM(cPassword) // Senha de acesso

//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Envia o mail para a lista selecionada. Envia como BCC para que a pessoa pense³
//³que somente ela recebeu aquele email, tornando o email mais personalizado. ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

cEmailTo := cEmail
If At(";",cEmail) > 0 // existe um segundo e-mail.
cEmailBcc:= SubStr(cEmail,At(";",cEmail)+1,Len(cEmail))
Endif

CONNECT SMTP SERVER cServer ACCOUNT cConta PASSWORD cSenhaTK RESULT lResult

// Se a conexao com o SMPT esta ok
If lResult

// Se existe autenticacao para envio valida pela funcao MAILAUTH
If lRelauth
lRet := Mailauth(cConta,cSenhaTK)
Else
lRet := .T.
Endif

cAnexos:=''
For nI:=1 to Len(aAttach)
cAnexos+=aAttach[nI]+";"
Next
cAnexos:=Left(cAnexos,Len(cAnexos)-1)

If lRet
SEND MAIL FROM cFrom ;
TO cEmailTo;
SUBJECT cAssunto;
BODY cMensagem;
ATTACHMENT cAnexos ;
RESULT lResult
//danfe_000055024_000055024.pdf
If !lResult
//Erro no envio do email
GET MAIL ERROR cError
Help(" ",1,'Erro no Envio do Email',,cError+ " " + cEmailTo,4,5) //Atenção
Endif

Else
GET MAIL ERROR cError
Help(" ",1,'Autenticação',,cError,4,5) //"Autenticacao"
MsgStop('Erro de Autenticação','Verifique a conta e a senha para envio') //"Erro de autenticação","Verifique a conta e a senha para envio"
Endif

DISCONNECT SMTP SERVER

For nI:=1 To Len(aAttach)
// FErase(aAttach[nI])
Next
Else
//Erro na conexao com o SMTP Server
GET MAIL ERROR cError
Help(" ",1,'Erro no Envio do Email',,cError,4,5) //Atencao
Endif

Return(lResult)

Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.089 segundos
Joomla templates by a4joomla