
Ayuda! Formula para calcular las distintas Formas de Pago de una Factura
Publicado por anonymous (2 intervenciones) el 04/07/2016 03:08:33
Buenas noches, acudo a este foro para solicitar ayuda referente a un proyecto de clases que estoy desarrolando en VB6, lenguaje vb y agradeceria muchisimo la ayuda que me puedan prestar.
Para dar una idea en general explico lo siguiente: Mi proyecto posee un formulario de Facturación, una vez llenando los datos de la factura y los productos a facturar se procede a totalizar, aqui surgue el formulario "Forma de Pago" en él se hacen los calculos de descuento, se suman los fletes y se calcula la Base Imponible, Iva y Total a pagar, hasta este punto todo funciona de maravilla, el problema viene cuando la forma de pago es "Contado" y se deben especificar los distintos medios de pago, es decir:
1.- Efectivo
2.-Tarjeta (Debito-Credito)
3.-Cheque
Si el cliente cancela en una sola forma de pago, perfecto!, pero el problema me surge cuando debo calcular varias formas de pago al mismo tiempo: efectivo, cheque o tarjeta y restarlo al saldo. anexo una foto para que vean los campos existentes en el formulario:
Una formula muy básica sería calcular mi saldo tomando como referencia el "total a pagar" es decir: txtSaldo.text = txtTotalPagar.text, y calcular los demas valores a partir de esta información:
SaldoOperacion = (txtEfectivo + txtTarjeta + txtCheque) - txtTotalPagar
txtSaldo = SaldoOperacion
Obviamente valido cada textbox para que la suma introducida en él no sea mayor al monto a pagar, o la diferencia que quede cuando una parte se cancelo con otro medio de pago, ejemplo:
If txtTarjeta > txtSaldo then
txtTarjeta = txtSaldo
end if
Primero, no estoy muy segura en que momento o evento debo colocar mi formula: al abandonar el campo (LostFocus), al cambiar el campo (Change) u otro, y segundo, me da un error cuando cambio un monto ya establecido (ya sea efectivo, tarjeta o cheque) Ejemplo:
Total a Pagar Bs. 12000
--------------------------
Efectivo Bs. 2000 cambio de 2000 a 3000 por asi decir
Tarjeta Bs. 5000
Cheque Bs. 5000
entonces el saldo me tira número negativos y los demas campos iguales, por lo tanto sé que no estoy usando una fórmula adecuada para calcular mi saldo, y he pensado muchas maneras pero me sigue dando el mismo error. Estoy exasperada y necesito con urgencia la ayuda de alguien, a lo mejor es facil la solución, pero agradeceria mucho cualquier aporte que me puedan dar.
Para dar una idea en general explico lo siguiente: Mi proyecto posee un formulario de Facturación, una vez llenando los datos de la factura y los productos a facturar se procede a totalizar, aqui surgue el formulario "Forma de Pago" en él se hacen los calculos de descuento, se suman los fletes y se calcula la Base Imponible, Iva y Total a pagar, hasta este punto todo funciona de maravilla, el problema viene cuando la forma de pago es "Contado" y se deben especificar los distintos medios de pago, es decir:
1.- Efectivo
2.-Tarjeta (Debito-Credito)
3.-Cheque
Si el cliente cancela en una sola forma de pago, perfecto!, pero el problema me surge cuando debo calcular varias formas de pago al mismo tiempo: efectivo, cheque o tarjeta y restarlo al saldo. anexo una foto para que vean los campos existentes en el formulario:

Una formula muy básica sería calcular mi saldo tomando como referencia el "total a pagar" es decir: txtSaldo.text = txtTotalPagar.text, y calcular los demas valores a partir de esta información:
SaldoOperacion = (txtEfectivo + txtTarjeta + txtCheque) - txtTotalPagar
txtSaldo = SaldoOperacion
Obviamente valido cada textbox para que la suma introducida en él no sea mayor al monto a pagar, o la diferencia que quede cuando una parte se cancelo con otro medio de pago, ejemplo:
If txtTarjeta > txtSaldo then
txtTarjeta = txtSaldo
end if
Primero, no estoy muy segura en que momento o evento debo colocar mi formula: al abandonar el campo (LostFocus), al cambiar el campo (Change) u otro, y segundo, me da un error cuando cambio un monto ya establecido (ya sea efectivo, tarjeta o cheque) Ejemplo:
Total a Pagar Bs. 12000
--------------------------
Efectivo Bs. 2000 cambio de 2000 a 3000 por asi decir
Tarjeta Bs. 5000
Cheque Bs. 5000
entonces el saldo me tira número negativos y los demas campos iguales, por lo tanto sé que no estoy usando una fórmula adecuada para calcular mi saldo, y he pensado muchas maneras pero me sigue dando el mismo error. Estoy exasperada y necesito con urgencia la ayuda de alguien, a lo mejor es facil la solución, pero agradeceria mucho cualquier aporte que me puedan dar.
Valora esta pregunta


0