none
Descobrir iva RRS feed

  • Pergunta

  • Boas pessoal,
    Em matemática podemos descobrir assim o iva, exemplo: ProdutoX 13€ com Iva de 23
    13€/1.23 = 10.57 logo o iva é 10.57*23%= 2.43
    Em programação tenho o produto na datagridview com o preço de 13 e iva de 23
    como posso fazer a programação da conta para descobrir o iva e mandar o iva para uma textbox, não esquecendo que poderei ter um produto de iva 6 ou 13. 
    sexta-feira, 25 de abril de 2014 14:36

Todas as Respostas

  • cara não min lembro muito bem o que é iva, mais se não min engano é o imposto sobre o produto,

    então vc quer saber qual foi o valor do imposto sobre o produto? se sim

    segue um exemplo no qual o valor do produto com imposto é 54.00 e a pocentagem de imposto é 30%

    o formatnumber é para a redondar os numeros para duas casa decimais

    Dim PrecoComIVA As Double = 54.0
            Dim IVA As Integer = 30
            Dim PrecoSemIVA As Double
            Dim MotanteIVA As Double
    
    
            PrecoSemIVA = FormatNumber(PrecoComIVA / ((IVA + 100) / 100), 2)
            MotanteIVA = FormatNumber(PrecoSemIVA * (IVA / 100), 2)




    • Sugerido como Resposta Jonnathanvb terça-feira, 29 de abril de 2014 14:06
    • Editado Jonnathanvb terça-feira, 29 de abril de 2014 14:06
    sexta-feira, 25 de abril de 2014 18:47
  • JotaMax, explica isso:

    • ProdutoX 13€ com Iva de 23
      13€/1.23 = 10.57 logo o iva é 10.57*23%= 2.43

    Isso é o que? o IVA é igual a 13 dividido por 1,23 que da 10,57 então dividido por 23% (ou vezes 0,23) que da um IVA de 2,43? É esse 2,43 que você quer que apareça na TextBox, se for é fácil.

    Friend Function ValIVA(ByRef Valor As Double, ByRef IVA As Double) As Double
       'Use IVA = 0.23 para 23%
       Return ((Valor * (1 + IVA)) * IVA)
    End Function

    Essa função da o retorno.

    • Sugerido como Resposta SammuelMiranda sexta-feira, 25 de abril de 2014 20:24
    sexta-feira, 25 de abril de 2014 20:24
  • quant

    produto

    iva

    Preco

    Calcular iva

    2

    Papel

    23

    1.50

    3

    Champo

    13

    3.50

    4

    Banana

    6

    2.65

    8

    Maca

    6

    3.65

    tenho uma datagrid onde o utilizar vai inserir os produtos e queria ao clicar num botao que fizesse a conta de quanto é o iva na celula(4) (calcular iva). Nao sei se me faço entender.

    quarta-feira, 30 de abril de 2014 14:09
  • jotamax, so tem um problema, pelo o que intendi você quer o motante do iva na ultima coluna, mais qual valor você quer,

    obs: os exemplos abaixo e sobre a primeira linha da tabela acima

    1 - O mutante do iva sobre o valor unitario = 0,28

    2 - O mutante do iva sobre o valor total ja que a quantidade é dois então o mutante do iva sera sobre a quantidade vezes o preço = 0,56

    se caso sejá uma dessas situações segue o codigo abaixo para cada uma delas

    codigo para o caso 1

    For Each linha As DataGridViewRow In datagridview1.Rows
    
                Dim PrecoComIVA As Double = linha.Cells(3).Value
                Dim IVA As Integer = linha.Cells(2).Value
                Dim PrecoSemIVA As Double
                Dim MotanteIVA As Double
    
    
                PrecoSemIVA = FormatNumber(PrecoComIVA / ((IVA + 100) / 100), 2)
                MotanteIVA = FormatNumber(PrecoSemIVA * (IVA / 100), 2)
    
    
                linha.Cells(4).Value = MotanteIVA
    Next

    codigo para o caso 2

    For Each linha As DataGridViewRow In datagridview1.Rows
    
                Dim PrecoComIVA As Double = linha.Cells(0).Value * linha.Cells(3).Value
                Dim IVA As Integer = linha.Cells(2).Value
                Dim PrecoSemIVA As Double
                Dim MotanteIVA As Double
    
    
                PrecoSemIVA = FormatNumber(PrecoComIVA / ((IVA + 100) / 100), 2)
                MotanteIVA = FormatNumber(PrecoSemIVA * (IVA / 100), 2)
    
    
                linha.Cells(4).Value = MotanteIVA
    Next

    segunda-feira, 5 de maio de 2014 16:15
  • OK Jota, faz assim olha,

    veja a função que eu escrevi antes ok? o "Friend Function ValIVA(ByRef Valor As Double, ByRef IVA As Double) As Double" ok? Vou re-escrever pois o IVA está entre 0 e 100 e não entre 0 e 1 (não está no formato decimal da porcentagem).

    Ficaria assim:

    Friend Function ValIVA(ByRef Valor As Double, ByVal IVA As Double) As Double
       IVA = IVA / 100
       Return ((Valor * (1 + IVA)) * IVA)
    End Function

    Transformei o IVA em "ByVal" para poder atribuir novos valores, e não gerar retorno para não alterar a exibição na célula. Ai você tem o seguinte, ANTES DE ATRIBUIR O DATASET AO DATAGRID, faça:

    Friend Sub Prepare(ByRef DSet As Sytem.Data.DataSet)
        For Each DRow As System.Data.DataRow In DSet.Tables(0).Rows
            DRow.Item(4) = ValIVA(CDbl(DRow.Item(3)), CDbl(DRow.Item(2)))
        Next DRow
    End Sub

    Então, faça a sua query (ou o que quer que for que você vai usar para abastecer o DATAGRID - vai ser um DataSet) e antes de dar BIND no DATAGRID, rode o "Friend Sub Prepare(ByRef DSet As System.Data.DataSet)". É isso.

    O único ponto é que quero que você confira o cálculo, se for:

    • ProdutoX 13€ com Iva de 23
      13€/1.23 = 10.57 logo o iva é 10.57*23%= 2.43

    Então a função está certa, se não tem que adequar a conta na linha do "Return" na função "ValIVA".

    quarta-feira, 7 de maio de 2014 11:47
  • Conseguiu resolver?
    quinta-feira, 29 de maio de 2014 12:08