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:
Gatilho por função
Versão:
11.8
Plataforma:
Microsoft
Complemento:
DB:
SQL Server
Complemento:
LinkedIn
Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário FEJUCHEM FEJUCHEM em 30/08/2017, 08:42 h
Local: RS  Registro: 09/11/2013  Postagens: 5
Bom dia

Sou novo na área! Tenho conhecimento em outras linguagens de programação, porem ADVPL ainda estou tendo os primeiros vislumbres!

Quero fazer um gatilho, porém através de uma função (pois no futuro pretendo criar outras regras).

Ao informar o conteudo 000056 ou 00001 no campo A1_GRPVEN, gravar no campo A1_GRPVEN2 = 000028:

user function LETG001()

     Local cGrpven      := M->A1_GRPVEN
     Local cCampo     := ""
     
     If cGrpven = "000056" .OR. cGrpven = "000001"
          Gravar no campo A1_GRPVEN2 = 000028
     EndIf
     
return(.T.)

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário DARKDRAGON DARKDRAGON em 30/08/2017, 11:56 h
Local: SP  Registro: 12/01/2011  Postagens: 17
ACREDITO QUE ESSE CODIGO CABE NO GATILHO NORMAL.. MAS SE VC QUER REALMENTE FAZER ISSO.. EH ISSO AQUI

user function LETG001()

     Local cGrpven      := M->A1_GRPVEN
       
     If cGrpven = "000056" .OR. cGrpven = "000001"
          M->A1_GRPVEN2 := "000028"
     EndIf
      
return(.T.)

Mensagem do Enviar e-mail Abrir o Perfil do usuário WREBULI WREBULI em 30/08/2017, 12:14 h
Local: ES  Registro: 26/11/2014  Postagens: 26
operador de comparação do advpl/clipper é o "==", apenas um ‘=‘ é atribuição.

Rebuli

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário FEJUCHEM FEJUCHEM em 30/08/2017, 12:42 h
Local: RS  Registro: 09/11/2013  Postagens: 5
Obrigado pelos esclarecimentos pessoal

Abraço

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário FEJUCHEM FEJUCHEM em 30/08/2017, 13:33 h
Local: RS  Registro: 09/11/2013  Postagens: 5
Compilei o codigo abaixo, porem o campo A1_GRPVEN2 nada acontece:

user function LETG001()

     Local cGrpven      := M->A1_GRPVEN
     
     If cGrpven == "000056" .OR. cGrpven == "000001"
           M->A1_GRPVEN2 := "000028"
     EndIf
     
return(.T.)

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário VRTN VRTN em 30/08/2017, 13:55 h
Local: MG  Registro: 09/11/2009  Postagens: 191
A sua função precisa retornar um valor para o campo contra domínio.
Acho que assim seria o correto:

user function LETG001()

     Local cGrpven := M->A1_GRPVEN
     Local cRet := "
     
     If cGrpven == "000056" .OR. cGrpven == "000001"
           cRet := "000028"
     EndIf
     
return(cRet)


Everton Alves

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário FEJUCHEM FEJUCHEM em 30/08/2017, 14:02 h
Local: RS  Registro: 09/11/2013  Postagens: 5
Correto, funcionou!. Obrigado.

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