- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- CUST_ENV - Rotina customizada
×
Linguagem de Programação ADVPL
Perguntas CUST_ENV - Rotina customizada
- vcardoso
- Autor do Tópico
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 119
- Obrigados Recebidos: 0
11 anos 8 meses atrás #11822
por vcardoso
CUST_ENV - Rotina customizada foi criado 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( - "+ProcName()
If Alltrim(ProcName() <> "T_AE_FV001" .AND. Alltrim(ProcName() <> "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
É 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( - "+ProcName()
If Alltrim(ProcName() <> "T_AE_FV001" .AND. Alltrim(ProcName() <> "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.
- RonaldoLopes
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 478
- Obrigados Recebidos: 2
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.
- vcardoso
- Autor do Tópico
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 119
- Obrigados Recebidos: 0
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- CUST_ENV - Rotina customizada
Tempo para a criação da página:0.108 segundos