Sie können Crystal Report Definitionen aus unterschiedlichen Quellen erzeugen, in der Vorschau anzeigen, als PDF erzeugen und anzeigen oder drucken.
Folgende Quellen von Crystal Report Definitionen können verwendet werden:
-
Verwenden einer im Dateisystem abgeleten .rpt Datei.
-
Verwenden einer im Netzwerkverzeichnis abgeleten .rpt Datei.
-
Verwenden eines in der Business One Firmendatenbank gespeicherten Einkaufs- oder Verkaufsdokuemtes
Define <Name> BO *CRYSTALREPORT
Eigenschaften
|
Eigenschaften |
Zuriff und Format |
Beschreibung |
|---|---|---|
|
|
Lesen/Schreiben, Integer |
Anzahl er zu druckenden Kopien. Wird nur beim Ausdruck für einen Drucker verwendet. |
|
|
Lesen/Schreiben, Integer |
Die Eigenschaft gibt die interne ID eines Einkaufs- oder Verkaufsbelegs an, um ein spezifisches Dokument zu öffnen. |
|
|
Lesen/Schreiben, Bool |
Legt fest, ob das Vorschaufenster über einen Button zum exportieren des Reports verfügen soll. |
|
|
Lesen/Schreiben, Bool |
Die Eigenschaft legt fest, ob eine Einkaufs- oder Verkaufsbeleg als “geparkter Beleg” geöffnet werden soll. Die Eigenschaft muss vor dem Öffnen des Reports festgelegt werden. Der Standardwert ist |
|
|
Lesen/Schreiben, Integer |
Legt das Ausgabefach des Druckers fest
|
|
|
Lesen/Schreiben, String |
Gibt einen gültigen Dateipfad an, der beim PDF-Druck die pdf Datei dort ablegt. |
|
|
Lesen/Schreiben, Bool |
Legt fest, ob das Vorschaufenster über einen Button zum drucken des Reports verfügen soll. |
|
|
Lesen/Schreiben, String |
Gibt den Druckernamen an, der für den Ausdruck verwendet werden soll. Wird die Eigenschaft nicht gesetzt, wird des Standarddrucker verwendet. |
|
|
Lesen/Schreiben, String |
Gibt den Druckernamen an, der für den Ausdruck der erstenSeite verwendet werden soll. |
|
|
Lesen/Schreiben, String |
Text der im Kopf des Reportfensters in der Druckvorschau anezeigt wird. |
|
|
Lesen/Schreiben, String |
Der Reporttype entspricht der Tabellen ID der Dokumentzeile eines zu öffnenden Einkaufs- oder Verkaufsbelegs sowie der “Artikel/Serviceart” des Dokumentes. Service-Dokumente besitzen den Wert 1, Artikel-Dokumente den Wert 2.
|
|
Methoden |
Parameterformat |
|
|---|---|---|
|
|
String |
Fügt einen Parameter zur Parameternamenliste des Crystal Reports hinzu. |
|
|
String |
Fügt einen Wert zur Parameterwerteliste des Crystal Reports hinzu. Die Anzahl der Einträge in der Parameternamenliste muss gleich der Anzahl der Einträge in der Parameterwerteliste sein. |
|
|
kein Parameter |
Schließt das Objekt |
|
|
|
Öffnet das Dokument mit dem angegebenen Parameter. Der Parameter kann entweder den Wird der |
|
|
kein Parameter |
Zeigt den Crystal Report im Vorschfenster an |
|
|
kein Parameter |
Gibt den Druck des Crystal Reports auf einem Drucker aus. |
|
|
kein Parameter |
Gibt den Druck des Crystal Reports als pdf Datei aus. |
Beispiel: Öffnen eines Kundenauftrages in der Vorschau
'Wir wollen nur Menü-Events, die für das Drucken relevant sind
' Event für die Vorschau'
If *LASTMENUID NE "519"
'' Event für den Duck auf einen Drucker
If *LASTMENUID NE "520"
' Event für den Druck als PDF Dokument
If *LASTMENUID NE "7176"
EXIT
End If
End If
End If
'Variablen zu übergabe an eine Sub Funktion
' Die B1 DI-API ID des Geschäftsobjektes "Kundenauftrag"
Define objectId.*Global VARIABLE STRING(20)
' Der Tabellenname der Kundenauftragszeile
Define tableID.*Global VARIABLE STRING(20)
"17" MOVE ObjectId
"RDR2" MOVE tableID
' Führt die Druckfunktion aus
CALL "CR_Print"
'Bricht den Event MenuClick Before ab. Dadurch wird verhidert das B1 den After Event erhält und den Standarddruck auslöst.
CANCELEVENT
BAB Sub Funktion "CR_Print"
'Variablen zu Übernahme der Parameter der aufrufenden Funktion
' Die B1 DI-API ID des Geschäftsobjektes "Kundenauftrag"
Define objectId.*Global VARIABLE STRING(20)
' Der Tabellenname der Kundenauftragszeile
Define tableID.*Global VARIABLE STRING(20)
'Variable für die interne ID des Kundenauftrages
Define docEntry VARIABLE NUMERIC(12.0)
'SQL Ergebnistabelle
Define rs SQLRESULT
'Instanz des Crystal Report Dokuments
Define oCR BO *CRYSTALREPORT
'Holt die interne ID des Kundenauftrages vom Form 139
*FORM.DocEntry MOVE docEntry
'Wenn sich das Fentser im Hinzufügemodus befindet, dann soll es als
'geparkter Beleg gedruckt werden.
If *FORMMODE EQ *ADD-MODE
'Setzt die Eigenschaft "IsDraft" auf Wahr
*TRUE MOVE oCR.IsDraft
'Setzt die B1 DI-API ID des Geschäftsobjektes "geparkter Beleg"
"112" MOVE ObjectId
End If
'Übergibt die Kundenauftrag ID an den Crystal Report
docEntry MOVE oCR.DocEntry
'Übergibt den Tabellenname als "ReportType" an den Crystal Report
tableID MOVE oCR.ReportType
'Öffnet das Crystal Report Objekt
tableID DO oCR.Open
'Übergibt den 1. Paramater an den Crystal Report
"DocKey@" DO oCR.AddParameterName
docEntry DO oCR.AddParameterValue
'Übergibt den 2. Paramater an den Crystal Report
"ObjectId@" DO oCR.AddParameterName
objectId DO oCR.AddParameterValue
' Öffnet die Vorschau
If *LASTMENUID EQ "519"
DO oCR.PrintToPreview
End If
' Druckt das Dokument auf dem Standard-Drucker
If *LASTMENUID EQ "520"
DO oCR.PrintToPrinter
End If
'Gibt den Druck als PDF aus
If *LASTMENUID EQ "7176"
DO oCR.PrintToPDF
End If