Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Portuguese

Pagetitle
MA415RVP - Alterar valores ou inibir demonstração Modificar valores o inhibir informes de valores
MA415RVP - Alterar valores ou inibir demonstração Modificar valores o inhibir informes de valores

PontoPunto-de-Entrada: MA415RVP - Alterar valores ou inibir demonstração Modificar valores o inhibir informes de valores


DescriçãoDescripción:

Este

ponto

punto 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

se ejecuta como complemento al cálculo de la rentabilidad del presupuesto. Este puede utilizarse para modificar los valores mostrados o para ocultar informes de los valores.

Programa

Fonte

fuente:

MATA415.PRX

Sintaxe


Sintaxis:

MA415RVP( aRentab ) --> aRentab

Parâmetros


Parámetros:


NomeDescriçãoObrigatórioVetor com a seguinte estrutura Caractere do Produto Caractere Caractere Caractere Presente Caractere Lucro Bruto sendo Presente Caractere Margem Contribuição sendoLucro Bruto

Nombre

Tipo

Descripción

Obligatorio

aRentab

Vector

Array

con la siguiente estructura:

[1] -

Carácter - Código

del producto
[2] -

Carácter - Valor Total
[3] -

Carácter - C.M.V.
[4] -

Carácter - Valor

presente
[5] -

Carácter -

Ganancia bruta,

donde: (Valor

presente - C.M.V.)
[6] -

Carácter -

Margen de

contribución %,

donde:  ((

Ganancia Bruta / Valor Presente) * 100)

X


Retorno

Respuesta:

aRentab -

Vetor

Vetor - Array

com a mesma estrutura

con la misma estructura:

[1] -

Caractere

Carácter - Código

do Produto

del producto
[2] -

Caractere

Carácter - Valor Total
[3] -

Caractere

Carácter - C.M.V.
[4] -

Caractere

Carácter - Valor

Presente

presente
[5] -

Caractere

Carácter -

Lucro Bruto

Ganancia bruta,

sendo

donde: (Valor

Presente

presente - C.M.V.)
[6] -

Caractere

Carácter -

Margem

Margen de

Contribuição

contribución %,

sendo

donde:  ((

Lucro Bruto

Ganancia Bruta / Valor Presente) * 100)

ExemploEjemplo:

Bloco de código
languagejs
linenumberstrue
User Function MA415RVP()

Local aRet := PARAMIXB
Local nTot := Len(aRet)
Local nValCMV := 0
Local nX := 0
Local nY := 0

//ConverteConvierte oslos valores dade Rentabilidaderentabilidad de caractercarácter paraa 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
    //SeSi oel produtoproducto fores oel código "03", vou zerar a coluna dose debe dejar en cero la columna del C.M.V.
    If nX <> nTot .And. AllTrim(aRet[nX][1]) == "03" 
        nValCMV += aRet[nX][3]
        aRet[nX][3] := 0    //C.M.V.
    EndIf
    //AtualizaActualiza oel elemento de totalizaçãototalización
    If nX == nTot .And. Empty(aRet[nX][1])
        aRet[nX][3] := (aRet[nX][3] - nValCMV)
    EndIf
Next nX

//ConverteConvierte oslos valores dade Rentabilidaderentabilidad de numérico paraa caractercarácter. (padrãoestándar)
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