Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
QR REPORT
|
QR REPORT ( {Tabellenname ;} Dokumentname {; Methodenname}{; *} ) | ||||||||
Parameter | Typ | Beschreibung | ||||||
Tabellenname | Tabelle |
![]() |
Tabelle für den Bericht, ohne Angabe Standardtabelle | |||||
Dokumentname | String |
![]() |
Zu ladendes Dokument Schnellbericht | |||||
Methodenname | String |
![]() |
Name der aufzurufenden Methode | |||||
* | Operator |
![]() |
Druckdialoge löschen | |||||
QR REPORT druckt einen Bericht für Tabellenname, der mit dem Schnellberichteditor erstellt wurde. Mit diesem Editor können Benutzer ihre eigenen Berichte erstellen. Weitere Informationen dazu finden Sie im Abschnitt Schnellberichte des Handbuchs 4D Designmodus.
Hinweise:
Dokumentname (String) ist ein mit dem Schnellberichteditor erstellter und gesicherter Bericht. Dabei werden die Formatierungen des Berichts gesichert, nicht die darin enthaltenen Datensätze.
Ist Dokumentname leer (""), öffnet QR REPORT den Standard-Öffnen Dialog und der Benutzer kann den Bericht zum Drucken auswählen.
Gibt Dokumentname ein Dokument an, das nicht vorhanden ist, z.B. Char(1), wird der Schnellberichteditor geöffnet.
Der Parameter Methodenname gibt eine 4D Projektmethode an, die ausgeführt wird, wenn ein Befehl des Schnellberichteditors durch Auswählen eines Menübefehls oder Anklicken einer Schaltfläche aufgerufen wird. Dieser Parameter ist die Entsprechung zum Befehl QR ON COMMAND im Rahmen des Dialogfensters Schnellberichteditor (QR ON COMMAND funktioniert nur für eingebundene Bereiche). Methodenname empfängt zwei Parameter:
Parameter | Typ | Beschreibung | |||||||||||||||||||||
$1 | Lange Ganzzahl | Referenz des Bereichs | |||||||||||||||||||||
$2 | Lange Ganzzahl | Nummer des ausgewählten Befehls. Sie können diesen Wert mit den Konstanten unter dem Thema QR Befehle vergleichen (nur aufgelistete Ereignisse werden unterstützt):
|
Hinweis: Wenn Sie Ihre Anwendung kompilieren, müssen Sie die Parameter $1 und $2 explizit als Lange Ganzzahl deklarieren, auch wenn Sie diese nicht benutzen.
Wollen Sie den anfangs vom Benutzer gewählten Befehl ausführen, verwenden Sie für die Methode Methodenname folgende Anweisung:
QR EXECUTE COMMAND($1;$2)
Ist der Parameter Methodenname ein leerer String ("") oder wird er weggelassen, wird keine Methode aufgerufen und die Standardoperation von QR REPORT angewandt.
Ist ein Bericht ausgewählt, erscheinen die Dialogfenster zum Drucken. Mit dem Parameter * unterdrücken Sie die Druckdialoge. 4D benutzt dann die Druckeinstellungen, die bei der Erstellung des Berichts angegeben wurden.
Ist der Schnellberichteditor nicht beteiligt, hat die Variable OK den Wert 1, wenn ein Bericht gedruckt wird; den Wert 0 (Null), wenn nicht gedruckt wird (der Benutzer hat z.B. im Druckdialog auf die Schaltfläche Abbrechen geklickt).
4D Server: Dieser Befehl lässt sich auf 4D Server im Rahmen einer Serverprozedur ausführen. In diesem Kontext müssen Sie folgendes beachten:
Folgendes Beispiel lässt den Benutzer die Tabelle [People] suchen und druckt dann automatisch den Bericht “Detailliste”:
QUERY([People])
If(OK=1)
QR REPORT([People];"Detailliste";*)
End if
Folgendes Beispiel lässt den Benutzer die Tabelle [People] suchen und dann den Bericht für den Druck auswählen:
QUERY([People])
If(OK=1)
QR REPORT([People];"")
End if
Folgendes Beispiel lässt den Benutzer die Tabelle [People] suchen und zeigt dann den Berichteditor an, so dass der Benutzer beliebige Berichte erstellen, sichern, laden und drucken kann:
QUERY([People])
If(OK=1)
QR REPORT([People];Char(1))
End if
Siehe Beispiel zum Befehl SET FIELD RELATION.
Sie wollen den Zeichensatz in einem Schnellbericht, der über QR REPORT aufgerufen wird, in Mac Roman ändern:
QR REPORT([MyTable];Char(1);"myCallbackMeth")
Die Methode myCallbackMeth konvertiert den Bericht, wenn er erzeugt wird:
C_LONGINT($1;$2)
If($2=qr cmd generate) //wurde ein Bericht generiert
C_BLOB($myblob)
C_TEXT($path;$text)
C_LONGINT($type)
QR EXECUTE COMMAND($1;$2) //den Befehl ausführen
QR GET DESTINATION($1;$type;$path) //Ziel finden
If(($type=qr HTML file)|($type=qr text file))
DOCUMENT TO BLOB($path;$myblob)
//Konvertieren in Text in UTF-8
$text:=Convert to text($myblob;"UTF-8")
//Zeichensatz MacRoman verwenden
CONVERT FROM TEXT($text;"MacRoman";$myblob)
//Rückgabe des konvertierten Berichts
BLOB TO DOCUMENT($path;$myblob)
End if
Else //andernfalls den Befehl ausführen
QR EXECUTE COMMAND($1;$2)
End if
Produkt: 4D
Thema: Schnellbericht
Nummer:
197
Geändert: 4D 2004
Geändert: 4D v14
4D Programmiersprache ( 4D v20 R7)