PDA

Ver la Versión Completa : sumatorias por paginas


artemisa
21-10-2005, 03:43:36
Hola a todos necesito ayuda lo que quiero hacer es lo siguiente: digsmos que tengo tres paginas en mi reporte.



______________________________________________________________
pagina 1

producto1 10.00 12.00
producto2 10.00 12.00
producto3 20.00 14.00
Van 40.00 38.00 <=====estas son sumatorias

______________________________________________________________
pagina 2

vienen 40.00 38.00

producto8 10.00 12.00
producto3 10.00 12.00
producto9 20.00 14.00
van 80.00 76.00

______________________________________________________________
pagina 3

vienen 80.00 38.00

producto6 10.00 12.00
producto0 10.00 12.00
producto9 20.00 14.00
van 120.00 114.00


total 120.00 114.00

claro que en cada pagina hay muchos mas detalles, y los valores son muy variados, trabajo en qreport y con delphi 7, espero haber sido lo suficientemente claro, de antemano muchas gracias por la ayuda

saludos

artemisa:p

epuigdef
21-10-2005, 11:10:26
Buenas!


No iba a responder este hilo porque mi propuesta no es muy "elegante" que digamos, y esperaba que alguien más sabio que yo te diera otra solución, pero como veo que estás un pelín colgado, allá va mi solución:

En la impresión del qreport se disparan una serie de eventos. Entre ellos, cada vez que se lanza una línea de detalle se lanza uno (no sé como se llama, pero tiene que ser similar a ondetailbandprint) en el que puedes acceder a los datos que estás imprimiendo. En este momento puedes acumular en una variable global el importe.

Otro evento que se dispara es cuando se imprime el pagefooter. En esta banda puedes poner un qrlabel sin texto, y cuando se dispare el evento asignarle el valor que llevas acumulado en tu variable global.

Espero que te sirva

Edu

artemisa
21-10-2005, 21:09:43
sabes no se si estoy haciendo algo mal pero no he podido capturar los datos que se han acumulado y menos imprimirlos al final de la pagina, no habra otra solucion

gracias

Artemisa:)

dec
22-10-2005, 05:36:45
Hola,



sabes no se si estoy haciendo algo mal pero no he podido capturar los datos que se han acumulado y menos imprimirlos al final de la pagina, no habra otra solucion

Por favor, no te lo tomes a mal, pero, sería cuestión de adivinar qué está fallándote si ni siquiera dices qué estás intentando hacer, esto es, cómo estás intentando hacer lo que precisas. Arriba te han dado una idea, ¿has seguido los pasos? ¿Qué has hecho, pues, para pensar que lo estás haciendo mal? Piensa que aquí las bolas de adivinar no abundan... y no te lo tomes a mal, que no va con mala intención, todo lo contrario. ;)

Lepe
22-10-2005, 11:40:14
Necesitas un QRGroupBand, pones un QRExpr dentro y en la expresión le añades Sum(nombreCampo). Añades un QrLabel con el texto: Suma Parcial:


En el BeforePrint del QrLabel, tienes que añadir algo parecido a esto, lo digo de memoria, pero con el code insight de delphi seguro que lo encuentras:

procedure qreport1.qrlabe1Print(...; Value:Text);
begin
// si es la ultima pagina, cambiamos el "suma parcial" por suma total
if qreport1.qrprinter.PageNumber = qreport1.qrprinter.PageCount -1 then
QrLabel1.caption := 'Suma Total';
end;


saludos

vtdeleon
23-10-2005, 00:54:02
Saludos

He realizado un pequeño ejemplo (algo feo, pero funciona:p).

He utilizado un QrExp en la seccion de Page Footer, en Detail presento los registros con un QrDBText y uala.