Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com

Home

 
4D v20 R7
QR REPORT

QR REPORT 


 

QR REPORT ( {Tabellenname ;} Dokumentname {; Methodenname}{; *} ) 
Parameter Typ   Beschreibung
Tabellenname  Tabelle in Tabelle für den Bericht, ohne Angabe Standardtabelle
Dokumentname  String in Zu ladendes Dokument Schnellbericht
Methodenname  String in Name der aufzurufenden Methode
Operator in 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:

  • Der Editor erscheint nicht, wenn Tabellenname als “Unsichtbar” definiert ist.
  • Wird der Editor über den Befehl QR REPORT aufgerufen, behalten Verknüpfungen zwischen Tabellen ihren manuellen Status, sofern eingestellt. So kann der Entwickler den Status über die Befehle SET AUTOMATIC RELATIONS und SET FIELD RELATION selbst steuern. Beachten Sie jedoch, dass automatische Funktionen deaktiviert sind, wenn verknüpfte Tabellen in einem Listenformular angezeigt werden, das mit DISPLAY SELECTION, MODIFY SELECTION oder einem Unterformular angezeigt wird. Siehe Automatische und manuelle Verknüpfungen.
  • Der Editor wird in einem externen Fenster aufgerufen. In diesem Kontext kann der Befehl QR ON COMMAND nicht verwendet werden. Über den Parameter Methodenname können Sie jedoch eigenen Code ausführen, wenn ein Befehl der Oberfläche aktiviert ist (siehe unten).

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:

ParameterTypBeschreibung
$1Lange GanzzahlReferenz des Bereichs
$2Lange GanzzahlNummer des ausgewählten Befehls. Sie können diesen Wert mit den Konstanten unter dem Thema QR Befehle vergleichen (nur aufgelistete Ereignisse werden unterstützt):
Konstante Wert Kommentar
qr cmd generate 2008

Befehl QR RUN wird empfohlen

qr cmd open 2001
qr cmd page setup 2006
qr cmd print preview 2007
qr cmd save 2002
qr cmd save as 2003

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:

  • Stellen Sie sicher, dass auf dem Server Rechner kein Dialogfenster erscheint, außer für spezifische Anforderungen. Dazu müssen Sie den Befehl mit dem Parameter * aufrufen.
  • Die Syntax zum Aufrufen des Schnellberichteditors funktioniert nicht mit 4D Server. In diesem Fall wird die Systemvariable OK auf 0 (Null) gesetzt.
  • Bei einem Druckerproblem, z.B. kein Papier oder Drucker nicht verfügbar, erscheint keine Fehlermeldung.

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



Siehe auch 

PRINT LABEL
PRINT SELECTION
SET ALLOWED METHODS

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Schnellbericht
Nummer: 197

Dieser Befehl ändert die Systemvariable OKIm remote Modus anderes Verhalten

 
SEITENINHALT 
 
GESCHICHTE 

Geändert: 4D 2004
Geändert: 4D v14

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v20 R7)