Boa tarde,
Criei um campo na SC7 para tratar o valor na segunda unidade de medida e coloquei um gatilho customizado para preencher o campo C7_PRECO. Porém preciso que ao preencher esse campo o C7_PRECO ative seus gatilhos para preencher o campo de valor total. O fonte do gatilho ficou assim:
User Function AtuPrcPc()
Local cRet := ""
Local nPosQtSUM := AScan(aHeader, {|x| Alltrim(x[2]) == "C7_QTSEGUM"})
Local nPosQuant := AScan(aHeader, {|x| Alltrim(x[2]) == "C7_QUANT"})
Local nPosTotal := AScan(aHeader, {|x| Alltrim(x[2]) == "C7_TOTAL"})
Local nQtSegUm := M->C7_QTSEGUM
Local nQuant := M->C7_QUANT
If nQtSegUm == NIL
nQtSegUm := aCols[n][nPosQtSUM]
EndIf
If nQuant == NIL
nQuant := aCols[n][nPosQuant]
EndIf
cRet := M->C7_PRECO := Round(M->C7_XVALSEU * nQtSegUm / nQuant,TAMSX3("C7_PRECO")[2])
aCols[n][nPosTotal] := M->C7_PRECO * nQuant
If ExistTrigger("C7_PRECO") // verifica se existe trigger para este campo
RunTrigger(2,n,Nil,,"C7_PRECO")
Endif
If ExistTrigger("C7_PRECO") // verifica se existe trigger para este campo
RunTrigger(2,n,Nil,,"C7_PRECO")
Endif
Return cRet
Porém só ativa o primeiro gatilho do campo C7_PRECO. Alguém já passou por isso e sabe me dar uma luz no que estou errando?