Vergleich CrystalReports zu FastReport: Unterschied zwischen den Versionen

Aus GEVITAS
Wechseln zu: Navigation, Suche
(Eigenschaften)
K (Eigenschaften)
 
(15 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 17: Zeile 17:
 
|Installiert werden muss CrystalReports, wenn man Reports ändern will. Beim Einsatz von CrystalReports 2008 oder höher muss CRRUN12 installiert werden. Dieses benötigt das '''.Net-Framework 3.5'''.
 
|Installiert werden muss CrystalReports, wenn man Reports ändern will. Beim Einsatz von CrystalReports 2008 oder höher muss CRRUN12 installiert werden. Dieses benötigt das '''.Net-Framework 3.5'''.
 
|Installiert werden muss das Programm "GevitasFormPrint.exe". Es genügt allerdings, diese Programmdatei im Update-Ordner abzulegen, dann installiert sich dieses Programm selbst. "GevitasFormPrint.exe" beinhaltet das Ausführen des Reports und den '''Designer'''.
 
|Installiert werden muss das Programm "GevitasFormPrint.exe". Es genügt allerdings, diese Programmdatei im Update-Ordner abzulegen, dann installiert sich dieses Programm selbst. "GevitasFormPrint.exe" beinhaltet das Ausführen des Reports und den '''Designer'''.
 +
|- valign="top"7
 +
|'''Kompatibilät zwischen verschiedenen Daten-Typen'''
 +
|Datenbank-Treiber (MS-SQL, mySQL, Oracle) ist im Report enthalten. Wechsel zwischen den Datenbank-Typen ist problematisch, vor allem, wenn Unterberichte enthalten sind. Gelegentlich Probleme, wenn Entwickler-Datenbank nicht die Kunden-Datenbank ist.
 +
|FastReport hat '''keinen eigenen Datenbank-Treiber'''! Es übernimmt einfach die Daten, die [[REFLEX]] bzw. [[GEVAS-Professional]] zur Verfügung stellt. Damit ist ein Report von FastReport Datenbank-unabhängig!
 
|- valign="top"
 
|- valign="top"
 
|'''Editor/Designer und zugehörigen Report öffnen'''
 
|'''Editor/Designer und zugehörigen Report öffnen'''
Zeile 28: Zeile 32:
 
|'''Unterberichte'''
 
|'''Unterberichte'''
 
|Ja, beliebige Anzahl
 
|Ja, beliebige Anzahl
|Ja, beliebige Anzahl
+
|Ja, beliebige Anzahl. Durch die Bänder '''Sub-Details''' mit bis zu 6 Ebenen entfällt allerdings oft die Notwendigkeit, Unterberichte zu benutzen! '''Sub-Details''' ermöglichen es, unterhalb des Detail-Bandes weitere Unter-Bänder unterzubringen. Beispiel: In einem Angebots-Formular werden die Positionen in einem '''Detail-Band''' ausgegeben. Wenn es zu einem Artikel im '''Detail-Band''' einen Artikel gibt, der eine Paket-Stückliste hat, kann man in einem '''Sub-Details'''-Band diese Artikel auflisten.
 
|- valign="top"
 
|- valign="top"
 
|'''Einzelne Felder "wachsen" nach unten, Felder darunter verschieben sich automatisch'''
 
|'''Einzelne Felder "wachsen" nach unten, Felder darunter verschieben sich automatisch'''
 
|Man muss den Bereich unterteilen.
 
|Man muss den Bereich unterteilen.
|Wenn man die Eigenschaft "Dehnen" einschaltet, dehnt sich ein Feld automatisch, die unten stehenden Felder werden automatisch nach unten verschoben.
+
|Wenn man die Eigenschaft "Dehnen" einschaltet, dehnt sich ein Feld automatisch, die unten stehenden Felder werden automatisch nach unten verschoben. Hat man allerdings mehrere Felder in einem Band, so muss man ein "Child"-Band einfügen, damit sich die unten liegenden Felder verschieben.
 +
 
 +
|- valign="top"
 +
|'''Editieren in der Vorschau'''
 +
|Ja, möglich! Man kann alle Änderungen auch direkt in der Vorschau vornehmen. Das erleichtert die Formatierung, Größenänderung usw. der Objekte.
 +
|Nicht möglich! Dieser Nachteil wird ausgeglichen dadurch, dass die Vorschau sich immer auf den ausgewählten Datensatz (z.B. ein bestimmtes Angebot) bezieht. In CrystalReports© muss man in der Bearbeitung des Reports einen Filter setzen, z.B. die Auftragsnummer. Vergisst man nun, in der endgültigen Version diesen Filter zu entfernen, kann nur das Angebot mit '''dieser Nummer''' ausgegeben werden, bei allen anderen Nummern wird '''nichts''' ausgegeben!
 +
 
 
|- valign="top"
 
|- valign="top"
 
|'''Formeln, Script-Sprache z.B. zum Unterdrücken von Bereichen und Feldern'''
 
|'''Formeln, Script-Sprache z.B. zum Unterdrücken von Bereichen und Feldern'''
 
|Vorhanden, in Crystal-Syntax oder Basic-Syntax.
 
|Vorhanden, in Crystal-Syntax oder Basic-Syntax.
 
|Vorhanden, in Pascal-Syntax, C++-Syntax, Java-Script-Syntax oder Basic-Syntax.
 
|Vorhanden, in Pascal-Syntax, C++-Syntax, Java-Script-Syntax oder Basic-Syntax.
 +
|- valign="top"
 +
|'''Sichtbarkeit der Formeln'''
 +
|Eine Formel wird nur über die Eigenschaft des jeweiligen Felds erkennbar. Versteckte Formeln sind schwer zu finden.
 +
|Im Code-Editor sind alle vorhandenen Codes enthalten.
 
|- valign="top"
 
|- valign="top"
 
|'''Raster für die Objekte'''
 
|'''Raster für die Objekte'''
Zeile 65: Zeile 79:
 
;+ Einfach, keine speziellen Kenntnisse benötigt.
 
;+ Einfach, keine speziellen Kenntnisse benötigt.
 
;- Nur die von GEVITAS festgelegten Tabellen können benutzt werden. Allerdings kann das von GEVITAS schnell angepasst werden.
 
;- Nur die von GEVITAS festgelegten Tabellen können benutzt werden. Allerdings kann das von GEVITAS schnell angepasst werden.
|- valign="top"
 
|'''Kompatibilät zwischen verschiedenen Daten-Typen'''
 
|Datenbank-Treiber (MS-SQL,<mySQL, Oracle) ist im Report enthalten. Wechsel zwischen den Datenbank-Typen ist problematisch.
 
|FastReport hat keinen eigenen Datenbank-Treiber! Es übernimmt einfach die Daten, die [[REFLEX]] bzw. [[GEVAS-Professional]] zur Verfügung stellt. Damit ist ein Report von FastReport Datenbank-unabhängig!
 
 
|- valign="top"
 
|- valign="top"
 
|'''Mehrere Datenbank-Felder miteinander und mit Text verketten'''
 
|'''Mehrere Datenbank-Felder miteinander und mit Text verketten'''
 
|Ja, über eine Formel. Formel muss angelegt werden.
 
|Ja, über eine Formel. Formel muss angelegt werden.
|Ja, über das einfügen des Feldes in ein Textfeld (Memo-Feld). Kann Felder und Text beinhalten.
+
 
 +
Beispiel:
 +
 
 +
if ({MAUFPO.UNTPOSNR} = 0) then "" else ToText({MAUFPO.POSNR},0) + "."
 +
    + iif({MAUFPO.UNTPOSNR} < 10," ","") + ToText({MAUFPO.UNTPOSNR},0);
 +
 
 +
 
 +
|Ja, über das einfügen des Feldes in ein Textfeld (Memo-Feld). Kann Felder und Text beinhalten.  
 +
Beispiel:
 +
[<Positionen."Kapitel">].[<Positionen."PosNr">]
 +
Hier wird das Datenbank-Feld <Positionen."Kapitel"> ausgegeben, dann ein Punkt und direkt dahinter <Positionen."PosNr">.
 +
 
 +
Das Ergebnis ist die Ausgabe von z.B. "1.12"
 +
 
 
|- valign="top"
 
|- valign="top"
 
|'''Formatieren von Objekten'''
 
|'''Formatieren von Objekten'''
Zeile 79: Zeile 102:
 
|- valign="top"
 
|- valign="top"
 
|'''Rahmen, Striche'''
 
|'''Rahmen, Striche'''
|Kennt zwar Rahmen um Felder, richtet diese jedoch nicht automatisch am Inhalt aus. Striche müssen als Linien eingefügt werden, die manchmal ziemlich "fummelig" gezogen werden müssen.  
+
|Kennt zwar Rahmen um Felder, richtet diese jedoch nicht automatisch in der Höhe an der Maximal-Höhe des Bereichs aus. Striche müssen als Linien eingefügt werden, die manchmal ziemlich "fummelig" gezogen werden müssen.  
 
|Rahmen um Felder vergrößern sich automatisch in der Höhe, wenn man die Option "Auf Maximalhöhe dehnen" einschaltet. Man kann Linien verwenden, die Anwendung der Linien ist aber genauso "fummelig" wie in CrystalReports!
 
|Rahmen um Felder vergrößern sich automatisch in der Höhe, wenn man die Option "Auf Maximalhöhe dehnen" einschaltet. Man kann Linien verwenden, die Anwendung der Linien ist aber genauso "fummelig" wie in CrystalReports!
 
|- valign="top"
 
|- valign="top"
Zeile 86: Zeile 109:
 
|Durch eingebaute Summen-Funktion, die optional Übertrag beinhaltet.
 
|Durch eingebaute Summen-Funktion, die optional Übertrag beinhaltet.
 
|- valign="top"
 
|- valign="top"
|''''''
+
|'''Gruppierung'''
|
+
|Beliebige Gruppen können eingefügt werden. Da man im '''Report die Sortierung festlegen kann''', ist der Report '''unabhängig''' von der Abfrage im Programm.
|
+
|Beliebige Gruppen können eingefügt werden. Da der Report von der Sortierung abhängig ist, '''die das Programm festlegt''', ist der Report abhängig von der Abfrage im Programm. Das bedeutet, dass der Report voraussetzt, dass eine Datenbank-Abfrage die Daten '''in einer bestimmten Reihenfolge''' liefert. Das wiederum bedeutet, dass der ausgewählte Report eine Option benötigt, die die Sortierung festlegt.
 +
|- valign="top"
 +
|'''Bereiche Seitenkopf/Seitenfuß'''
 +
|Beliebig viele Bereiche möglich.
 +
|Nur jeweils ein Bereich möglich, allerdings sind Kind-Bänder (Childs) möglich.
 
|- valign="top"
 
|- valign="top"
|''''''
+
|'''Mehrere Detail-Bereiche mit unterschiedlichen Datenquellen'''
|
+
|Kann/Muss mit Unterberichten gemacht werden.
|
+
|Durch einfaches Einfügen eines Detail-Bandes möglich. FastReport arbeitet den ersten Detailsbereich komplett ab (incl. Kopf- und Fußdaten des Detail-Bereichs!), dann den nächsten Detailbereich usw.
 
|- valign="top"
 
|- valign="top"
|''''''
+
|'''Deckblatt/Zusatzblatt''' z.B. für eine Auftrags-Zusammenfassung, Projektbeschreibung, AGB's am Ende usw.
|
+
|Mit Unterberichten kann man zusätzliche Seiten am Anfang oder Ende des eigentlichen Reports bilden. Probleme bereiten dabei die Kopf- und Fußzeilen, wenn die der Unterbericht über mehrere Seiten geht.
|
+
|Ein Report kann beliebige viele Seite ("Pages") haben. Jede Page ist dabei ein eigenständiger Report mit Kopf- und Fußteilen, Master, 1 usw. Details
 
|- valign="top"
 
|- valign="top"
|''''''
+
|'''Export'''
|
+
|Alle gängigen Formate wie PDF, Excel&copy;, Word&copy;, Text usw.
|
+
|Alle gängigen Formate wie PDF, Excel&copy;, Word&copy;, Text usw.
 
|- valign="top"
 
|- valign="top"
|''''''
+
|'''Grafiken'''
|
+
|BMP, TIF, JPG, PNG. Qualität einstellbar in Originalqualität oder gepacktem Format (kleiner aber pixelig).
|
+
|BMP, TIF, JPG, PNG, WMF, EMF. Qualität stufenlos einstellbar.
 
|- valign="top"
 
|- valign="top"
|''''''
+
|'''Summen von Gruppen im Gruppenkopf'''
|
+
|Problemlos, Report wird automatisch zwei mal ausgeführt (1 x zum Rechnen, 1 x zum Ausgeben).
|
+
|Nur über Code möglich, Report-Option "Zweipass" muss extra eingeschaltet werden.
 
|- valign="top"
 
|- valign="top"
|''''''
+
|'''Mehrspaltiger Reports'''
|
+
|Möglich
|
+
|Möglich
 
|- valign="top"
 
|- valign="top"
|''''''
+
|'''Standard-Formular-Texte'''
|
+
|Wird nicht unterstützt
|
+
|Man kann Standard-Formular-Texte für die verschiedenen Formulare festlegen.
 +
 
 +
Einzelheiten dazu finden Sie '''[[FastReport: Standard-Formular-Texte|hier]]'''.
 
|- valign="top"
 
|- valign="top"
|''''''
+
|'''Geschwindigkeit'''
|
+
|Referenz-Report benötigt ca. 5 Sekunden, beim ersten Mal ca. 9 Sekunden.
|
+
|Referenz-Report benötigt ca. 1 Sekunde.
 
|- valign="top"
 
|- valign="top"
 
|''''''
 
|''''''

Aktuelle Version vom 10. Dezember 2015, 01:10 Uhr

1 Allgemeines

Dieser Artikel beschreibt die Unterschiede zwischen CrystalReports und FastReport.

2 Eigenschaften

Eigenschaft CrystalReports FastReport
Lizenz für den Editor/Designer Kostenpflichtig, ca. 400 € Kostenlos in der GEVITAS-Lizenz enthalten
Installation Installiert werden muss CrystalReports, wenn man Reports ändern will. Beim Einsatz von CrystalReports 2008 oder höher muss CRRUN12 installiert werden. Dieses benötigt das .Net-Framework 3.5. Installiert werden muss das Programm "GevitasFormPrint.exe". Es genügt allerdings, diese Programmdatei im Update-Ordner abzulegen, dann installiert sich dieses Programm selbst. "GevitasFormPrint.exe" beinhaltet das Ausführen des Reports und den Designer.
Kompatibilät zwischen verschiedenen Daten-Typen Datenbank-Treiber (MS-SQL, mySQL, Oracle) ist im Report enthalten. Wechsel zwischen den Datenbank-Typen ist problematisch, vor allem, wenn Unterberichte enthalten sind. Gelegentlich Probleme, wenn Entwickler-Datenbank nicht die Kunden-Datenbank ist. FastReport hat keinen eigenen Datenbank-Treiber! Es übernimmt einfach die Daten, die REFLEX bzw. GEVAS-Professional zur Verfügung stellt. Damit ist ein Report von FastReport Datenbank-unabhängig!
Editor/Designer und zugehörigen Report öffnen Über das Windows-Startmenü öffnen, mit Datei-->Öffnen zum Verzeichnis wechseln und Report öffnen. Über den Druck-Dialog, Button Designer klicken. Report ist dann schon geöffnet.
Firmendaten im Report, Logo, Seitenfuß mit Firmen-Informationen Seitenkopf mit Firmen-Logo muss in jedem Report angegeben werden. Seitenfuß kann mit Formeln bestückt werden, die vom Programm dann mit den Parametern gefüllt werden. Muss in jedem Report gemacht werden. Möglichkeit der Vererbung eines Basis-Reports, siehe Video FastReport Teil 10: Vererbung, Erstellen und Verwenden eines Basis-Reports.
Unterberichte Ja, beliebige Anzahl Ja, beliebige Anzahl. Durch die Bänder Sub-Details mit bis zu 6 Ebenen entfällt allerdings oft die Notwendigkeit, Unterberichte zu benutzen! Sub-Details ermöglichen es, unterhalb des Detail-Bandes weitere Unter-Bänder unterzubringen. Beispiel: In einem Angebots-Formular werden die Positionen in einem Detail-Band ausgegeben. Wenn es zu einem Artikel im Detail-Band einen Artikel gibt, der eine Paket-Stückliste hat, kann man in einem Sub-Details-Band diese Artikel auflisten.
Einzelne Felder "wachsen" nach unten, Felder darunter verschieben sich automatisch Man muss den Bereich unterteilen. Wenn man die Eigenschaft "Dehnen" einschaltet, dehnt sich ein Feld automatisch, die unten stehenden Felder werden automatisch nach unten verschoben. Hat man allerdings mehrere Felder in einem Band, so muss man ein "Child"-Band einfügen, damit sich die unten liegenden Felder verschieben.
Editieren in der Vorschau Ja, möglich! Man kann alle Änderungen auch direkt in der Vorschau vornehmen. Das erleichtert die Formatierung, Größenänderung usw. der Objekte. Nicht möglich! Dieser Nachteil wird ausgeglichen dadurch, dass die Vorschau sich immer auf den ausgewählten Datensatz (z.B. ein bestimmtes Angebot) bezieht. In CrystalReports© muss man in der Bearbeitung des Reports einen Filter setzen, z.B. die Auftragsnummer. Vergisst man nun, in der endgültigen Version diesen Filter zu entfernen, kann nur das Angebot mit dieser Nummer ausgegeben werden, bei allen anderen Nummern wird nichts ausgegeben!
Formeln, Script-Sprache z.B. zum Unterdrücken von Bereichen und Feldern Vorhanden, in Crystal-Syntax oder Basic-Syntax. Vorhanden, in Pascal-Syntax, C++-Syntax, Java-Script-Syntax oder Basic-Syntax.
Sichtbarkeit der Formeln Eine Formel wird nur über die Eigenschaft des jeweiligen Felds erkennbar. Versteckte Formeln sind schwer zu finden. Im Code-Editor sind alle vorhandenen Codes enthalten.
Raster für die Objekte Einstellbar Einstellbar
Seitengröße einstellbar Prinzipiell ja. Probleme bei kleinen Formaten, wie z.B. Etiketten. Frei definierbar, keine Probleme bei kleinen Formaten.
Barcode Über installierten Barcode-Font. Berechnung des Barcodes über Formel. Eigenes Objekt. Kein extra Font notwendig. Berechnung des Barcodes automatisch.
QR-Code Nicht vorhanden. Eigenes Objekt. Kein extra Font notwendig. Berechnung automatisch. Anzahl Pixel und Zoom einstellbar.
DataMatrix Nicht vorhanden. Eigenes Objekt. Kein extra Font notwendig. Berechnung automatisch. Anzahl Pixel und Zoom einstellbar.
Datenbank-Struktur, Auswahl und Verknüpfungen der Tabellen Muss selbst gemacht werden. Dazu sind Datenbank-Kenntnisse notwendig.
+ Flexibel, man kann eigene Verknüpfungen erstellen
- Man benötigt Datenbank-Kenntnisse
Wird vom Programm automatisch vorgegeben. Es sind nur die Tabellen sichtbar, die zum jeweiligen Report passen.
+ Einfach, keine speziellen Kenntnisse benötigt.
- Nur die von GEVITAS festgelegten Tabellen können benutzt werden. Allerdings kann das von GEVITAS schnell angepasst werden.
Mehrere Datenbank-Felder miteinander und mit Text verketten Ja, über eine Formel. Formel muss angelegt werden.

Beispiel:

if ({MAUFPO.UNTPOSNR} = 0) then "" else ToText({MAUFPO.POSNR},0) + "." 
    + iif({MAUFPO.UNTPOSNR} < 10," ","") + ToText({MAUFPO.UNTPOSNR},0);


Ja, über das einfügen des Feldes in ein Textfeld (Memo-Feld). Kann Felder und Text beinhalten.

Beispiel:

[<Positionen."Kapitel">].[<Positionen."PosNr">]

Hier wird das Datenbank-Feld <Positionen."Kapitel"> ausgegeben, dann ein Punkt und direkt dahinter <Positionen."PosNr">.

Das Ergebnis ist die Ausgabe von z.B. "1.12"

Formatieren von Objekten Schriftart, Schriftgröße, Ausrichtung links, rechts, zentriert, oben, mittig, unten. Schriftart, Schriftgröße, Ausrichtung links, rechts, zentriert, oben, mittig, unten.
Rahmen, Striche Kennt zwar Rahmen um Felder, richtet diese jedoch nicht automatisch in der Höhe an der Maximal-Höhe des Bereichs aus. Striche müssen als Linien eingefügt werden, die manchmal ziemlich "fummelig" gezogen werden müssen. Rahmen um Felder vergrößern sich automatisch in der Höhe, wenn man die Option "Auf Maximalhöhe dehnen" einschaltet. Man kann Linien verwenden, die Anwendung der Linien ist aber genauso "fummelig" wie in CrystalReports!
Summenbildung Durch eingebaute Summen-Funktion oder per Formel. Formel: Es müssen drei Formeln eingefügt werden (Auf 0 stellen, addieren, ausgeben). Durch eingebaute Summen-Funktion, die optional Übertrag beinhaltet.
Gruppierung Beliebige Gruppen können eingefügt werden. Da man im Report die Sortierung festlegen kann, ist der Report unabhängig von der Abfrage im Programm. Beliebige Gruppen können eingefügt werden. Da der Report von der Sortierung abhängig ist, die das Programm festlegt, ist der Report abhängig von der Abfrage im Programm. Das bedeutet, dass der Report voraussetzt, dass eine Datenbank-Abfrage die Daten in einer bestimmten Reihenfolge liefert. Das wiederum bedeutet, dass der ausgewählte Report eine Option benötigt, die die Sortierung festlegt.
Bereiche Seitenkopf/Seitenfuß Beliebig viele Bereiche möglich. Nur jeweils ein Bereich möglich, allerdings sind Kind-Bänder (Childs) möglich.
Mehrere Detail-Bereiche mit unterschiedlichen Datenquellen Kann/Muss mit Unterberichten gemacht werden. Durch einfaches Einfügen eines Detail-Bandes möglich. FastReport arbeitet den ersten Detailsbereich komplett ab (incl. Kopf- und Fußdaten des Detail-Bereichs!), dann den nächsten Detailbereich usw.
Deckblatt/Zusatzblatt z.B. für eine Auftrags-Zusammenfassung, Projektbeschreibung, AGB's am Ende usw. Mit Unterberichten kann man zusätzliche Seiten am Anfang oder Ende des eigentlichen Reports bilden. Probleme bereiten dabei die Kopf- und Fußzeilen, wenn die der Unterbericht über mehrere Seiten geht. Ein Report kann beliebige viele Seite ("Pages") haben. Jede Page ist dabei ein eigenständiger Report mit Kopf- und Fußteilen, Master, 1 usw. Details
Export Alle gängigen Formate wie PDF, Excel©, Word©, Text usw. Alle gängigen Formate wie PDF, Excel©, Word©, Text usw.
Grafiken BMP, TIF, JPG, PNG. Qualität einstellbar in Originalqualität oder gepacktem Format (kleiner aber pixelig). BMP, TIF, JPG, PNG, WMF, EMF. Qualität stufenlos einstellbar.
Summen von Gruppen im Gruppenkopf Problemlos, Report wird automatisch zwei mal ausgeführt (1 x zum Rechnen, 1 x zum Ausgeben). Nur über Code möglich, Report-Option "Zweipass" muss extra eingeschaltet werden.
Mehrspaltiger Reports Möglich Möglich
Standard-Formular-Texte Wird nicht unterstützt Man kann Standard-Formular-Texte für die verschiedenen Formulare festlegen.

Einzelheiten dazu finden Sie hier.

Geschwindigkeit Referenz-Report benötigt ca. 5 Sekunden, beim ersten Mal ca. 9 Sekunden. Referenz-Report benötigt ca. 1 Sekunde.
'
'
'

3 Links