TClientDataSet + Campo Tipo Aggregate
Estimados, tengo el siguiente problema, tengo una tabla en un clientdataset con los campos: id, cantidad, unitario y descuento (que se van almacenar en la tabla de firebird). Además agregue al clientdateset los campos de tipo float: subtotal y afecto, tal que estos ultimo sean calculados desde los anteriores como sigue:
clientdataset1subtotal = clientdataset1cantidad * clientdataset1unitario;
clientdataset1afecto = clientdataset1cantidad * clientdataset1unitario - clientdataset1descuento;
En codigo anterior lo inclui en el evento beforepost del clientdateset, y funciona sin problema.
Por otro lado, agregue 3 campos del tipo fkaggregate, tal que me entregue la sumatoria de todos los registros, en su propiedad expression quedo asi:
TOTAL_SUBTOTAL = sum(cantidad * unitario)
TOTAL_DESCUENTO = sum(descuento)
TOTAL_AFECTO = sum(cantidad * unitario) - sum(descuento)
Hasta aqui todo va bien, el problema surgue cuando deo agregar un parametro externo al clientdataset, es decir, el IVA. Con este debo obtener 2 nuevos valores.
var IVA: double;
IVA = TOTAL_AFECTO.asfloat * IVA
TOTAL = TOTAL_AFECTO.asfloat - TOTAL_AFECTO.asfloat * IVA
Intenté agregar este codigo, pero me arroja error al ejecutar que no puede acceder al campo TOTAL_AFECTO como un float.
Como puedo resolver esto?
|