Hoje vou mostrar um disparo de e-Mail com texto para avisar alguns usuários via AdvPL.
Antes de mais nada, o ideal é baixar o fonte zEnvMail, disponível através desse link – https://terminaldeinformacao.com/2017/10/17/funcao-dispara-e-mail-varios-anexos-em-advpl/.
Após isso, no exemplo abaixo, nós criamos uma função chamada zMailForn, e iremos chamar ela dentro do ponto de entrada u_M020INC().
No código fonte, montamos um texto simples com informações do fornecedor criado, e enviamos um email para a revisão do cadastro, confira abaixo (lembre-se de alterar a variável cEmails).
//Bibliotecas
#Include "Protheus.ch"
/*/{Protheus.doc} zMailForn
Ponto de Entrada após a inclusão do Fornecedor, para disparo de e-Mail para contabilidade
@author Atilio
@since 21/05/2018
@version 1.0
@type function
@obs, colocar a chamada dentro do p.e. M020INC
/*/
User Function zMailForn()
Local aArea := GetArea()
Local aAreaA2 := SA2->(GetArea())
Local cEmails := "email@empresa.com"
Local cCorpo := ""
Local cCodUsr := RetCodUsr()
Local cNomUsr := UsrRetName(cCodUsr)
Local cTitulo := "Novo Fornecedor, Revisar Cadastro"
//Monta o corpo do e-Mail que será enviado
cCorpo := ''
cCorpo += ' <html>' + CRLF
cCorpo += ' <head>' + CRLF
cCorpo += ' <title>' + cTitulo + '</title>' + CRLF
cCorpo += ' </head>' + CRLF
cCorpo += ' <body>' + CRLF
cCorpo += ' <center><h1>' + cTitulo + '</h1></center>' + CRLF
cCorpo += ' Hoje, o usuário <b>' + Alltrim(cNomUsr) + '</b> incluiu um novo fornecedor no Sistema, abaixo os detalhes do Fornecedor:<br>' + CRLF
cCorpo += ' <br>' + CRLF
cCorpo += ' <b>Código do Fornecedor:</b> ' + SA2->A2_COD + '<br>' + CRLF
cCorpo += ' <b>Loja do Fornecedor:</b> ' + SA2->A2_LOJA + '<br>' + CRLF
cCorpo += ' <b>CNPJ:</b> ' + SA2->A2_CGC + '<br>' + CRLF
cCorpo += ' <b>Razao Social:</b> ' + SA2->A2_NOME + '<br>' + CRLF
cCorpo += ' <b>Nome Fantasia:</b> ' + SA2->A2_NREDUZ + '<br>' + CRLF
cCorpo += ' <b>Endereco:</b> ' + SA2->A2_END + '<br>' + CRLF
cCorpo += ' <b>Bairro:</b> ' + SA2->A2_BAIRRO + '<br>' + CRLF
cCorpo += ' <b>Estado:</b> ' + SA2->A2_EST + '<br>' + CRLF
cCorpo += ' <b>Codigo do Municipio:</b> ' + SA2->A2_COD_MUN + '<br>' + CRLF
cCorpo += ' <b>Municipio:</b> ' + SA2->A2_MUN + '<br>' + CRLF
cCorpo += ' <b>CEP:</b> ' + SA2->A2_CEP + '<br>' + CRLF
cCorpo += ' <b>Telefone:</b> ' + SA2->A2_TEL + '<br>' + CRLF
cCorpo += ' <b>Conta Contábil:</b> ' + SA2->A2_CONTA + '<br>' + CRLF
cCorpo += ' <br>' + CRLF
cCorpo += ' <br>' + CRLF
cCorpo += ' --<br>' + CRLF
cCorpo += ' <font size="1">e-Mail gerado automaticamente pelo Protheus - ' + dToC(Date()) + ' - ' + Time() + '</font><br>' + CRLF
cCorpo += ' </body>' + CRLF
cCorpo += ' </html>' + CRLF
//Chama o disparo do e-Mail
u_zEnvMail(cEmails, cTitulo, cCorpo, {}, .F.)
RestArea(aAreaA2)
RestArea(aArea)
Return
Bom pessoal, por hoje é só.
Abraços e até a próxima.
Olá Dan,
Primeiramente parabéns pelo artigo. Estava procurando exatamente isso. Fui solicitado criar um Worflow para, quando incluído novo fornecedor fosse disparado um e-mail par a Contabilidade. O intuíto será para conferir se a conta contabil foi cadastrada corretamente.
Só fiquei com a seguinte dúvida, o PE M020INC. Não encontrei este PE na lista do MATA120. Ele ainda está ativo?
Atte.
Carlos da Mata
Bom dia Carlos, tudo joia?
Eu que agradeço pela gentileza e feedback, é muita bondade sua.
Então, a MATA120 é do pedido de compras, no caso de fornecedor é a MATA020.
Sobre o ponto de entrada M020INC, segue a documentação dele no TDN: https://tdn.totvs.com/pages/releaseview.action?pageId=6087546
Você pode usar ou ele, ou usar o p.e. MATA020 em MVC, e depois interceptar no commit se é inclusão.
Tenha uma ótima e abençoada sexta feira.
Um forte abraço.
Dan,
Boa tarde.
Obrigado pelo retorno. Consegui implementar a rotina. Testado e funcionando.
Mais uma vez obrigado!
Atte.
Carlos da Mata
Bom dia Carlos, tudo joia?
Opa, nós que agradecemos pelo comentário e feedback.
Tenha um ótimo e abençoado fim de semana.
Um forte abraço.
Grande Dan, sempre salvando!
Hoje temos uma rotina de envio de e-mails sobre status do pedido de venda, porém atualizamos a assinatura do e-mail e foi adicionada imagens. Logo da empresa, do instagram e do linkedin.
Apontei a src das imagens para o server (\\blabla\bla\b.png) e para url(blablabla.com), porém ainda assim fico dependente da url estar ativa.
Tem como eu “inserir/chumbar” as imagens no corpo do email, tal qual a assinatura do Outlook?
Bom dia Alex, tudo joia?
Eu tentei fazer isso no passado, e estava dando muito trabalho ficar trabalhando com mensagens internamente no html para ser exibido no Outlook ou Thunderbird.
Então o que eu combinei com o cliente, é dele hospedar algumas imagens no site, exemplo empresa.com/imagens/aaa.png
E ai depois usávamos a tag img apontando para esse caminho.
Foi a solução mais rápida que encontramos na época.
Tenha uma ótima e abençoada quarta feira.
Um forte abraço.