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