Tempo aproximado para leitura: 00:01:00 min
Dúvida
Como manter os valores dos itens alterados via customização na rotina MATA103?
Ambiente
Cross Segmento - TOTVS Backoffice (Linha Protheus) – ADVPL – A partir da versão 11.80
Solução
Qualquer alteração de valor via customização, diretamente no aCols da rotina MATA103, deverá conter sequencialmente a chamada da função A103TRIGGER informando como parâmetro o campo manipulado para possibilitar o cálculo correto dos impostos e atualizações internas do programa.
Abaixo uma função de usuário de exemplo que atribui o valor fixo de 100 ao campo D1_VUNIT
User Function MA103B01()
Local nPosVal
Local nX
For nX := 1 To Len(aCols)
nPosVal := AScan(aHeader,{|x| AllTrim(x[2]) == 'D1_VUNIT'})
N := nX //Atualiza linha
aCols[N, nPosVal] := 100
A103Trigger('D1_VUNIT')
If ExistTrigger('D1_VUNIT')
RunTrigger(2,nX,nil,,'D1_VUNIT')
MaColsToFIs(aHeader,aCols,nX,"MT100") //Grava o gatilho no campo caso possua a função MaFisRef
EndIf
Next nX
Return nil
O exemplo acima percorre e atualiza o campo em todos os itens da nota. É importante observar que a variável N(controle da linha do aCols), deve acompanhar a posição que foi alterada.
0 Comentários