Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Verschiedene Reports gleichzeitig drucken - FastReport (https://www.delphipraxis.net/182488-verschiedene-reports-gleichzeitig-drucken-fastreport.html)

Jens Hartmann 28. Okt 2014 16:41

Datenbank: Access • Version: 2007 • Zugriff über: TADOQuery

Verschiedene Reports gleichzeitig drucken - FastReport
 
Hallo zusammen,

ich hoffe das ich hier richtig bin. Aber ich habe ein Aufgabe in FastReport, die ich aktuell noch nicht lösen kann. Ich habe eine Kundendatenbank in der verschiedene Daten hinterlegt sind. Diese werden in einem VirtualStringTree als Tree dargestellt. Der Aufbau ist hier in etwa wie folgt:


Code:
-Kundendaten (1)
  -Objektdaten (1)
    -Systemdaten 1
      -Report (1)
      -Report (n)
    -Systemdaten 2     
      -Report (1)
      -Report (n)
...
...

-Kundendaten (n)
  -Objektdaten (n)0
    -Systemdaten 1
      -Report (1)
      -Report (n)
    -Systemdaten 2     
      -Report (1)
      -Report (n)

Jenachdem in welcher Ebene ich mich befinde (Focused Node), möchte ich die Daten der Untergeordneten Reportdatei drucken. Die Zusammenstellung der Daten funktioniert über verschieden Querys und wird über frxDBDataSet an die Reports übergeben.

Mein Problem ist jetzt, ich möchte über die Menüfunktion drucken, je nach ausgewähltem Node alle untergeordneten Reports drucken, ohne jedesmal das Print Dialog etc. bestätigen zu müssen.

Ich habe das ganze mit
Delphi-Quellcode:
Print.ShowDialogs := false
versucht, jedoch ohne erfolg. Hat hier jemand einen Lösungsansatz?

Danke und Gruß jens

Der schöne Günther 28. Okt 2014 16:52

AW: Verschiedene Reports gleichzeitig drucken - FastReport
 
Ich stelle mich immer ziemlich dumm an, Fragen zu verstehen- Aber was genau hat deine Kunden-Datenbank oder der VirtualStringTree damit zu tun?

Du lässt den Benutzer etwas tun das zur Folge hat, dass nun z.B. drei Report-Dokumente gedruckt werden sollen. Der Aufruf
Delphi-Quellcode:
TFrxReport.Print()
ist nicht blockierend. Du kannst nach dem Aufruf von Print() problemlos den Report neu belegen und wieder drucken.

Oder willst du alles in einen einzigen Druckauftrag statt mehrerer Einträge in der Druckerwarteschlange?

Und
Delphi-Quellcode:
myReport.PrintOptions.ShowDialog := False;
myReport.Print();
funktioniert eigentlich auch. Zumindest tat es das bei mir immer unter Fast-Report 4 und 5.


Welche Version ist es bei dir?

Jens Hartmann 28. Okt 2014 19:33

AW: Verschiedene Reports gleichzeitig drucken - FastReport
 
Hallo, danke erstmal.

Funktioniert jetzt auch. Lag am Drucker. Ich habe einen pdf-Drucker als Drucker verwendet und der benötigte zwingend die Dateinamen.

Kann man in irgendeiner Art die Funktion einer Druckers Simulieren um auch mal z.B. 100 Dokumente an einen Drucker zu senden.

So eine Art Virtuellen Drucker. Oder kann man an einen PDF Drucker auch die File Informationen etc. geben um den mehrfach Druck zu testen?

Danke und Gruß Jens

Der schöne Günther 28. Okt 2014 21:17

AW: Verschiedene Reports gleichzeitig drucken - FastReport
 
Also war der Dialog auch nicht von Fast Report selber sondern vom PDF-Drucker. In dem Moment war es quasi schon "gedruckt", zumindest schon in der Druckerwarteschlange.

Ich weiß nicht mehr, was ich vorhin auf der Arbeit für einen PDF-Drucker hatte, ich glaube das war irgendeine Beta von "PDF Creator". Der hat beispielsweise auch selbst in seinem "Speichern unter"-Dialog angezeigt "Da sind noch drei weitere PDFs in meiner Warteschlange".

Du kannst den bestimmt auch so einstellen direkt in ein voreingestelltes Verzeichnis mit der aktuellen Zeit als Dateinamen zu drucken, ohne jeglichen Dialog dazwischen.

Sir Rufo 28. Okt 2014 21:36

AW: Verschiedene Reports gleichzeitig drucken - FastReport
 
pdfCreator, ja der kann es

Jasocul 29. Okt 2014 06:39

AW: Verschiedene Reports gleichzeitig drucken - FastReport
 
Wenn ich das richtig verstehe, geht es nur darum, dass man sehen kann, ob alle Ausdrucke rauskommen würden. Es soll nicht wirklich gedruckt werden.

Ich würde einfach den Spooler anhalten (oder den Drucker ausstellen) und schauen, wie die Druckerwarteschlange aussieht. Wenn da die 100 erwarteten Druckjobs drin sind, sollte es doch passen.

Nersgatt 29. Okt 2014 07:35

AW: Verschiedene Reports gleichzeitig drucken - FastReport
 
Du kannst mit FastReport auch sogenannte Composite Reports (Batch-Reports) erstellen. Damit kannst Du verschiedenste Reports zu einem großen Report zusammenfügen und dann auf einmal Anzeigen (Vorschau) oder Drucken, als wäre es nur ein Report.
Dazu gibt es ein entsprechendes Kapitel in der Fast-Report Doku.

Jens Hartmann 29. Okt 2014 22:15

AW: Verschiedene Reports gleichzeitig drucken - FastReport
 
Danke nochmal zusammen.

Mit pdfCreater funktioniert es zu 100%. Jetzt kann ich sehen, was alles gekommen ist und ob die Dokumente in Ordnung sind. Weitere Vorteil, ich speicher mit pdfCreater Automatisch und der Dateiname wird als DateTime(Now).pdf ausgegeben. Dadurch kann ich sogar noch sehen, wie lange die Druckprozedure ca. gedauert hat.

Danke und Gruß Jens


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:26 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz