Hoje na nossa série, iremos responder a dúvida, do que causa mensagem vazia em uma validação MVC em AdvPL.
Hoje, a dúvida foi feita pelo grande Alexandre, onde ele perguntou, que em um ponto de entrada de uma rotina MVC, ao colocar uma mensagem, é exibido uma mensagem vazia em seguida.
Isso acontece, pois em MVC, é necessário usar a função Help nas validações, ao invés das famosas MsgStop, MsgInfo, Alert, etc.
E abaixo o código fonte desenvolvido para exemplificar:
//Bibliotecas
#Include "Totvs.ch"
#Include "TopConn.ch"
/*/{Protheus.doc} A010TOK
Ponto de entrada, na validação do botão confirmar no cadastro de Produtos
@author Atilio
@since 08/03/2022
@version 1.0
@type function
/*/
User Function A010TOK()
Local aArea := FWGetArea()
Local aAreaSB1 := SB1->(FWGetArea())
Local lRet := .T.
Local cGrupo := M->B1_GRUPO
Local cTipo := M->B1_TIPO
//Se for produto Acabado
If cTipo == "PA"
//Se o Grupo for o 3, não permite continuar
If cGrupo == "0003"
lRet := .F.
//Se usar assim, será mostrado uma mensagem vazia pois a tela é em MVC
//MsgStop("O grupo [" + cGrupo + "] não pode ser usado para produtos do tipo [" + cTipo + "]!", "Atenção")
//O certo é usar a função Help
Help(, , "Help", , "Cadastro Inválido!", 1, 0, , , , , , {"O grupo [" + cGrupo + "] não pode ser usado para produtos do tipo [" + cTipo + "]!"})
EndIf
EndIf
FWRestArea(aAreaSB1)
FWRestArea(aArea)
Return lRet
Bom pessoal, por hoje é só.
Abraços e até a próxima.