Estoy haciendo un programita donde hago ciertos calculos y tengo un problema con algunos campos calculados.
Intentaré explicarles, tengo 2 tablas una donde obtengo costos de materiales y otra donde tengo los diferentes descuentos dependiendo de algunas variables.
En la tabla donde quiero ir agregando productos tengo llaves foráneas hacia el ID del producto y el ID del descuento.
Para hacer esto estoy utilizando un IBDataSource donde agrego algunos campos.
Producto y TipoDescuento que son de tipo lookup
Importe, Descuento y Total de tipo Moneda y que los utilizo como campos calculados.
Finalmente tengo un DBGrid donde muestro los datos
Deberia mostrarse de esta forma.
Producto TipoDescuento Cantidad Importe Descuento Total
PALO GOLF NORMAL 1 $1,200.00 $120.00 $1,080.00
PELOTAS MAYOREO 50 $ 20.00 $300.00 $ 700.00
Sin embargo me repite el ultimo dato capturado, lo que no se es porque si está obteniendo bien los datos dependiendo de su ID Producto y ID descuento se actualiza todos los registros con el mismo valor.
Producto TipoDescuento Cantidad Importe Descuento Total
PALO GOLF NORMAL 1 $ 20.00 $6.00 $ 14.00
PELOTAS MAYOREO 50 $ 20.00 $300.00 $ 700.00
En el evento OnCalcFields estoy haciendo esto.
procedure TDataModule2.ibVENTASCalcFields(DataSet: TDataSet); begin ibVENTASImporte.Value := ibPRODUCTOSImporte.Value; ibVENTASDescuento.Value := ibVENTASImporte.Value * ibDESCUENTOSPorcentaje.Value / 100; ibVENTASTotal.Value := ibVENTASIMPORTE.Value - ibVENBTASDescuento.Value; end;
¿Que estos haciendo mal?
saludos