Ponto-de-Entrada: MA415RVP - Alterar valores ou inibir demonstração de valores
Descrição:
Este ponto de entrada é executado em complemento ao cálculo da rentabilidade do orçamento. Ele pode ser utilizado para alteração dos valores apresentados ou para inibição da demonstração dos valores.
Programa Fonte:
MATA415.PRX
Sintaxe:
MA415RVP( aRentab ) --> aRentab
Parâmetros:
Nome | Tipo | Descrição | Obrigatório |
aRentab | Vetor | Array com a seguinte estrutura: [1] - Caractere - Código do Produto | X |
Retorno:
aRentab - Vetor - Array com a mesma estrutura:
- [1] - Caractere - Código do Produto
[2] - Caractere - Valor Total
[3] - Caractere - C.M.V.
[4] - Caractere - Valor Presente
[5] - Caractere - Lucro Bruto, sendo: (Valor Presente - C.M.V.)
[6] - Caractere - Margem de Contribuição %, sendo: ((Lucro Bruto / Valor Presente) * 100)
Exemplo:
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
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas