Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Assunto

Produto:

ADVPL

Versões:

Todas

Ocorrência:

Como criar um gatilho

Ambiente:

todos

Passo a passo:

Para criação do gatilho, no Configurador -> Base de dados -> Gatilhos ao definir o campo que ira disparar o gatilhos o outro campo irá receber a sua regra definida, para customização de regra com condições mais detalhadas é necessário na regra utilizar uma customização
Um exemplo comum de regra do gatilho é a função posicione

POSICIONE(SB1, 1, xFilial(SB1) + AB2->AB2_CODPRO, B1_DESC)

Para criação de campo no configurador será necessario abrir um novo chamado com a equipe do Framework.

Dominio : Mesmo campo utilizado no gatilho principal.
Contra-Dominio : Mesmo campo utilizado no gatilho prncipal.
Regra : If(A103Trigger(Campo ContraDominio),M->Campo Contra Dominio,CriaVar(Campo ContraDominio))
Ex.: If(A103Trigger("D1_TOTAL"),M->D1_TOTAL,CriaVar("D1_TOTAL"))

Exemplo de Utilizacao.:

Este e um exemplo para um gatilho de atualizacao do valor TOTAL apos a digitacao do preco unitario :

Gatilho criado pelo Usuario :
X7_CAMPO = D1_VUNIT
X7_CDOMIN = D1_TOTAL
X7_REGRA = NoRound(M->D1_VUNIT*M->D1_QUANT,2)
X7_SEQUENC = 001

Deve-se criar entao o seguinte gatilho :
X7_CAMPO = D1_VUNIT
X7_CDOMIN = D1_TOTAL
X7_REGRA = If(A103Trigger("D1_TOTAL"),M->D1_TOTAL,CriaVar("D1_TOTAL"))
X7_SEQUENC = 002

Observações:

Para auxilio:

http://tdn.totvs.com/display/public/mp/Mata+103+-+Gatilhos+Nfe+Entrada
http://tdn.totvs.com/display/framework/SX7+-+Gatilhos+de+Campos
http://tdn.totvs.com/pages/viewpage.action?pageId=25165872