none
Como calcular totales de adelante para atrás RRS feed

  • Pregunta

  • saludos amigos del foro, le traigo un problema, estoy tratando de calcular totales de adelante para atrás esto que significa que el precio txtTotmn.Text manda es el primer valor que se calcula, luego sigue el impuesto luego el subtotal2 y luego subtotal1, el problema que tengo es cuando hay descuento, me podran ayudar por favor,

    gracias,

    Rudolf Heiner.

    'Moneda Nacional

    'Calculamos los totales

    txtTotmn.Text = nue_fac.Calcula_Suma_MN()

    txtSubTotmn2.Text = Round(txtTotmn.Text - (txtTotmn.Text * (Sys_Impuesto1 / 100)), 2)

    txtImpuestomn.Text = Round(CDec(txtTotmn.Text) - CDec(txtSubTotmn2.Text), 2)

    txtDesctomn.Text = Round(CDec(txtSubTotmn2.Text) * CDec(If(txtPordescto2.Text <> "", txtPordescto2.Text, "0") / 100), 2)

    txtSubTotmn1.Text = CDec(txtSubTotmn2.Text)

    'calculamos el descuento

    If CDec(txtDesctomn.Text) <> 0 Then

         txtSubTotmn2.Text = Round(CDec(txtSubTotmn2.Text) - CDec(txtDesctomn.Text), 2)

         txtTotmn.Text = Round(CDec(txtSubTotmn2.Text) * (Sys_Impuesto1 / 100 + 1), 2)

         txtImpuestomn.Text = Round(CDec(txtTotmn.Text) * (Sys_Impuesto1 / 100), 2)

    End If

    'asignamos el total a el monto para calcular luego el vuelto

    txtMontomn.Text = txtTotmn.Text


    viernes, 10 de febrero de 2017 15:27

Respuestas

  • Claro con mucho gusto:

        Private Sub Totales()
            If nue_fac.validar_detalle() = True Then

                'Moneda Nacional
                'Calculamos los totales
                txtTotmn.Text = nue_fac.Calcula_Suma_MN()
                txtSubTotmn2.Text = Round(txtTotmn.Text - (txtTotmn.Text * (Sys_Impuesto1 / 100)), 2)
                txtImpuestomn.Text = Round(CDec(txtTotmn.Text) - CDec(txtSubTotmn2.Text), 2)
                txtDesctomn.Text = Round(CDec(txtTotmn.Text) * CDec(If(txtPordescto2.Text <> "", txtPordescto2.Text, "0") / 100), 2)
                txtSubTotmn1.Text = CDec(txtSubTotmn2.Text)
                'calculamos el descuento
                If CDec(txtDesctomn.Text) <> 0 Then
                    txtTotmn.Text = Round(CDec(txtTotmn.Text) - CDec(txtDesctomn.Text), 2)
                    txtImpuestomn.Text = Round(CDec(txtTotmn.Text) * (Sys_Impuesto1 / 100), 2)
                    txtSubTotmn2.Text = Round(CDec(txtTotmn.Text) - CDec(txtImpuestomn.Text), 2)
                    txtDesctomn.Text = Round(CDec(txtSubTotmn1.Text) - CDec(txtSubTotmn2.Text), 2)
                End If
                'asignamos el total a el monto para calcular luego el vuelto
                txtMontomn.Text = txtTotmn.Text

                'Dolares
                'Calculamos los totales
                txtTotdol.Text = nue_fac.Calcula_Suma_MN()
                txtSubTotdol2.Text = Round(txtTotdol.Text - (txtTotdol.Text * (Sys_Impuesto1 / 100)), 2)
                txtImpuestodol.Text = Round(CDec(txtTotdol.Text) - CDec(txtSubTotdol2.Text), 2)
                txtDesctodol.Text = Round(CDec(txtTotdol.Text) * CDec(If(txtPordescto2.Text <> "", txtPordescto2.Text, "0") / 100), 2)
                txtSubTotdol1.Text = CDec(txtSubTotdol2.Text)
                'calculamos el descuento
                If CDec(txtDesctodol.Text) <> 0 Then
                    txtTotdol.Text = Round(CDec(txtTotdol.Text) - CDec(txtDesctodol.Text), 2)
                    txtImpuestodol.Text = Round(CDec(txtTotdol.Text) * (Sys_Impuesto1 / 100), 2)
                    txtSubTotdol2.Text = Round(CDec(txtTotdol.Text) - CDec(txtImpuestodol.Text), 2)
                    txtDesctodol.Text = Round(CDec(txtSubTotdol1.Text) - CDec(txtSubTotdol2.Text), 2)
                End If
                'asignamos el total a el monto para calcular luego el vuelto
                txtMontodol.Text = txtTotdol.Text

                rtbSon.Text = nue_var.Cambio(If(cboMoneda.Text <> "DOLARES AMERICANOS", If(txtTotmn.Text <> "" And txtTotmn.Text > 0, txtTotmn.Text, "0"), If(txtTotdol.Text <> "" And txtTotdol.Text > 0, txtTotdol.Text, "0")), cboMoneda.Text)

                MuestraDatosTotales()
            Else
                txtPordescto2.Text = "0"
                txtInteres.Text = "0"
                txtSubTotmn1.Text = "0"
                txtDesctomn.Text = "0"
                txtSubTotmn2.Text = "0"
                txtImpuestomn.Text = "0"
                txtTotmn.Text = "0"
                txtMontomn.Text = "0"
                txtSubTotdol1.Text = "0"
                txtDesctodol.Text = "0"
                txtSubTotdol2.Text = "0"
                txtImpuestodol.Text = "0"
                txtTotdol.Text = "0"
                txtMontodol.Text = "0"
                rtbSon.Clear()
            End If
        End Sub

    Cualquier pregunta me pueden avisar,

    saludos,

    rudolf heiner.

    martes, 14 de febrero de 2017 17:05

Todas las respuestas

  • Ya lo resolvi, gracias de todos modos!

    saludos,

    rudolf heiner.

    • Marcado como respuesta Rudolf Heiner viernes, 10 de febrero de 2017 17:13
    • Desmarcado como respuesta Joyce_ACModerator martes, 14 de febrero de 2017 17:57
    viernes, 10 de febrero de 2017 17:13
  • Hola Rudolf Heiner,

    Gracias por visitar los foros , según observo en tu entrada anterior comentas que has podido resolver tu problema, comentarte que sería de gran ayuda para futuros usuarios que visiten los foros el que pudieras compartirnos la forma en la cual resolviste el mismo.

    Saludos

    Joyce
    __________________________________________________________________________________________
    Por favor, recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, hace que sea más fácil para los otros visitantes encontrar la solución  más tarde. Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft. Este contenido es proporcionado "tal  cual" y no implica ninguna responsabilidad de parte de Microsoft.

    lunes, 13 de febrero de 2017 17:49
    Moderador
  • Claro con mucho gusto:

        Private Sub Totales()
            If nue_fac.validar_detalle() = True Then

                'Moneda Nacional
                'Calculamos los totales
                txtTotmn.Text = nue_fac.Calcula_Suma_MN()
                txtSubTotmn2.Text = Round(txtTotmn.Text - (txtTotmn.Text * (Sys_Impuesto1 / 100)), 2)
                txtImpuestomn.Text = Round(CDec(txtTotmn.Text) - CDec(txtSubTotmn2.Text), 2)
                txtDesctomn.Text = Round(CDec(txtTotmn.Text) * CDec(If(txtPordescto2.Text <> "", txtPordescto2.Text, "0") / 100), 2)
                txtSubTotmn1.Text = CDec(txtSubTotmn2.Text)
                'calculamos el descuento
                If CDec(txtDesctomn.Text) <> 0 Then
                    txtTotmn.Text = Round(CDec(txtTotmn.Text) - CDec(txtDesctomn.Text), 2)
                    txtImpuestomn.Text = Round(CDec(txtTotmn.Text) * (Sys_Impuesto1 / 100), 2)
                    txtSubTotmn2.Text = Round(CDec(txtTotmn.Text) - CDec(txtImpuestomn.Text), 2)
                    txtDesctomn.Text = Round(CDec(txtSubTotmn1.Text) - CDec(txtSubTotmn2.Text), 2)
                End If
                'asignamos el total a el monto para calcular luego el vuelto
                txtMontomn.Text = txtTotmn.Text

                'Dolares
                'Calculamos los totales
                txtTotdol.Text = nue_fac.Calcula_Suma_MN()
                txtSubTotdol2.Text = Round(txtTotdol.Text - (txtTotdol.Text * (Sys_Impuesto1 / 100)), 2)
                txtImpuestodol.Text = Round(CDec(txtTotdol.Text) - CDec(txtSubTotdol2.Text), 2)
                txtDesctodol.Text = Round(CDec(txtTotdol.Text) * CDec(If(txtPordescto2.Text <> "", txtPordescto2.Text, "0") / 100), 2)
                txtSubTotdol1.Text = CDec(txtSubTotdol2.Text)
                'calculamos el descuento
                If CDec(txtDesctodol.Text) <> 0 Then
                    txtTotdol.Text = Round(CDec(txtTotdol.Text) - CDec(txtDesctodol.Text), 2)
                    txtImpuestodol.Text = Round(CDec(txtTotdol.Text) * (Sys_Impuesto1 / 100), 2)
                    txtSubTotdol2.Text = Round(CDec(txtTotdol.Text) - CDec(txtImpuestodol.Text), 2)
                    txtDesctodol.Text = Round(CDec(txtSubTotdol1.Text) - CDec(txtSubTotdol2.Text), 2)
                End If
                'asignamos el total a el monto para calcular luego el vuelto
                txtMontodol.Text = txtTotdol.Text

                rtbSon.Text = nue_var.Cambio(If(cboMoneda.Text <> "DOLARES AMERICANOS", If(txtTotmn.Text <> "" And txtTotmn.Text > 0, txtTotmn.Text, "0"), If(txtTotdol.Text <> "" And txtTotdol.Text > 0, txtTotdol.Text, "0")), cboMoneda.Text)

                MuestraDatosTotales()
            Else
                txtPordescto2.Text = "0"
                txtInteres.Text = "0"
                txtSubTotmn1.Text = "0"
                txtDesctomn.Text = "0"
                txtSubTotmn2.Text = "0"
                txtImpuestomn.Text = "0"
                txtTotmn.Text = "0"
                txtMontomn.Text = "0"
                txtSubTotdol1.Text = "0"
                txtDesctodol.Text = "0"
                txtSubTotdol2.Text = "0"
                txtImpuestodol.Text = "0"
                txtTotdol.Text = "0"
                txtMontodol.Text = "0"
                rtbSon.Clear()
            End If
        End Sub

    Cualquier pregunta me pueden avisar,

    saludos,

    rudolf heiner.

    martes, 14 de febrero de 2017 17:05
  • Hola Rudolf Heiner,

    Gracias por visitar los foros. Hemos marcado como respuesta la opción que nos indicas y agradecemos de antemano tu aporte. Gracias!!

    Saludos

    Joyce

    __________________________________________________________________________________________
    Por favor, recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, hace que sea más fácil para los otros visitantes encontrar la solución  más tarde. Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft. Este contenido es proporcionado "tal  cual" y no implica ninguna responsabilidad de parte de Microsoft.

    martes, 14 de febrero de 2017 17:59
    Moderador
  • Saludos Joyce, de nada,

    saludos,

    rudolf heiner.

    jueves, 16 de febrero de 2017 17:23