Print form

4D - Documentation   Français   English   German   English   4D Programmiersprache, Befehle nach Themen   4D Programmiersprache, Befehle alphabetisch   4D Programmiersprache, Konstanten nach Themen   Back   Previous   Next

Version 2004.5 (Geändert)


Print form ({Tabellenname; }Formularname{; BereichStart{; BereichEnde}}){ Numerisch }

ParameterTypBeschreibung
TabellennameTabelleZu druckende Tabelle,
ohne Angabe Standardtabelle
FormularnameStringZu druckendes Formular
BereichStartNumerischDruckmarke oder Beginn des Bereichs
(wenn BereichEnde angegeben)
BereichEndeNumerischEnde des Bereichs (wenn BereichStart
angegeben)
FunktionsergebnisNumerischHöhe des gedruckten Bereichs

Beschreibung

Die Funktion Print form druckt das Formular Formularname mit den aktuellen Feldwerten und Variablen der Tabelle Tabellenname. Print form eignet sich zum Drucken komplexer Berichte, die eine komplette Steuerung des Druckvorgangs erforderlich machen.

Tabellenname ist optional. Wird dieser Parameter nicht angegeben, benutzt Print form das Standardformular der Haupttabelle. PRINT FORM führt keine Berechnungen in Datensätzen bzw. Umbrüchen durch, erstellt weder Seitenumbrüche noch Kopf- oder Fußteile. Diese Operationen müssen Sie selbst ausführen. Mit Print form werden Datenfelder und Variablen nur in einer festen Rahmengröße gedruckt.

Da Print form nach Drucken des Formulars keinen Seitenumbruch auslöst, können Sie so verschiedene Formulare auf einer Seite kombinieren. Print form ist für komplexe Druckvorgänge mit verschiedenen Tabellen und Formularen gut geeignet. Mit dem Befehl PAGE BREAK legen Sie einen zwischen den Formularen einen Seitenumbruch an. Um ein Formular, dessen Höhe den verfügbaren Platz übersteigt, über die nächste Seite zu drucken, rufen Sie vor PAGE BREAK den Befehl CANCEL auf.

Es gibt drei verschiedene Syntaxen:

Detailbereich drucken

height:=Print form (MeineTabelle;MeinFormular)

In diesem Fall druckt die Funktion nur den Detailbereich, das ist im Formular der Bereich zwischen Kopfzeile und der Marke D.

Formularbereich drucken

height:=Print form (MeineTabelle;MeinFormular;Marke)

In diesem Fall druckt die Funktion den durch Marke angegebenen Bereich. Als Parameter übergeben Sie eine Konstante unter dem Thema "Formularbereich":

KonstanteTypWert
Form HeaderLange Ganzzahl200
Form Header1...10Lange Ganzzahl201...210
Form DetailLange Ganzzahl0 (Standardwert)
Form Break0...9Lange Ganzzahl300...309
Form FooterLange Ganzzahl100

Bereich drucken

height:=Print form (MeineTabelle;MeinFormular;BereichStart;BereichEnd)

In diesem Fall druckt die Funktion den Bereich zwischen den Parametern BereichStart und BereichEnde. Die Werte müssen in Pixel angegeben werden.

Der von Print form zurückgegebene Wert gibt die Höhe des druckbaren Bereichs an. Diesen Wert berücksichtigt die Funktion Get printed height automatisch.

Mit Print form erscheinen keine Druckdialoge. Der Bericht verwendet nicht die Druckereinstellungen, die dem Formular in der Designumgebung zugewiesen wurden. Sie können die Druckereinstellungen vor Aufrufen von Print form auf zwei Arten festlegen:

Sie rufen PRINT SETTINGS auf. In diesem Fall bestimmt der Benutzer die Einstellungen.

Sie rufen PAGE SETUP auf. In diesem Fall werden die Einstellungen per Programmierung festgelegt.

4D erstellt die zu druckende Seite im Hauptspeicher, indem aufeinanderfolgende Aufrufe von Print form nacheinander aufbereitet werden. Die Seite wird erst ausgedruckt, wenn sie voll ist oder wenn Sie den Befehl PAGE BREAK aufrufen. Sie müssen den Druckvorgang mit PAGE BREAK abschließen, damit auch die letzte Seite ausgedruckt wird, selbst wenn sie nicht voll ist.

Dieser Befehl druckt ab 4D Version 2004.5 externe Bereiche und Objekte, z.B. 4D Write oder 4D View Bereiche. Der Bereich wird für jede Ausführung des Befehls neu aufgebaut.

Warnung: Mit Print form werden keine Unterformulare ausgedruckt. Wollen Sie nur ein Formular für solch ein Objekt ausdrucken, verwenden Sie dafür den Befehl PRINT RECORD.

Print form erstellt nur ein Ereignis On Printing Detail für die Formularmethode.

4D Server: Diese Funktion 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, ausser für spezifische Anforderungen.

Bei einem Druckerproblem, z.B. kein Papier oder Drucker nicht verfügbar, erscheint keine Fehlermeldung.

Beispiele

(1) Folgendes Beispiel arbeitet wie der Befehl PRINT SELECTION. Der Bericht verwendet jedoch zwei verschiedene Formulare, je nachdem, ob der Datensatz für Scheck oder Bareinzahlung ist:

   QUERY([Register])  ` Wähle die Datensätze
   If (OK=1) 
      ORDER BY([Register])  ` Sortiere die Datensätze
      If (OK=1) 
         PRINT SETTINGS ` Zeige Druckdialoge
         If (OK=1) 
            For ($vlRecord; 1; Records in selection([Register]))
               If ([Register]Type = "Scheck") 
                  Print form ([Register]; "Scheckvordruck") 
                           ` Verwenden Sie ein Formular für Schecks
               Else 
                  Print form ([Register]; "Vordruck für Bareinzahlung")   
                           ` Verwenden Sie ein anderes Formular für Bareinzahlung
               End if 
               NEXT RECORD([Register]) 
            End for 
            PAGE BREAK ` Stellen Sie sicher, daß die letzte Seite gedruckt wird
         End if
      End if
   End if

(2) Siehe Beispiel zum Befehl SET PRINT MARKER.

Referenz

CANCEL, PAGE BREAK, PAGE SETUP, PRINT SETTINGS.

Anwendung des Befehls

Plug-In support with Print Form


4D - Documentation   Français   English   German   English   4D Programmiersprache, Befehle nach Themen   4D Programmiersprache, Befehle alphabetisch   4D Programmiersprache, Konstanten nach Themen   Back   Previous   Next