Tempo aproximado para leitura: 00:07 min
Dúvida
Como utilizar a rotina automática (ExecAuto) FINA630 para realizar a rejeição de transferências no módulo Financeiro?
Ambiente
Cross Segmento - TOTVS Backoffice (Linha Protheus) - SIGAFIN - Todas as releases
Solução:
Para garantir que as opções de aprovação e rejeição funcionem corretamente, deve-se posicionar no título desejado através do número da solicitação (SE6_NUMSOL) na filial destino.
A rotina FINA630 possui dois parâmetros a serem informados. Para o funcionamento em ExecAuto, o primeiro parâmetro necessita ser preenchido como um array, pois as informações utilizadas neste array são essenciais para a conclusão do processo.
Parâmetros utilizados pela FINA630:
-
nOpc: Opção que está sendo realizada no fonte:
2 - Visualizar
3 - Aprovar
4 - Rejeitar
5 - Exclusão
6 - Estornar
Passos
Realize o posicionamento do registro na tabela SE6 utilizando a chave com a filial e o número da solicitação.
Monte o array contendo o campo
E6_NUMSOLe o respectivo código da solicitação.Chame a função
MSExecAutopassando a rotinaFina630, o array de solicitação e a opção4correspondente à rejeição, ou a opção desejada.
Segue abaixo o exemplo de código modelo em ADVPL:
User Function EXEC630()
Local aSolict := {}
Local cChave := ""
lMsErroAuto := .F.
RPCSETENV("99", "02", "admin", "2", "FIN", "FINA620")
cChave := xFilial("SE6")+"000005"
DbSelectArea("SE6")
DbSetOrder(3)
DbGoTop()
If SE6->(DbSeek(cChave,.T.))
aSolict := {{"E6_NUMSOL" ,"000005" ,Nil}}
MSExecAuto({|x,y| Fina630(x,y)},aSolict,4)
Else
MsgAlert("Registro não encontrado")
Return
EndIf
If lMsErroAuto
MostraErro()
Else
MsgAlert("OK")
Endif
RPCCLEARENV()
Return
Saiba Mais:
0 Comentários