Validação de usuário exibe mensagem padrão

Bom dia

Criei uma validação de usuario no campo HB_CNPJ, onde se o valor digitado já existir, retorna a mensagem de "Cnpj já informado", porém após retornar essa mensagem, o protheus exibe também um help de campo inválido.

Olá, onde foi que você fez essa validação? Foi ponto de entrada, gatinho ...

Eu chamei a função no campo X3_VLDUSER = U_VALCNPJSHB(). Ao sair desse campo na rotina, a função é chamada.

enter code here


User Function VALCNPJSHB()

    Local cAliAtu := Alias() 
    Local aAreaSHB  := SHB->( GetArea() )
    Local lRet := .T.
    Local cCnpj :=    M->HB_CNPJ 

    IF !Empty (cCnpj)

        DbSelectArea("SHB")
        DbSetOrder(3) // HB_FILIAL + HB_CNPJ

        If SHB->( DbSeek( xFilial("SHB") + cCnpj) ).or. SHB->( DbSeek( xFilial("SHB") + "0"+ cCnpj) )    
            lRet := .F.
            MsgInfo("Cnpj já Cadastrado!" , "Atenção!")    
        EndIf

    Endif    

    RestArea( aAreaSHB )        

    If !Empty( cAliAtu )
        DbSelectArea( cAliAtu )
    EndIf

Return ( lRet )

Olá, acredito que o preenchimento dessa campo possa ser obrigatório, como você retorna nada ele pode está gerando o erro.

Na verdade ele exibe a mensagem, porém após, exibe uma outra de campo inválido.
Eu fiz um teste exibindo a mensagem e retornando .T., e nesse cenário exibiu apenas a minha mensagem. O problema está quando retorna .F.

Consegui resolver, substituí o MsgInfo por um Help.