O que é mensagem vazia em validações MVC | Ti Responde 019

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.

Dan Atilio (Daniel Atilio)
Especialista em Engenharia de Software pela FIB. Entusiasta de soluções Open Source. E blogueiro nas horas vagas.

Deixe uma resposta