PDA

Ver la Versión Completa : Imprimir en FastReport 2 copias en la misma hoja por pagina


belpab
27-02-2019, 16:31:14
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í:

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
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
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
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
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
¿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
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
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.
Claro, así es.

movorack
28-02-2019, 17:55:24
¿Así es que lo quieres?


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

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

belpab
01-03-2019, 17:07:52
¿Así es que lo quieres?


┌─────────┐
│ │
│ 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
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

frxReport1.PrintOptions.Copies := 2;
frxReport1.PrintOptions.PrintMode := pmJoin;
frxReport1.PrintOptions.PrintOnSheet:= DMPAPER_A4;// 9 o A4

movorack
11-03-2019, 20:07:32
Excelente! ^\||/