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 en FastReport 2 copias en la misma hoja por pagina (https://www.clubdelphi.com/foros/showthread.php?t=93785)

belpab 27-02-2019 16:31:14

Imprimir en FastReport 2 copias en la misma hoja por pagina
 
Buenas. A ver si alguien puede ayudarme porque llevo varios días dando vueltas a un asunto y no consigo darle solución.

Estoy intentando hacer un informe con FastReport 5.3 de una factura, con su encabezado de pagina para los datos del cliente y la empresa, las lineas de detalle y el pie con los totales de la factura. Hasta ahí sin problemas tengo configurada la factura y me imprime correctamente tanto 1 hoja como si la factura tiene mas de 1 hoja. Pero ahora quiero que cada hoja la imprima 2 veces en la misma hoja ( factura y copia para el cliente) y no encuentro la forma de hacerlo a nivel de informe. Si alguien pudiera darme luz le estaría agradecido.

Un saludo.

Luis M. 27-02-2019 17:22:37

Hola.
Si entendí bien, quieres dos copias de cada hoja de la factura.
En el botón que mandes a imprimir sería algo así:

Código Delphi [-]
procedure TFormFactura.BTImprimirClick(Sender: TObject);
var
  cPath: string;
begin
  cPath := ExtractFilePath(Application.ExeName);
  QCFactura.Close;
  QCFactura.SQL.Text := 'Select * from cfactura where numero = '+
                                    QuotedStr(FacturaNUMERO.AsString);
  frxReport1.LoadFromFile(cPath + 'REPORTS\Factura.fr3');
  frxReport1.PrintOptions.Copies := 2;
  frxReport1.PrepareReport(True);
  frxReport1.Print;
end;

Un saludo.

belpab 27-02-2019 17:49:04

No exactamente. Quiero que cada pagina me la imprima dos veces pero en la misma hoja una original y otra para el cliente. Imagina que una factura tiene dos paginas, quiero que en la pagina 1 imprima la pagina 1 y su copia y en la 2 la pagina 2 y su copia. repitiendo encabezados, lineas de detalle y pie.

Luis M. 27-02-2019 20:01:48

Cita:

Empezado por belpab (Mensaje 530889)
No exactamente. Quiero que cada pagina me la imprima dos veces pero en la misma hoja una original y otra para el cliente.

Cuando dices página, te refieres a la factura?
Que te imprima cada factura dos veces pero en la misma página?

Casimiro Notevi 27-02-2019 21:11:23

¿Y para cortar el papel? ¿tijeras, cutter, a mano...?

Galahad 27-02-2019 23:06:32

2 copias en una hoja
 
Hola, puedes crearte un report de una página, diseñas la factura en media página y luego réplicas toda la información en la parte inferior. Lo más complicado es gestionar facturas de más de una hoja pero como puedes saber las líneas q hay por cada media página lo puedes hacer.
Espero te ayude

belpab 28-02-2019 01:22:27

Cita:

Empezado por Luis M. (Mensaje 530892)
Cuando dices página, te refieres a la factura?
Que te imprima cada factura dos veces pero en la misma página?

no, lo que quiero es que cada pagina de la factura me la imprima dos veces en la misma pagina

belpab 28-02-2019 01:24:18

Cita:

Empezado por Galahad (Mensaje 530895)
Hola, puedes crearte un report de una página, diseñas la factura en media página y luego réplicas toda la información en la parte inferior. Lo más complicado es gestionar facturas de más de una hoja pero como puedes saber las líneas q hay por cada media página lo puedes hacer.
Espero te ayude

No se como puedo replicar toda la información en la parte inferior, puesto que los datos de la cabecera y pie de al factura estan en un encabezado y pie de pagina para que se repitan en todas las hojas.

belpab 28-02-2019 01:26:12

Cita:

Empezado por Casimiro Notevi (Mensaje 530894)
¿Y para cortar el papel? ¿tijeras, cutter, a mano...?

el papel es un A4 perforado por la mitad

Luis M. 28-02-2019 08:50:58

Cita:

Empezado por belpab (Mensaje 530901)
el papel es un A4 perforado por la mitad

Entonces lo que tienes que hacer es modificar el tamaño del papel (página en FastReport), ajustarlo a la medida de lo que quieres imprimir.
Ir haciendo pruebas con los margenes de la cabecera y del pie de página.
Y después que te imprima las dos copias.
Un saludo.

Casimiro Notevi 28-02-2019 10:43:45

Cita:

Empezado por belpab (Mensaje 530901)
el papel es un A4 perforado por la mitad

Cita:

Empezado por Luis M. (Mensaje 530902)
Entonces lo que tienes que hacer es modificar el tamaño del papel (página en FastReport), ajustarlo a la medida de lo que quieres imprimir.

Claro, así es.

movorack 28-02-2019 17:55:24

¿Así es que lo quieres?

Código:

┌─────────┐
│        │
│ P.1 ORG │
│        │
│---------│
│        │
│ P.1 COP │
│        │
└─────────┘

┌─────────┐
│        │
│ P.2 ORG │
│        │
│---------│
│        │
│ P.2 COP │
│        │
└─────────┘


belpab 01-03-2019 17:07:52

Cita:

Empezado por movorack (Mensaje 530904)
¿Así es que lo quieres?

Código:

┌─────────┐
│        │
│ P.1 ORG │
│        │
│---------│
│        │
│ P.1 COP │
│        │
└─────────┘

┌─────────┐
│        │
│ P.2 ORG │
│        │
│---------│
│        │
│ P.2 COP │
│        │
└─────────┘



Esto es exactamente lo que quiero movorack

belpab 11-03-2019 19:50:59

Solución
 
Por si a alguien le puede intresar publico la solucion que le he dado.

Lo primero que he hecho ha sido configurar el informe como un A5 Apaisado.
Despues he modificado los siguientes parametros

Código Delphi [-]
     frxReport1.PrintOptions.Copies := 2;
     frxReport1.PrintOptions.PrintMode := pmJoin;
     frxReport1.PrintOptions.PrintOnSheet:= DMPAPER_A4;// 9 o A4

movorack 11-03-2019 20:07:32

Excelente! ^\||/


La franja horaria es GMT +2. Ahora son las 04:00:42.

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