Alterar TES de todos os itens

Estou com uma demanda para criar um gatilho na inclusão do documento de entrada , no momento que for inserido o tipo de entrada do primeiro produto , para que ele pergunte ao usuario se deve utilizar esse mesmo tipo em todos os itens.

Porém o campo D1_TES tem alguns gatilhos proprios , qual seria a melhor forma de executar todos os gatilhos ja configurados via o seguinte fonte:


user function zClonaTES()
    local aArea := GetArea()

    local nX
    local nPosTes
    local nTes

    if M->D1_ITEM == "0001" .and. MsgYesNo("Deseja clonar a TES?" , "Clonar TES " + M->D1_TES)
        nTes := M->D1_TES
        nPosTES := AScan(aHeader, {|x| AllTrim(x[2]) == "D1_TES"})
        for nX := 1 to Len(aCols)
            aCols[nX][nPosTES] := nTes
        next nX
    endif

    RestArea(aArea)

return SD1->D1_TES

Thiago você pode utilizar as funções ExistTrigger(cCampo) para verificar se existem gatilhos para o campo e depois RunTrigger(1,nLin,nil,,cCampo) para executar os gatilhos.

Sugestão utilize as funções próprias para manipular o aCols: GdFieldGet(cCampo,nLin), GdFieldPut(cCampo,xConteudo,nLin) e GdDeleted(nLin).

Cirilo , irei testar as funções listadas na sua resposta.

Em questão das funções pra manipular o aCols , realizei a alteração no código , não sabia da existencia delas , muito obrigado!