Tengo un campo precio en un TClientDataSet que viene de la base de datos pero es calculado, es decir esta guardado, pero si o si respeta una formula de acuerdo a costo de flete e impuestos.
La formula funciona bien matematicamente y la tengo en el evento afterpost:
procedure TDataModule1.cdsproductosAfterPost(DataSet: TDataSet);
begin
with DataModule1 do
begin
DataModule1.cdsproductos.Open;
DataModule1.cdsproductos.Edit;
cdsproductosprecioactual.AsFloat:=cdsproductosCosto.AsFloat*
(cdsproductosGanancia.AsFloat/100)+
cdsproductosCosto.AsFloat+cdsproductosRedondeo.AsFloat + (cdsproductosCosto.AsFloat *
(cdsproductosImpuesto.AsFloat/100))+cdsproductosFlete.AsFloat;
end;
end;
Entonces que debo colocar en el evento onchange del dbedit de costo,ganancia,etc(de cada dbedit de cada campo asociado a la formula) para que actualize el clientdataset y el dbedit de precio al toque?
Pense usar:
procedure TFPRODUCTOS.DBEdit5Change(Sender: TObject);
begin
DataModule1.cdsproductos.ApplyUpdates(0);
DataModule1.cdsproductos.Refresh;
end;
Pero como tengo los campos de tipo currency, me dice que no es un valor flotante valido.
Y luego al salir de la aplicacion obtengo el error de la segunda imagen.
Captura de pantalla (17).png 34,32KB
4 descargas