No Metadado do Protheus existe o recurso de se preencher campos baseados na ação de outro campo, e isso pode ser feito sem que se precise criar rotinas ou alterar as rotinas existentes. Existe 3 tipos de gatilho no Microsiga Protheus:

  1. Gatilho Primário

O gatilho primário é o tipo de gatilho mais utilizado, nele precisamos informar apenas o campo aonde o disparo ira ocorrer, o contra domínio(campo que recebe o valor) e a regra de preenchimento. Após ser validado o campo de disparo, ira automaticamente preencher o campo de contra domínio com a macro execução da regra.

Caso o X7_SEEK esteja com “S” irá efetuar o posicionamento da tabela, podemos ter no X7_REGRA um nome de um campo que queremos o valor da tabela posicionada.

     2. Gatilho Estrangeiro

O gatilho estrangeiro efetua o preenchimento de um campo na tabela indica pelo conjunto de campos (X7_ALIAS,X7_ORDEM,X7_CHAVE). Esse preenchimento se dá apenas na confirmação da tela, e efetuada diretamente na base de dados.

     3. Gatilho de Posicionamento

O gatilho de posicionamento é utilizado precisamos posicionar uma determinada tabela.

 

Campos

Tipo

Descrição

X7_CAMPO

Caracter

Campo que ira disparar o gatilho. O campo precisa existir no SX3 e possuir o X3_TRIGGER como “S”.

X7_SEQUENC

Caracter

Sequenciador para os gatilhos de um determinado campo.

X7_REGRA

Caracter

Regra de preenchimento que será  atribuída no campo de Destino(contra domínio), o conteúdo desse campo será macro executado e o resultado dele será atribuído ao X7_CDOMIN

X7_CDOMIN

Caracter

Campo de Destino(Contra domínio) da regra, teremos aqui o nome do campo que recebera o valor da regra(X7_REGRA).

X7_TIPO

Caracter

Tipo de Gatilho, valores aceitos para ele P = Primário ; E = Estrangeiro ; X = Posicionamento.

X7_SEEK

Caracter

Irá posicionar uma tabela, Valores aceitos são “S”  para sim ou “N” não.

X7_ALIAS

Caracter

Tabela que será posicionada.

X7_ORDEM

Numérico

Numero do indexe que será usado para a pesquisa,

X7_CHAVE

Caracter

Chave de pesquisa que será utilizado na tabela definida no X7_ALIAS para buscar o valor da chave. O conteúdo desse campo será macro executado e o resultado dele será utilizado como a chave de pesquisa.

X7_CONDIC

Caracter

Função que poderá determinar se o gatilho deverá ser executado ou não.

X7_PROPRI

Caracter

Prioridade do Parâmetro, quando com S - Sistema , quando U –Usuário

  • Sem rótulos