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:
Validação de Campo
Versão:
12.1.33
Plataforma:
Microsoft
Complemento:
DB:
SQL Server
Complemento:
LinkedIn
Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário FR_LACERDA FR_LACERDA em 01/06/2023, 09:39 h
Local: AM  Registro: 05/04/2023  Postagens: 8
Bom dia, turma!

Estou querendo validar o campo CP_LOCAL na solicitação SA, quero que toda vez que tenha o local TI e o local 92(exemplo) ele de um alerta, só deixe passar se for só TI ou todas as linhas estiverem diferente de TI
Exemplo 1: Local Linha 1 TI, Local linha 2 92, trava
Exemplo 2: Local linha 1 TI, Local linha 2 TI, passa
Exemplo 3: Local linha 1 92, Local linha 2 92, passa

Cheguei a fazer o código abaixo, mas to tendo dificuldade,.

User Function MTA105OK
     Local aArea := getarea()
     Local cLocal := aCols[n,aScan(aHeader,{|x| Alltrim(x[2])="CP_LOCAL"})]
     Local lRet := .T.
     Local Nx1   

          For Nx1 :=1 To Len(Acols)
               IF cLocal == "TI"
                    msgAlert("Local: " + cLocal,"Aviso") //aparecerá uma mensagem para cada linha do Acols contendo o respectivo produto
                    lRet := .T.
               elseif cLocal != "TI"
                    msgAlert("Solicitação ao Armazem TI invalida","Aviso")
                    lRet := .F.
               ENDIF
          Next Nx1


     RestArea(aArea)
Return lRet


Mensagem do Enviar e-mail Abrir o Perfil do usuário ROBERTOMEN ROBERTOMEN em 07/06/2023, 10:03 h
Local: PR  Registro: 04/07/2017  Postagens: 442
Bom dia, Tente assim.


User Function MTA105OK
     Local aArea := getarea()
     Local cLocal := aScan(aHeader,{|x| Alltrim(x[2])="CP_LOCAL"})
     Local lRet := .T.
     Local Nx1   

          For Nx1 :=1 To Len(Acols)
               IF aCols[Nx1 ,cLocal] == "TI"
                    msgAlert("Local: " + cLocal,"Aviso") //aparecerá uma mensagem para cada linha do Acols contendo o respectivo produto
                    lRet := .T.
               elseif aCols[Nx1 ,cLocal] != "TI"
                    msgAlert("Solicitação ao Armazem TI invalida","Aviso")
                    lRet := .F.
               ENDIF
          Next Nx1


     RestArea(aArea)
Return lRet

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