× Linguagem de Programação ADVPL

Perguntas Erro na customização Workflow

Mais
10 anos 10 meses atrás #19955 por marcioibia
Estou com um problema na implementação do Workflow de geração de cotação.
Erro:

THREAD ERROR (dpti01) 09/01/2014 10:29:40

invalid class SENDMAIL on U_MT130WF(MT130WF.PRW) 09/01/2014 10:28:48 line : 229

Parte do Fonte que esta dando erro:

oMail := SendMail():new()
oMail:SetTo(_cEmlFor)
oMail:SetFrom(Alltrim(GetMv("MV_RELFROM",," ")))
// oMail:SetSubject('Aviso - '+cAviso)
oMail:SetSubject('Solicitação de Cotação de Preços - '+cNameEmp)
oMail:SetBody(xHTM)
oMail:SetEchoMsg(.f.)
if oMail:Send()
//ok (opc)
else
//erro (opc)
endif

oProcess:Track('1001',"Enviando o e-mail para o fornecedor: "+Trim(WAFORNEC->A2_NOME),SubStr(cUsuario,7,15))
WFSendMail()

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 10 meses atrás #19982 por Rone
Respondido por Rone no tópico Erro na customização Workflow
Marcio estou com problema nessa configuração também, porem meu erro é outro.
Alguém que saiba configurar esta rotina poderia fazer um vídeo ensinando a configurar. (SUGESTÃO)

Abç.

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 10 meses atrás #20032 por marcioibia
Respondido por marcioibia no tópico Erro na customização Workflow
Qual e o erro? você tem o fonte do Workflow. Porque o meu aqui da esse erro mais envia normal. precisava arrumar esse erro se alguém poder ajudar.

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 10 meses atrás #20168 por dexter
Respondido por dexter no tópico Erro na customização Workflow
Veja se isto ajuda vcs 2.


O método SendMail é obsoleto a partir de builds superiores a 7.00.101202A. Para envio de mensagens via SMTP, crie uuma instância de mensagem usando a classe tMailMessage, e utilize o método Send() da mensagem. Para mais informações, consulte a documentação da classe tMailMessage .



Exemplo Simples
User Function mail008()
  Local oMail := tMailManager():New()
  Local nRet := 0
  oMail:Init( "", EMAIL_SMTPSERVER, EMAIL_ACCOUNT, EMAIL_PASSWORD )
  nret := oMail:SetSMTPTimeout( 60 ) //1 min
  If nRet == 0
    conout( "SetSMTPTimeout Successful" )
  Else
    conout( nret )
    conout( oMail:GetErrorString( nret ) )
  Endif
  nret := oMail:SMTPConnect()
  If nRet == 0
    conout( "Connect Successful" )
  Else
    conout( nret )
    conout( oMail:GetErrorString( nret ) )
  Endif
  nRet := oMail:SendMail( "usuario1@provedor.com.br", ;
                          "usuario2@provedor.com.br", ;
                          "SUBJECT", ;
                          "BODY", ;
                          "", ;
                          "", ;
                          {}, ;
                          0 )
  If nRet == 0
    conout( "SendMail Successful" )
  Else
    conout( nret )
    conout( oMail:GetErrorString( nret ) )
  Endif
  nRet := oMail:SmtpDisconnect()
  If nRet == 0
    conout( "Disconnect Successful" )
  Else
    conout( nret )
    conout( oMail:GetErrorString( nret ) )
  Endif
return





Exemplo Complexo
#include "TOTVS.CH"
 
user Function EMail()
  Local oServer
  Local oMessage
  Local nNumMsg := 0
  Local nTam    := 0
  Local nI      := 0
   
  //Cria a conexão com o server STMP ( Envio de e-mail )
  oServer := tMailManager():New()
  oServer:Init( "", "smtp.microsiga.com.br", "ricardo.reis", "rica4758", 0, 25 )
   
  //seta um tempo de time out com servidor de 1min
  If oServer:SetSmtpTimeOut( 60 ) != 0
    Conout( "Falha ao setar o time out" )
    Return .F.
  EndIf
   
  //realiza a conexão SMTP
  If oServer:SmtpConnect() != 0
    Conout( "Falha ao conectar" )
    Return .F.
  EndIf
   
  //Apos a conexão, cria o objeto da mensagem
  oMessage := tMailMessage():New()
   
  //Limpa o objeto
  oMessage:Clear()
   
  //Popula com os dados de envio
  oMessage:cFrom              := "Microsiga "
  oMessage:cTo                := "microsiga@microsiga.com.br;microsiga@microsiga.com.br"
  oMessage:cCc                := "microsiga@microsiga.com.br"
  oMessage:cBcc               := "microsiga@microsiga.com.br"
  oMessage:cSubject              := "Teste de Email"
  oMessage:cBody              := "Conteudo do e-mail"
   
  //Adiciona um attach
  If oMessage:AttachFile( "arquivo.txt" ) < 0
    Conout( "Erro ao atachar o arquivo" )
    Return .F.
  Else
    //adiciona uma tag informando que é um attach e o nome do arq
    oMessage:AddAtthTag( 'Content-Disposition: attachment; filename=arquivo.txt')
  EndIf
   
  //Envia o e-mail
  If oMessage:Send( oServer ) != 0
    Conout( "Erro ao enviar o e-mail" )
    Return .F.
  EndIf
   
  //Desconecta do servidor
  If oServer:SmtpDisconnect() != 0
    Conout( "Erro ao disconectar do servidor SMTP" )
    Return .F.
  EndIf
   
  //Cria uma nova conexão, agora de POP
  oServer := tMailManager():New()
  oServer:Init( "pop3.microsiga.com.br", "", "SeunomeAntesDo@", "senhaDoEmail", 0, 110 )
  If oServer:SetPopTimeOut( 60 ) != 0
    Conout( "Falha ao setar o time out" )
    Return .F.
  EndIf
 
  If oServer:PopConnect() != 0
    Conout( "Falha ao conectar" )
    Return .F.
  EndIf
   
  //Recebe o número de mensagens do servidor
  oServer:GetNumMsgs( @nNumMsg )
  nTam := nNumMsg
  For nI := 1 To nTam
    //Limpa o objeto da mensagem
    oMessage:Clear()
     
    //Recebe a mensagem do servidor
    oMessage:Receive( oServer, nI )
     
    //Escreve no server os dados do e-mail recebido
    Conout( oMessage:cFrom )
    Conout( oMessage:cTo )
    Conout( oMessage:cCc )
    Conout( oMessage:cSubject )
    Conout( oMessage:cBody )
  Next
   
  //Deleta todas as mensagens do servidor
  For nI := 1 To nTam
    oServer:DeleteMsg( nI )
  Next
   
  //Desconecta do servidor POP
  oServer:POPDisconnect()
Return .T.




Mais informações
Informações 1

Informações 2

Por favor Acessar ou Registrar para participar da conversa.

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