#include "rwmake.ch" #include "protheus.ch" #include "tbiconn.ch" #include "topconn.ch" #include "apwebsrv.ch" #include "apwebex.ch" #include "ap5mail.ch" User Function FOLLOWUP() // Somente na tela alteração vai permitir a inclusão do Follow-Up. Local cCadastro := "Follow-up Solicitação de Compras" Local aAreaSC1 := SC1->( GetArea() ) Local _cQuery := "" LOCAL _lRet := Iif(INCLUI,.F.,.T.) // se for rotina de inclusao do produto executa este ponto de entrada Local aButtons Local oDlg, oHist, oNewHist, oEnch // Default cTab Public _lOk := .F. Public _cHist := "" Public _cXHist := "" Public _cNewHist := "" IF _lRet //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ //³ Definicao da Tela para selecao dos campos da Integracao ³ //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ DEFINE MSDIALOG oDlg TITLE cCadastro FROM C(000), C(000) TO C(520), C(1020) PIXEL OF oMainWnd RegToMemory( "SC1", .F., .T. ) oEnch := MsMGet():New("SC1",SC1->(Recno()),2,,,,,{ C(11),C(01),C(130),C(500) },,3,,,,oDlg) _cHist:= SC1->C1_XFOLLOW @ 180,025 GET oNewHist VAR _cNewHist OF oDlg MEMO SIZE 210,120 PIXEL @ 180,270 GET oHist VAR _cHist OF oDlg MEMO READONLY SIZE 210,120 PIXEL ACTIVATE MSDIALOG oDlg ON INIT EnchoiceBar(oDlg,{|| _lOk := .T., oDlg:End() }, {||oDlg:End(),,aButtons}) CENTERED IF Empty(_cNewHist) _lOk := .F. EndIF IF _lOk _cXHist := CHR(13)+CHR(10) + Repli( "-", 120 ) + CHR(13)+CHR(10) _cXHist += Dtoc( dDataBase ) + " - " + Time() +' - ' + AllTrim( Upper( SubStr( cUsuario,7,15 ) ) ) + CHR(13)+CHR(10) + Repli( "-", 120 ) + CHR(13)+CHR(10) _cXHist += AllTrim(_cNewHist) + CHR(13)+CHR(10) + Repli( "=", 077 ) + CHR(13)+CHR(10) + ALLTRIM(_cHist) _cQuery := " UPDATE " + RetSqlName( "SC1" ) + " SET C1_XFOLLOW = ' " + Alltrim(_cXHist) _cQuery += "' WHERE R_E_C_N_O_ = " + Alltrim( Str( SC1->( Recno() ) ) ) IF (TCSQLExec(_cQuery) < 0) MsgStop("TCSQLError() " + TCSQLError()) EndIF ExecBlock("followmail",.f.,.f.) EndIF EndIF RestArea( aAreaSC1 ) Return() User function followmail(_cXHist) // Private cEmail := 'noreply@etcterra.com.br' Private cPara := UsrRetMail(SC1->C1_USER)+ ";" + UsrRetMail(RetCodUsr()) Private cCorpo := _cXHist Private lAutentic := .T.//getMV('MV_RELAUTH') //utilize em caso de necessidade de autenticação Private cQL := CHR(13) + CHR(10) Private cRemoteComputer := GetComputerName() Private lConectou := .F. Private cError := '' Private dDta := Date() Private hHra := Time() // Default _cXHist*/ cAssunto := "Follow-up na Solicitação de compras " + SC1->C1_NUM + "." cHtm := "" cHtm += "Nova mensagem na solicitação de Compras nº " + AllTrim(SC1->C1_NUM)+ " da filial "+ xfilial("SC1") + '.' + chr(13) + chr(10)+ chr(13) + chr(10)+; chr(13) + chr(10)+ chr(13) + chr(10)+ chr(13) + chr(10)+ chr(13) + chr(10)+ chr(13) + chr(10)+ chr(13) + chr(10)+ chr(13) + chr(10)+ chr(13) + chr(10)+; cHtm += "Esta mensagem é gerada automáticamente. Favor não responder a este e-mail."+chr(13)+ chr(10)+ chr(13) + chr(10) cHtm += " " cHtm += "" cHtm += "" CONNECT SMTP SERVER GetMv("MV_RELSERV") ACCOUNT GetMv("MV_RELACNT") PASSWORD GetMv("MV_RELPSW") RESULT lResul If GetMv("MV_RELAUTH") //Retorna se conseguiu fazer autenticação lOk := MailAuth(GetMv("MV_RELACNT"),GetMv("MV_RELPSW")) If !lOk GET MAIL ERROR cError MsgInfo(cError) EndIf EndIf //Envio de email SEND MAIL FROM GetMv("MV_RELACNT") TO cPara SUBJECT cAssunto BODY cHtm RESULT lSend If !lSend GET MAIL ERROR cError MsgInfo(cError) Else MsgInfo("E-mail enviado com sucesso!") EndIf //Desconecta do servidor DISCONNECT SMTP SERVER RESULT lDisConectou /* If lConectou */ /* cCorpo += "===========================================================" cCorpo += cQL + " Enviado por: " + cUsername cCorpo += cQL + " Computador: " + cRemoteComputer cCorpo += cQL + " Data: " + dDataBase cCorpo += cQL + " Hora: " + Time() cCorpo += cQL + " Foi adicionado um novo Follow-up na Solicitação: "+SC1->C1_NUM+" ." cCorpo += cQL + "==========================================================="*//* SEND MAIL FROM cMailDe TO cMailPara SUBJECT cAssunto BODY cCorpo FORMAT TEXT RESULT lEnviado if !lEnviado alert("ALERTA: Não foi possivel enviar a mensagem") //, pois ocorreu o seguinte erro: " + sMensagem + ".") else alert("E-mail transmitido com sucesso para " + cMailPara +"!") endif else alert("Não foi possivel executar sua solicitação, pois não houve resposta do servidor de e-mail."+cQL+cQL+"Informe ao Administrador do Sistema!") return .f. Endif DISCONNECT SMTP SERVER Result lDisConectou*/ Return