Imprimi Página | Fechar janela

Validar Campo customizado

Impresso de: Helpfacil - Portal do conhecimento
Nome do Forum: ADVPL
Descrição do Forum: Dúvidas sobre a programação em ADVPL
URL:http://www.helpfacil.com.br/display_topic_threads.asp?ForumID=1&TopicID=44262
Data da Impressão: sexta-feira, 19 de abril de 2024 at 09:58


Topico: Validar Campo customizado

Postado por: BEHRSP
Assunto: Validar Campo customizado
Data Postagem: segunda-feira, 22 de maio de 2023 at 18:28

Boa noite.

Tenho uma atividade, preciso validar um campo customizado.

Criamos um campo na tabela SC5 chamado C5_XOPORT ( DE OPORTUNIDADE )

porém, preciso validar se ele está vazio.
Sim parece simples, mas não estou acertando a forma de validar.

Poderiam me dar algum exemplo? por gentileza?

Estou utilizando ponto de entrada MT410TOK()

Segue a forma que estou tentando.

Obrigado.

static function VALOPORT()

     Local aArea     := GetArea()
     Local lRet          := .T.
     Local cOportn      := M->C5_XOPORT

     dbSelectArea("SC5")

          if dbSeek(xFilial(‘SC5‘) + M->C5_XOPORT)

               if Empty(cOportn)

                    lRet := .F.
                    MsgStop("Campo Oportunidade Vazio")

               else

                    lRet := .T.
               
               endif
          
          endif

     dbCloseArea()

     RestArea(aArea)

return(lRet)


Respostas:

Postado Por: EMERSON.EN
Data Postagem: segunda-feira, 22 de maio de 2023 at 19:11

Neste ponto de entrada o registro está em edição.
Basta avaliar a variável referente ao campo:

static function VALOPORT()
    lRet := !empty(M->C5_XOPORT)
    if !lRet
        MsgStop("Campo Oportunidade Vazio")
    endif
return lRet

mas não precisa desta função. como o código é muito simples, você pode fazer diretamente dentro do ponto de entrada.





Postado Por: AFREIRE
Data Postagem: terça-feira, 23 de maio de 2023 at 21:29

Se o campo estiver como USADO no dicionário de dados, é só deixar ele como OBRIGATÓRIO que o Protheus faz todo o resto.

Caso contrário, na MT410TOK vc faz isso:

User Function MT410TOK()

If Empty( M->C5_XOPORT )
   apMsgAlert( "sua mensagem", "Atenção" )
   Return( .f. )
EndIf

Return(.t.)






Postado Por: BEHRSP
Data Postagem: quarta-feira, 24 de maio de 2023 at 09:47

Muito Obrigado.

Deu certo.






Imprimir Página | Fechar Janela