Olá pessoal

Algumas vezes precisamos executar o gatilho de um determinado campo, já aprendemos a verificar se um gatilho existe aqui, vamos agora aprender a executar o gatilho

Para isso existe a função RunTrigger, ela é responsável por executar os gatilhos de um determinado campo. A documentação oficial pode ser encontrada aqui.

Sintaxe

RunTrigger( <nTipo>, <nLin>, <cMacro>, <oObj>, <cField> )

 

Parâmetros

Par Nome Tipo Descrição Default Obg Ref
01 nTipo Numérico Qual tipo de objeto será executado a trigger(1-Enchoice 2-GetDados 3-F3 ). X
02 nLin Numérico Quando nTipo = 2, informar a linha posicionada na Getdados
03 cMacro Caracter Não utilizado
04 oObj Objeto Objeto utilizado na tela, para utilizar a propriedade aGets e aTela quando for nTipo = 1.
05 cField Caracter Nome do campo que dispara a trigger. Se não informado, considera o campo atualmente posicionado no SX3. X

 

Exemplo

#INCLUDE "TOTVS.CH"
#INCLUDE "RWMAKE.CH"
#INCLUDE "TOPCONN.CH"

#Define ENTER Chr(13)+Chr(10)

/*/{Protheus.doc} SPEXCTG
Função SPEXCTG, para exemplificar o uso da Função RunTrigger().
@param Não recebe 
@return Não retorna nada
@author Rafael Goncalves
@owner sempreju.com.br
@version Protheus 12
@since Dez|2020
/*/
User Function SPEXCTG()
Local cCampo := 'A1_CGC'

//Para Enchoice
 If ExistTrigger(cCampo) // verifica se existe trigger para este campo
	RunTrigger(1,Nil,Nil,,cCampo)
Endif

//Para aCols
If ExistTrigger(cCampo) // verifica se existe trigger para este campo
    RunTrigger(2,n,nil,,cCampo)
Endif

Return( Nil )


 

O código fonte desse e outros exemplos podem ser encontrados em nosso git.

Post interessantes:

Como verificar se campo possui gatilho aqui

Aprenda a instalar o Protheus no Windows aqui.

Aprenda a instalar o Protheus no Linux aqui.

Retornar datas por extenso aqui.

Barras de progresso aqui.

Dúvidas e sugestões, entre em contato.

Obrigado e até a próxima!


0 comentário

Deixe um comentário