Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   RaveReport imprimir varios detalles (https://www.clubdelphi.com/foros/showthread.php?t=21035)

Franklim 04-05-2005 16:31:14

RaveReport imprimir varios detalles
 
Hola amigos, tengo el siguiente problema :

Uso RaveReport 5.0, Delphi 7 y pretendo hacer lo siguiente :
Imprimir en una página los datos del cliente y en otra una carta que se le envía.
Supongamos que tengo 8 clientes pues el rave debería tener 16 páginas, tuplas de la forma usuario-carta de manera que las páginas impares fuesen los datos de los usuarios y las pares las cartas.
De momento lo que he conseguido es que me previsualice primero las 8 páginas de los clientes y a continuación las 8 cartas y eso no me vale. Debería tenerlas intercaladas.

La estructura que uso es la siguiente :
-RR_Detalle
-Page1
-Region1
-DataBand1
DataText...
-Page2
-Region1
-DataBand1
BitMap1 que es la carta

Un saludo y muchas gracias por la ayuda

Loviedo 04-05-2005 17:12:02

A lo mejor te sirve algo parecido a esto:
Código Delphi [-]
procedure TForm1.Imprimedocumento1;
var
  NDRStream:  TMemoryStream;
begin
  NDRStream := TMemoryStream.Create;
  try
    RvProject1.Engine := RvNDRWriter1;
    RvProject1.open;
    while not Table1.eof do
      begin
        RvProject1.SelectReport('Detalle',true);
        RvProject1.SaveToStream(NDRStream);
        RvNDRWriter1.Stream:=NDRStream;
        RvProject1.Execute;
        RvRenderPrinter1.Render(NDRStream);
        RvProject1.SelectReport('Carta',true);
        RvProject1.SaveToStream(NDRStream);
        RvNDRWriter1.Stream:=NDRStream;
        RvProject1.Execute;
        RvRenderPrinter1.Render(NDRStream);
        Table1.next;
        Application.ProcessMessages;
      end;
    RvProject1.close;
  finally
    NDRStream.Free;
  end;
end;
Saludos.

Loviedo 04-05-2005 17:50:30

En la Demo del Rave puedes ver también un report con múltiples páginas.
Saludos.

Franklim 05-05-2005 11:11:27

Gracias por sus respuestas, lo medio solucioné pero sigo teniendo un pequeño problema. Primero les explico la solución por si les interesa :

Coloqué en Page1 :

GotoMode = gmCallEach
GotoPage = Page2

y en Page2 :

GotoMode = gmGotoDone

Los resultados para 3 clientes son :
Cliente1
Carta
Cliente2
Carta
Cliente3
Carta
Carta

y los correctos deberían ser :
Cliente1
Carta
Cliente2
Carta
Cliente3
Carta

Lo que entiendo que hace es que cada vez que imprime un cliente va a la página 2 e imprime una carta y eso es correcto, pero cuando llega al último cliente, va a la página 2 e imprime la carta y después vuelve a imprimir otra carta, es como que entiende que la página 1 terminó y ahora le toca imprimir la página 2. Si alguien me puede ayudar se lo agradecería.

Saludos y muchas gracias

Franklim 05-05-2005 17:01:30

Lo he solucionado, les cuento, el problema estaba en que en la propiedad pagelist del report estaban las páginas 1 y 2 y solo debía estar la 1 ya que desde la 1 llamo a la 2 para que se imprima cuando yo quiero.


Un saludo y muchas gracias.


La franja horaria es GMT +2. Ahora son las 04:23:57.

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