Executando um Gatilho(SX7) de um Campo com RunTrigger em ADVPL

Tempo de leitura: 2 minutos

 A função RunTrigger em ADVPL executa um gatilho(SX7) de um campo(SX3) informado no parâmetro. Ela é uma das Funções de Manipulação de Gatilhos de Campos(SX7) em ADVPL.

Essa função é muito útil em situações que executamos rotinas customizadas no Protheus e que necessitam que os gatilhos envolvidos sejam executados, como exemplo temos a importação de uma planilha(.csv) onde podemos alimentar um array aCols(uma tela com grid) e nesse processo precisamos executar os gatilhos já que por ser um processo manual o Protheus não vai executá-los pela sua forma padrão.

A função RunTrigger deve ser usada com a função ExistTrigger, para que essa possa verificar à existência de um gatilho antes da RunTrigger ser executada.

 

Sintaxe:

RunTrigger(nTipo,nLin,cMacro,oObj,cCampo)

 

Parâmetro(s):

 

 

Exemplo da função RunTrigger em ADVPL:

/*{Protheus.doc} User Function fRunTrig
(Essa função tem por finalidade mostrar a função RunTrigger em ADVPL)
@?type  Function
@?author Adilio Costa
@?since 27/11/2022
@?version 1.0

@?Inscreva-se no Blog ProtheusAdvpl:
https://www.protheusadvpl.com.br
@?Inscreva-se no Canal ProtheusAdvpl:
https://www.youtube.com/protheusadvpl
@?Siga-nos no Instagram:
https://www.instagram.com/protheusadvpl
@?Conheça os Cursos e Formações do Protheus:
https://cursos-e-formacoes-protheusadvpl.gr-site.com/

@Participe de nossas comunidades no WhatsApp:
-Comunidade Protheus Backoffice:https://chat.whatsapp.com/KMUIAjwZ6EZ6eAHsLkPTyb
-Comunidade Protheus-RH:https://chat.whatsapp.com/L5dUyAna6xU4ylG5DUgfOW
-Comunidade Protheus-Programação:https://chat.whatsapp.com/LsD6z0apdqKHlOz67bcaEn
-Comunidade Protheus-Framework:https://chat.whatsapp.com/BzUFpjaSnTC3vtsfa77jmG

|Se esse conteúdo foi útil pra você nos ajude divulgando
ele e nossas redes sociais!!|

*/
User Function fRunTrig()

//Para nTipo=1(Enchoice(tela padrao de cadastro))
	If ExistTrigger('C5_CLIENTE')
		RunTrigger(1,Nil,Nil,,'C5_CLIENTE')
	Endif

  //Para nTipo=2(Getdados(aCols))
	If ExistTrigger('')
		RunTrigger(2,Nil,Nil,,'C6_PRODUTO')
	Endif

    //Para nTipo=3(F3)
	If ExistTrigger('A1_CGC')
		RunTrigger(3,Nil,Nil,,'A1_CGC')
	Endif

Return

 

Bem, finalizamos mais um post aqui no blog. Espero que tenha entendido, se tiver ficado alguma dúvida deixe seu comentário ou nos mandar um e-mail para adiliocosta@protheusadvpl.com.br. Grande abraço e fica com Deus.

 

Links de referência:

 

Receba as últimas atualizações do ProtheusAdvpl
Deixe seu melhor email
Nós respeitamos sua privacidade.