×
Linguagem de Programação ADVPL
Perguntas PDF por EMAIL
- ra.rocha
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 3
- Obrigados Recebidos: 0
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.
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.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
11 anos 1 mês atrás #17861
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
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)
// 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