Alguem sabe me dizer se existe alguma função que interrompe o processo da rotina,
Exemplo: coloquei um PE em uma parte do sistema, vou fazer uma verificação pelo IF, se for verdadeiro ele passa, se não ele vai aparecer uma mensagem e interromper
Unica forma que encontrei foi usando a função FINAL()
Acredito que o simples sirva bem para você, exemplo:
#INCLUDE “TOTVS.CH” #INCLUDE “protheus.ch”
user function PONTO_DE_ENTRADA()
IF validacao == .F.
Alert( ‘Validação Falsa, rotina interrompida’ )
Return
Else
//Aqui continua a rotina caso a validacao == .T.
Return
Isso vai depender do PE que esta usando, normalmente usamos o PE XXXXTOK, que é o tudo OK, e espera um retorno .T. ou .F., permitindo ou não continuar com a Inclusão. alteração ou exclusão do registro.
Se for uma rotina em MVC tem outras particularidades.
Poste qual é a rotina e o PE que esta usando, assim podemos ajudar melhor.
O que estou querendo fazer não é o que o PE espera, então o return, não daria certo
Exemplo: esse PE é acionado quando aperto em um botão especifico, quero colocar um IF pra caso entrar no if ele só não fazer nada, com o uso da função FINAL ele fecha completamente a rotina
Fonte atual;
User Function MNTA280K()
if TQB->TQB_VALID$'A'
FWAlertErro("Não é permitido fechar SS sem validação","SS ainda não foi validada")
FINAL("SS ainda não foi validada")
endif
Return
O PE é ativado antes de acessar a rotina, dando o return ou retornando .F. ele acessa a rotina depois, preciso que ele não acesse a rotina, então minha duvida é se existe alguma função que somente pare tudo que o sistema esteja fazendo, sem derrubar a conexão da rotina
Exemplo: apertei em uma rotina, o sistema so mostra a mensagem, e antes de entrar no browser da rotina ele para por conta dessa função
Amigo, so usar um fif simples, se for processar fica no if, senao segue pro else e encerra, se uma o Final por exemplo vai derrubar a conexão do usuario.
Porém ela gera um error.log e pode parecer ao usuário final que se trata de um erro e não uma tratativa, além disso, ela vai gerar logs de erro no console etc.