PERGUNTAS E RESPOSTAS
 
Bem Vindo, Visitante  Todos os Fórums
  ADVPL
Enviar para a impressoraImprimir  Enviar e-mail para um amigoEnviar Para um Amigo
Precisa estar Logado

Subject Assunto:
Validar Campo customizado
Versão:
12.1.33
Plataforma:
Microsoft
Complemento:
DB:
SQL Server
Complemento:
LinkedIn
Mensagem do Enviar e-mail Abrir o Perfil do usuário BEHRSP BEHRSP em 22/05/2023, 18:28 h
Local: PR  Registro: 26/04/2023  Postagens: 33
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)

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário EMERSON.EN EMERSON.EN em 22/05/2023, 19:11 h
Local: SP  Registro: 20/08/2010  Postagens: 670
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.


Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário AFREIRE AFREIRE em 23/05/2023, 21:29 h
Local: SP  Registro: 06/07/2016  Postagens: 19
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.)



Mensagem do Enviar e-mail Abrir o Perfil do usuário BEHRSP BEHRSP em 24/05/2023, 09:47 h
Local: PR  Registro: 26/04/2023  Postagens: 33
Muito Obrigado.

Deu certo.


Para postar no Fórum você precisa efetuar o seu login ou se registrar

 Mudar para Fórum

 

 

 
 
   
Pagina Principal Shopping PROTHEUS Tire suas duvidas Vagas Microsiga em todo Brasil Aprofunde seus conhecimentos Noticias Online Fale Conosco Pagina Principal