User Function MA415RVP()
Local aRet := PARAMIXB
Local nTot := Len(aRet)
Local nValCMV := 0
Local nX := 0
Local nY := 0
//Converte os valores da Rentabilidade de caracter para numérico
For nX := 1 To nTot
For nY := 2 To Len(aRet[nX])
If AT(".",aRet[nX][nY]) > 0
aRet[nX][nY] := StrTran(aRet[nX][nY],".","")
EndIf
If AT(",",aRet[nX][nY]) > 0
aRet[nX][nY] := StrTran(aRet[nX][nY],",",".")
EndIf
aRet[nX][nY] := Val(aRet[nX][nY])
Next nY
Next nX
For nX := 1 To nTot
//Se o produto for o código "03", vou zerar a coluna do C.M.V.
If nX <> nTot .And. AllTrim(aRet[nX][1]) == "03"
nValCMV += aRet[nX][3]
aRet[nX][3] := 0 //C.M.V.
EndIf
//Atualiza o elemento de totalização
If nX == nTot .And. Empty(aRet[nX][1])
aRet[nX][3] := (aRet[nX][3] - nValCMV)
EndIf
Next nX
//Converte os valores da Rentabilidade de numérico para caracter (padrão)
For nX := 1 To nTot
For nY := 2 To Len(aRet[nX])
aRet[nX][nY] := TransForm(aRet[nX][nY],"@e 999,999,999.999999")
Next nY
Next nX
Return aRet |