Reading time: 1 minute
Olá, no post de hoje iremos falar de uma das funções de Funções de Gatilhos(SX7) em ADVPL, a função RunTrigger. Essa função tem por objetivo executar um gatilho(SX7) para o campo que informamos no parâmetro.
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 em ADVPL:
#INCLUDE "TOTVS.CH"
/*{Protheus.doc} User Function fRunTrig
(Essa função tem por finalidade mostrar a função RunTrigger em ADVPL/TL++ do TOTVS Protheus)
@type Function
@author Adilio Costa
@since 27/11/2022
@version Protheus 12.1.2210
@site https://www.protheusadvpl.com.br
@canal https://www.youtube.com/protheusadvpl
@instagram https://www.instagram.com/protheusadvpl
@Portal ProtheusAdvpl:https://hotmart.com/pt-br/marketplace/produtos/portal-protheusadvpl/O10336806O
@Post:RunTrigger
*/
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: