Production Suite

Crystal Report

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

Copies

Lesen/Schreiben, Integer

Anzahl er zu druckenden Kopien. Wird nur beim Ausdruck für einen Drucker verwendet.

DocEntry

Lesen/Schreiben, Integer

Die Eigenschaft gibt die interne ID eines Einkaufs- oder Verkaufsbelegs an, um ein spezifisches Dokument zu öffnen.

ExportButtonEnabled

Lesen/Schreiben, Bool

Legt fest, ob das Vorschaufenster über einen Button zum exportieren des Reports verfügen soll.

IsDraft

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 *FALSE.

PaperSource

Lesen/Schreiben, Integer

Legt das Ausgabefach des Druckers fest

1 = Upper
2 = Lower
3 = Middle
4 = Manual
5 = Evelope
6 = EnvManual
7 = Auto
8 = Tractor
9 = SmallFmt
10 = LargeFmt
11 = LargeCapacity
14 = Casette
15 = FormSource
7 ist der Unterlassungswert (wenn die Eigenschaft nicht gesetzt wird).

PDFFilePath

Lesen/Schreiben, String

Gibt einen gültigen Dateipfad an, der beim PDF-Druck die pdf Datei dort ablegt.

PrintButtonEnabled

Lesen/Schreiben, Bool

Legt fest, ob das Vorschaufenster über einen Button zum drucken des Reports verfügen soll.

PrinterName

Lesen/Schreiben, String

Gibt den Druckernamen an, der für den Ausdruck verwendet werden soll. Wird die Eigenschaft nicht gesetzt, wird des Standarddrucker verwendet.

PrinterNameFirstPage

Lesen/Schreiben, String

Gibt den Druckernamen an, der für den Ausdruck der erstenSeite verwendet werden soll.

ReportCaption

Lesen/Schreiben, String

Text der im Kopf des Reportfensters in der Druckvorschau anezeigt wird.

ReportType

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.
Beispiele:
Kundenauftrag, Typ Artikel: RDR2
Kundenauftrag, Typ Service: RDR1
Bestellung, Typ Artikel: POR2

Methoden

Parameterformat


AddParameterName

String

Fügt einen Parameter zur Parameternamenliste des Crystal Reports hinzu.

AddParameterValue

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.

Close

kein Parameter

Schließt das Objekt

Open

DocCode, String

Öffnet das Dokument mit dem angegebenen Parameter. Der Parameter kann entweder den ReportType des Einkaufs- oder Verkaufsbelegs enthalten oder einen gültiger Dateipfad zu einer <Name>.rpt Datei.

Wird der ReportType eines Einkaufs- oder Verkaufsbelegs angegeben sind folgende Werte gültig:
"INV2" ' Ausgangsrechnung (Artikel)
"RDR2" ' Kundenauftrag (Artikel)
"DLN2" ' Lieferung (Artikel)
"POR2" ' Bestellung (Artikel)
"QUT2" ' Angebot (Artikel)
"RIN2" ' Ausgangsgutschrift (Artikel)
"RDN2" ' Verkaufsretoure (Artikel)
"PDN2" ' Wareneingang (Artikel)
"RPD2" ' Einkaufsretoure (Artikel)
"DPI2" ' Ausgangsanzahlungsrechnung (Artikel)
"DPO2" ' Eingangsanzahlungsrechnung (Artikel)

PrintToPreview

kein Parameter

Zeigt den Crystal Report im Vorschfenster an

PrintToPrinter

kein Parameter

Gibt den Druck des Crystal Reports auf einem Drucker aus.

PrintToPDF

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