Suma de descuentos con valores fijos

Favor si me pueden ayudar con lo sigte, en una tabla de cliente tengo un campo de descuento, que es un valor fijo diferente por cada cliente y en compra de contado, automáticamente le hago el descuento a la compra global, pero ahora me surge la necesidad de sumarle a este descuento otro descuento especial dependiendo del producto que compra, son 5 productos que podrían crecer, hice una pequeña tabla que uso como subformulario por cada cliente y alli le pongo los productos con sus respectivos descuentos, mi problema está a la hora de facturar porque debo agarrar el producto facturado y ver si tiene descuento ese producto para ese cliente y si fuera asi sumarle al descuento fijo que ya tiene.. Espero haber sido claro y muchas gracias por la ayuda..

2 respuestas

Respuesta
2

¿El descuento especial es igual para todos los clientes?

En la tabla productos debe existir el descuento especial, en el evento después de actualizar realiza el cálculo, Algo como:

Producto x cliente-(descuento+descuento buscado en la tabla productos)

Como en la tabla productos todos no todos tienen descuento debe utilizar la función NZ() para evitar error.

Si adiciona una imagen le puedo ampliar la información.

Le he preparado este ejemplo, consta de los siguientes casos:

1. Descuento por cliente y producto

1.1 Contado

1.2 Crédito

2. Descuento solo por producto

2.1 Contado

2.2 Crédito

1. 1 CONTADO

1.2 CREDITO

2.2 CONTADO

2.2 CREDITO

El ejemplo consta de los siguientes objetos:

Observe en los formularios que se incluye la forma de actualizar el subformulaio cuando se cambia el origen del descuento o la forma de venta.

Se me olvido dejar en cero (0) cuando la compra es a crédito el descuento por cliente, pero ya hice el ajuste.

Respuesta
1

Es conveniente valorar las respuestas que te dan.

Si tengo la tabla Clientes con el descuento que se le aplica a cada uno

Y la tabla Productos con el descuento que tiene cada producto

Tengo el formulario Ventas con el subformulario DetalleVenta

En el momento que elijo un cliente, me pone el descuento que le corresponde

Y en el subformulario, en cuanto elijo un producto

Me pone en Descuento el que le corresponde a ese producto y a medida que voy rellenado el campo Cantidad ya hace todo lo demás, tanto en el subformulario como en el formulario.

En este ejemplo, en el evento Después de actualizar del combinado IdCliente, le tengo puesto

Private Sub Idcliente_AfterUpdate()
Descuento = DLookup("descuento", "clientes", "idcliente=" & Me.Idcliente & "")
End Sub

En el subformulario lo mismo pero en productos

En el combinado Producto

Private Sub Producto_AfterUpdate()
Precio = DLookup("precio", "productos", "producto='" & Me.Producto & "'")
Descuento = DLookup("descuento", "productos", "producto='" & Me.Producto & "'")
Cantidad.SetFocus
End Sub

Y en el evento Después de actualizar del control Cantidad

Private Sub Cantidad_AfterUpdate()
DoCmd.SetWarnings False
Importe = Precio * Cantidad
Subtotal = Importe * (1 - Descuento / 100)
DoCmd.RunCommand acCmdSaveRecord
Me.Parent!Importe = DSum("subtotal", "detalleventa", "idventa=" & Me.IdVenta & "")
Me.Parent!Subtotal = Me.Parent!Importe * (1 - Me.Parent!Descuento / 100)
Me.Parent!ImporteIVA = Me.Parent!Subtotal * Me.Parent!IVA / 100
Me.Parent!TotalFactura = Me.Parent!Subtotal + Me.Parent!ImporteIVA
End Sub

Buenas, todas las respuestas considero muy validas y les agradezco muchísimo, pero el descuento especial es cliente/productos, es decir, cada cliente tendrá un segundo descuento fijo/modificable (solo cambiara cuando haya cambio de precio), dependiendo de que producto lo compra, que podría ser el mismo descuento para otro cliente o diferente, es por eso que tengo la necesidad de que al introducir el descuento en el subformulario de detalles recorra todos los productos vendidos y verifique el descuento de cada producto si lo tiene y lo sume al descuento fijo que tengo en la tabla del cliente, así obtendría la suma total de todos los descuentos en una sola línea de detalle. Gracias a todos por su ayuda..

 
yo calculaba agregarle a la tabla de clientes los productos con sus descuentos, puesto que son solo 5 productos, como sigue.

Lamentablemente no puedo ver bien las imágenes, mi ordenador es un portátil. Cuando quieras poner una utiliza el botón que te señalo con la flecha

Cuando se incorpora con ese botón permite que se amplíe la imagen sin perder calidad.

Pero creo que el caso es el mismo, si el cliente tiene un descuento fijo por ser quien es, y luego a los productos que compre le quieres aplicar otro descuento fijo por lo mismo

Selecciono el cliente

Me pone un descuento del 5% que le corresponde a él, y luego selecciono el descuento que le voy a hacer porque sí, en este caso voy a seleccionar el 6.

Una vez que elijo el producto, en el control Descuento del subformulario, me pone el valor que he elegido en el combinado del formulario y si escribo algo en Cantidad

Puedes ver que el cursor aún está en Cantidad y si pulso Enter, se repite el proceso

La única diferencia es que en el evento Después de actualizar del combinado producto le he puesto

Descuento=me.parent!descuentoproductos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas