#INCLUDE "Protheus.ch" User Function MNTA8752() Local aBanda := { {"1","TQS->TQS_KMOR"},; //Array contendo valor do campo TQS_BANDAA {"2","TQS->TQS_KMR1"},; //com o seu respectivo campo de Contador {"3","TQS->TQS_KMR2"},; {"4","TQS->TQS_KMR3"},; {"5","TQS->TQS_KMR4"},; {"6","TQS->TQS_KMR5"},; {"7","TQS->TQS_KMR6"},; {"8","TQS->TQS_KMR7"},; {"9","TQS->TQS_KMR8"},; {"A","TQS->TQS_KMR9"}} cPneu := PARAMIXB[1] // Codigo do pneu dData := PARAMIXB[2] // Data da leitura do contador cHora := PARAMIXB[3] // Hora da leitura do contador nDife := PARAMIXB[4] // Diferenca de dias dbSelectArea("TQV") dbSetOrder(1) If !dbSeek(xFilial("TQV")+cPneu+DTOS(dData)+cHora,.T.) dbSkip(-1) EndIf cVida := TQV->TQV_BANDA nVida := aScan(aBanda,{|x| x[1] == cVida}) // Se o campo existir, executa If NGCADICBASE(SubStr(aBanda[nVida][2],6), "A", "TQS", .F.) dbSelectArea("TQS") dbSetOrder(1) If dbSeek(xFilial("TQS")+cPneu) RecLock("TQS",.F.) If (&(aBanda[nVida][2]) + nDife) < 0 &(aBanda[nVida][2]) := 0 Else &(aBanda[nVida][2]) += nDife EndIf MsUnLock() EndIf EndIf Return |