Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Imprimir y agrupar info desde arreglo con QuickReport (https://www.clubdelphi.com/foros/showthread.php?t=29808)

ZRR 01-02-2006 20:22:45

Imprimir y agrupar info desde arreglo con QuickReport
 
Que tal a todos buen dia.

Tengo un problema para agrupar información en un reporte con QuickReport tomando los datos desde 1 arreglo.
Tengo en quickReport un DetailBand (TQRBand) y dentro del DetailBand 4 TQRLabel. Imprime el contenido de mi arreglo, pero tengo problemas si intento imprimir totales por Cliente, no he podido agrupar para que cada que sea un cliente diferente, muestre la suma del importe para el cliente, imprima el encabezado de las columnas para el siguiente cliente y su total y asi sucesivamente.

Agregue un GroupHeader con los titulos de las columnas, un TQRSubDetail para los datos y un Group Footer con las TQRLabel para los totales, pero todo mi arreglo se imprime en el mismo grupo de datos y el total solo muestra el del ultimo cliente encontrado:

Código:

procedure TForm1.QuickRep1BeforePrint(Sender: TCustomQuickRep;
var PrintReport: Boolean);
begin
CurrentItem := 0; // Puntero del arreglo a imprimir
end;
...
//los datos estan en un arreglo:
procedure TForm1.QuickRep1NeedData(Sender: TObject; var MoreData: Boolean);
begin
 //si hay mas datos, QuickReport imprimirá otra banda de detalle
 MoreData := CurrentItem < High(arr);
 
  //imprimir total del cliente
 if (cveClienteAux<>'') and (arr[CurrentItem,0]<>cveClienteAux) then
 begin
  QRLCveCliente.Caption:=cveClienteAux;
  QRLSumaImporte.Caption:=FloatToStr(sumaImporte);
  //******COMO INSERTAR UN NUEVO GRUPO DE DATOS AQUI?*****
  sumaImporte:=0;
 end;
 
 if MoreData then
 begin
  cveClienteAux:=arr[CurrentItem,0];
  QRLCliente.Caption:=arr[CurrentItem,0];
  QRLFecha.Caption:=arr[CurrentItem,1];
  QRLNumero.Caption:=arr[CurrentItem,2];
  QRLImporte.Caption:=arr[CurrentItem,3];
 end;
 Inc(CurrentItem);
end;

Como puedo hacer que para cada cliente diferente (el arreglo esta ordenado por cliente) se impriman los totales y se genere otro GroupHeader-TQRSubDetail-Group Footer?

Gracias por su ayuda


La franja horaria es GMT +2. Ahora son las 14:22:17.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi