× Linguagem de Programação ADVPL

Perguntas CUST_ENV - Rotina customizada

Mais
11 anos 8 meses atrás #11822 por vcardoso
Galera! Estou tentanto entender esta rotina.
É o seguinte, essa rotina é responsavel por enviar um email para o aprovador, se este aprovador aprovar a solicitacao, logo é enviado um email para um segundo aprovador para aprovar tambem. O problema eh que está enviando 2x para o mesmo aprovador. É uma solicitacao de viagem, quando solicitada é enviado um email para o Aprovador_1, vamos chamá-lo assim, se o Aprovador_1 aprovar a solicitacao, é enviado um email para o Aprovador_2 aprovar, mas ao inves de receberem só 1 email de aprovacao, ele está recebendo dois.
Estou tentando ver, mas sem sucesso, se alguem puder ajudar. Agradeco muito!


#Include "Topconn.ch"

#Include "Protheus.ch"

User Function CUST_ENV()

Local _xOpcao := PARAMIXB[1]
Local _xoP := PARAMIXB[2]
Local _xTo:= _xoP:cTo
Local _xOper := _xoP:oHtml:RetByName("LHP_OPCAO")

conout("CUST_ENV - ProcName(8) - "+ProcName(8))
If Alltrim(ProcName(8)) <> "T_AE_FV001" .AND. Alltrim(ProcName(8)) <> "SAFEEVAL"
/*
_xOpcao := PARAMIXB[1]
oProcess := PARAMIXB[2]
_cTo:= oProcess:cTo
If _xOpcao == 1
oProcess:cTo := nil
oProcess:NewVersion(.T.)
oHtml := oProcess:oHTML
oProcess:nEncodeMime := 0
_aReturn := {}
AADD(_aReturn, oProcess:fProcessId)
cMailID := oProcess:Start() //Faz a gravacao do e-mail no cPath
chtmlfile := cmailid + ".htm"
cmailto := "mailto:" + AllTrim( GetMV('MV_WFMAIL') )

chtmltexto := wfloadfile("\workflow\emp"+cempant+"\temp\" + chtmlfile )
// chtmltexto := wfloadfile("\workflow\temp\" + chtmlfile )
chtmltexto := strtran( chtmltexto, cmailto, "WFHTTPRET.APL" )
//Rosilene Pontes-04/02/11 wfsavefile("\workflow\cdv\" + chtmlfile, chtmltexto)
wfsavefile("\workflow\emp"+cempant+"\temp\" + chtmlfile, chtmltexto) //Rosilene Pontes-04/02/11

csubj := "TOTVS - Aprovação Solicitacao Viagem"
oProcess:newtask("Link", "\workflow\modelo\AprovLink.htm") //Cria um novo processo de workflow que informara o Link ao usuario

oHtml:ValByName( "descproc" ,"TOTVS - A solicitação de viagem abaixo aguarda sua aprovação:")
*'
'*
*'Rosilene Pontes-04/02/11
*'
'*
//oProcess:oHtml:ValByName("cNomeProcesso", Alltrim(GetMv("MV_WFDHTTP"))+"/workflow/cdv/"+chtmlfile ) // envia o link onde esta o arquivo html
oProcess:oHtml:ValByName("cNomeProcesso", Alltrim(GetMv("MV_WFDHTTP"))+"/workflow/emp"+cempant+"/temp/"+chtmlfile ) // envia o link onde esta o arquivo html

oProcess:cTo := _cTo
oProcess:cSubject := cSubj

oProcess:Start()
//Rosilene Pontes-04/02/11 fErase("\workflow\"+cempant+"\temp\" + chtmlfile)

Endif
*/

conout("CUST_ENV - _xOpcao - "+str(_xOpcao))
conout("CUST_ENV - _xTo - "+_xTo)
CONOUT("CUST_ENV - MV_EAUTOM2 - "+IIf(GetMv("MV_EAUTOM2"), "VERDADEIRO", "FALSO") )

If _xOpcao == 1 .or. _xOpcao == 3

_xoP:cTo := "SV"
_xoP:NewVersion(.T.)
oHtml := _xoP:oHTML
_xoP:nEncodeMime := 0
_aReturn := {}
AADD(_aReturn, _xoP:fProcessId)
cMailID := _xoP:Start() //Faz a gravacao do e-mail no cPath

csubj := "TOTVS - Aprovação Solicitacao Viagem"
_xoP:newtask("Link", "\workflow\modelo\AprovLink.htm") //Cria um novo processo de workflow que informara o Link ao usuario

oHtml:ValByName( "descproc" ,"TOTVS - A solicitação de viagem abaixo aguarda sua aprovação:")
*'
'*
*'Rosilene Pontes-04/02/11
*'
'*
_xoP:oHtml:ValByName("cNomeProcesso", Alltrim(GetMv("MV_XWFHTTP"))+"/wf/messenger/emp"+cempant+"/SV/"+cMailID+".htm" ) // envia o link onde esta o arquivo html


_xoP:cTo := _xTo
_xoP:cSubject := cSubj

_xoP:Start()

ElseIf _xOpcao == 2

CONOUT("CUST_ENV - _xOper - "+_xOper)
CONOUT("CUST_ENV - _cAprovacao - "+_cAprovacao)

//Envio automatico de e-mail para o segundo aprovador
If _xOper == "SC" .And. _cAprovacao == "S"
If GetMv("MV_EAUTOM2")
RecLock('LHP', .F.)
LHP->LHP_Flag := 'M'
LHP->LHP_FLAG1 := 'I'
MsUnLock('LHP')
_nRecno := LHP->(RECNO())
CONOUT("CUST_ENV - Enviando e-mail para o segundo aprovador...")
T_AEWF001(1,_nRecno,.F.,"SCV",NIL)
EndIf
EndIf
EndIf
Endif

Return

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 8 meses atrás #11837 por RonaldoLopes
Respondido por RonaldoLopes no tópico CUST_ENV - Rotina customizada
Compacta o fonte e coloca ai.

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 8 meses atrás #11839 por vcardoso
Respondido por vcardoso no tópico CUST_ENV - Rotina customizada
Segue.
Anexos:

Por favor Acessar ou Registrar para participar da conversa.

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