4D v16.3

QR REPORT

Home

 
4D v16.3
QR REPORT

QR REPORT 


 

QR REPORT ( {Tabellenname ;} Dokumentname {; Hierarchisch {; Assistent {; Suchen {; Methodenname {; *}}}} ) 
Parameter Typ   Beschreibung
Tabellenname  Tabelle in Zu druckende Tabelle, ohne Angabe Standardtabelle
Dokumentname  String in Zu ladendes Dokument Schnellbericht
Hierarchisch  Boolean in Wahr = Zeigt N verknüpfte Tabellen
Falsch/ohne Angabe = Nicht anzeigen (Standard)
Assistent  Boolean in Wahr = Zeigt Schaltfläche Assistent an
Falsch/ohne Angabe = Nicht anzeigen (Standard)
Suchen  Boolean in Wahr = Zeigt Suchwerkzeuge und Haupttabelle
Falsch/ohne Angabe = Nicht anzeigen (Standard)
Methodenname  String in Name der aufzurufende 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 oder Schnellberichte (64-bit) 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. In 32-bit Versionen wird die Option Alle Verknüpfungen auf automatisch zum Ändern des Status automatisch/manuell der Verknüpfungen ausgeblendet.
  • 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.

Nur 32-bit Versionen:

  • Hierarchisch (Boolean) definiert, ob in der Auswahlliste für Felder N-Tabellen angezeigt werden. Der Parameter hat standardmäßig den Wert 0 (Null), d.h. es werden keine verknüpften Tabellen angezeigt.
  • Assistent (Boolean) gibt an, ob die Schaltfläche Öffne Assistent im Schnellberichteditor angezeigt wird. Der Parameter hat standardmäßig den Wert 0 (Null), d.h. der Assistent ist nicht verfügbar.
  • Suchen (Boolean) gibt an, ob die Schaltfläche Neue Suche und die DropDown-Liste Haupttabelle im Schnellberichteditor angezeigt werden, um die aktuellen Tabellen bzw. die aktuelle Haupttabelle zu verändern. Der Parameter hat standardmäßig den Wert 0 (Null), d.h. es ist kein Zugriff auf die Suchwerkzeuge und die Haupttabelle möglich.
  • 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). Der neue Parameter eignet sich besonders, um den vom Schnellbericht verwendeten Zeichensatz zu ändern.
    Die Methode Methodenname empfängt zwei Parameter:
    • $1 enthält die Referenz des Bereichs (Lange Ganzzahl)
    • $2 enthält die Nummer des ausgewählten Befehls (Lange Ganzzahl). Sie können diesen Wert mit den Konstanten unter dem Thema QR Befehle vergleichen.

    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:

    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 – mit oder ohne Assistenten – einen beliebigen Bericht erstellen, sichern, laden und drucken kann:

 QUERY([People])
 If(OK=1)
    QR REPORT([People];Char(1);True)
 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);False;False;False;"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

 
GESCHICHTE 

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

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v16)
4D Programmiersprache ( 4D v16.1)
4D Programmiersprache ( 4D v16.2)
4D Programmiersprache ( 4D v16.3)