Ver Mensaje Individual
  #1  
Antiguo 19-01-2011
martinartaza martinartaza is offline
Miembro
NULL
 
Registrado: oct 2010
Posts: 77
Reputación: 16
martinartaza Va por buen camino
Question Truncar números a la hora de sumarlo con TQRExpr

Hola que tal, le comento estoy usando Delphi 6, con QReport y completando reportes, todos estos reportes le falta totalizar al final.
Después de evaluar cual seria el menor esfuerzo para modificar más de 50 reportes llegue a la conclusión, de agregar una banda Summary y poner por cada columna un TQExpr y usar la función Sum, el problema que tengo es que cuando veo un reporte y sumo a mano, no me da igual a lo que me arroja el TQExpr, esto se debe a que en los reportes se trunco las filas a la hora de mostrar los datos, entonces el TQExpr me suma con todos los decimales y me termina tirando distinto valor, que la suma de la hoja impresa.

Por ejemplo, tengo el siguiente dataset (qventas) y lo que muestra el reporte.
(los puntitos son espacio en blanco, es para mostrarlo ordenado)
Dataset. ............................................... Reporte

[Cliente] | [Cuenta] | [Neto] .......[Cliente] | [Cuenta] | [Neto]
1.......... | ... 101 .. | 20.56789 ....... 1 .... | ....101 .. | .. 20.56
1.......... | ... 102 .. | 20.00981 ....... 1 .... | ....102 .. | .. 20.00
2.......... | ... 201 .. | 20.00772 ....... 2 .... | ....201 .. | .. 20.00

Lo quiero que me aparezca al final del repote es --> Total = 60.56
Lo que me aparece ahora es = 20.58 porque 20.56789+ 20.00981 + 20.00772 me da un total de 20.58542 y al truncarlo me da 20.58, esa diferencia de 2 centavos se produce con un informe de 3 a 5 clientes, pero cuando tiro un listado de 5 hojas, la diferencia ya es demasiada significativa.

Para mostrar el total en el TQExpr estoy usando la siguiente formula.
Código Delphi [-]
QExpr1.Expression := SUM(q_Ventas.neto)
Lo que necesito seria algo como.
Código Delphi [-]
QExpr1.QExpresion  := SUM(FORMATNUMERIC('0.##',q_Ventas.neto))
La expresion anterior, no me muestra nada, debe ser que está mal a pesar que al validarla me dice que no hay drama.

Bueno espero que hayan entendido y necesito hacerlo de esa manera para no perder tiempo modificando un serie de reporte en la cual cada programador que paso por acá lo creo a su manera, hay reportes con códigos, otros con echos con consulta ,en fin se perdería mucho tiempo usando otro método.

Desde ya muchas gracias.
Responder Con Cita