Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Impresión facturas Master-Detail (https://www.clubdelphi.com/foros/showthread.php?t=20344)

aurix 13-04-2005 09:14:43

Impresión facturas Master-Detail
 
Hola, buenas a todo el foro,
Os planteo mi problema:
-Actualmente estoy trabajando con dos datasets(ado_cab y ado_lin), el
-QuickRep1.dataset asignado al ado_cab
-Uso las siguientes bandas:
*PageHeader: datos de cabecera de ado_cab(num_cli,dirección, etc)
*QRGroup1 : expression=num_fact, forceNewPage=true, Master=QuickRep1.
*QRSubdetail1 :dataset=ado_lin, master=QuickRep1
*QRFooter: datos de fact de ado_cab(importe, iva, transporte,etc)

Bien, los datos que me presenta el report son correctos, pero no puedo controlar el lugar donde aparece el pie de pag., este aparece justo despues de la ultima linea que contenga la factura y deberia de ser a una altura de la hoja determinada.

Espero vuestra ayuda y Gracias a todos.
pd:Admito cualquier sugerencia(quizas las bandas tb esten mal, no se).

Lepe 13-04-2005 09:58:05

Da un clic sobre el QRFooter, tiene una propiedad AlignToBottom y ponla a True, despues de esto, solo tienes que hacer el pie de página tan alto como quieras para que imprima en la posición determinada.

Tambien puedes ponerle un Margen inferior más grande, y jugar con la opción anterior

Un saludo

aurix 14-04-2005 15:15:52

Gracias, Lepe.
Aunque la solucion que me propones no se me adapta, pq cada factura tiene diferente nº de lineas(como max 23 lin pag ) y de esta manera no se ajusta al nº de lineas de factura, sino que aparece justo despues de la ultima linea de detalle y justamente eso lo quiero controlar que aparezca al final de cada pag si la factuira tiene menos de 23 lineas o que aparezca en la siguiente hoja si tiene mas de 23.

De todas maneras, muchas gracias.


PD: Si alguien tiene alguna sugerencia sera bien recibida.

Y de nuevo, gracias.

Lepe 14-04-2005 15:44:17

Vamos, algo como esto:
Código Delphi [-]
type
  Tver = (vTotales, vSumaYSigue);

procedure TFrmQRFactura.PageFooterBand1BeforePrint(Sender: TQRCustomBand;
  var PrintBand: Boolean);
begin
  if detalle.RecordCount = 0 then
    Ver(vTotales)
  else
  if (qrfact.PageNumber * 23 div detalle.RecordCount) > 0 then
    Ver(vTotales)
  else
    Ver(vSumaYSigue);

end;

procedure tfrmqrfactura.Ver(queVer: TVer);
begin
  lblSumaYSigue.Enabled := (queVer = vSumaYSigue);
  dbtSumaYSigue.Enabled := (queVer = vSumaYSigue);
  lblSUMA.Enabled       := (queVer = vtotales);
  DBTBimponible.Enabled := (queVer = vtotales);
  lblIVA.Enabled        := (queVer = vtotales);
  DBTiva.Enabled        := (queVer = vtotales);
  dbtIvaPercent.Enabled := (queVer = vtotales);
  lbltotal.Enabled      := (queVer = vtotales);
  DBTimporte.Enabled    := (queVer = vtotales);

end;
lbl = labels con el texto 'suma y sigue' o solo 'suma'
DB = qrdbtext.

Un saludo


La franja horaria es GMT +2. Ahora son las 09:52:48.

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