Incluir gatilho para preencher a DKD

Bom dia pessoal,

Estou precisando criar um gatilho na entrada de documento que preencha a DKD com alugns campos da SC7.

No link da Totvs eles indicam utilizar funão A103DKDGAT, porém não está dando certo.

Alguém já precisou fazer esse gatilho na DKD no momento da entrada da nf ?

Link.: https://tdn.totvs.com/pages/releaseview.action?pageId=699820173

1 curtida

#include “protheus.ch”

User Function AtualizaDKD()
Local cAlias := “DKD” // Nome da tabela
Local cFilial := “0101” // Código da filial
Local cChave := “12345” // Chave primária do registro a ser atualizado

// Acessa a tabela
DbSelectArea(cAlias)
DbSetOrder(1) // Ajuste conforme o índice correto da tabela

// Localiza o registro a ser atualizado
If DbSeek(xFilial("DKD") + cChave)
    If RecLock(cAlias, .F.) // Bloqueia o registro para edição
        DKD_VALOR := DKD_VALOR + 100 // Exemplo: Atualiza um campo numérico
        MsUnlock() // Libera o registro após a alteração
        MsgInfo("Registro atualizado com sucesso!", "Sucesso")
    Else
        MsgStop("Erro ao bloquear o registro!", "Erro")
    EndIf
Else
    MsgStop("Registro não encontrado!", "Aviso")
EndIf

Return

Cara coloca como vc está montando o gatilho para gente analisar.
De toda forma olhando aqui a função A103DKDGAT() observei que ela só funciona com posicionamento, ou seja, ela só busca dados em outras tabelas. Se você estiver tentando preencher a DKD com dados da própria SD1 não vai funcionar.