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

Home

 
4D v20
Formeln verwalten

Formeln verwalten  


 

4D Write Pro Dokumente können Referenzen auf 4D Formeln enthalten, wie Variablen, Felder, Ausdrücke, Projektmethoden oder 4D Befehle. Auch auf spezifische Angaben, wie Seitennummer. sind Referenzen über Formeln möglich (siehe Absatz unten Ausdrücke für Dokument oder Seite einfügen).

Formeln werden mit dem Befehl WP INSERT FORMULA in 4D Write Pro Bereiche eingefügt. Über den Befehl WP Get formulas lassen sie sich lesen. Sie werden auch über den Befehl WP Get text zurückgegeben. 

Formeln werden in folgenden Fällen berechnet:

  • beim Einfügen in ein Formularobjekt, das berechnete Werte anzeigt
  • beim Laden eines Objekts 4D Write Pro in ein Formularobjekt, das berechnete Werte anzeigt
  • beim Aufrufen des Befehls WP COMPUTE FORMULAS
  • beim Einfrieren über den Befehl WP FREEZE FORMULAS (falls noch nicht berechnet)
  • vor dem Drucken (falls noch nicht berechnet)
  • vor dem Exportieren in .docx (falls sich die Formel nicht mit MS Word Formeln abbilden lässt)
  • beim Aufrufen von Standardaktionen zum Einfrieren, Drucken, Exportieren oder Berechnen von Formeln. Siehe unter Standardaktionen

Formeln werden nicht beim Laden eines Dokuments berechnet (über WP New, WP INSERT DOCUMENT oder wpArea:=[table]field):

  • wenn das Dokument nur offscreen ist
  • wenn das Dokument onscreen angezeigt wird, das Formularobjekt jedoch nur Referenzen anzeigt.

Mit dem Befehl WP FREEZE FORMULAS werden Formeln zu statischen Werten - außer für Seitennummer und Seitenanzahl (siehe unten).

Hinweis zur Kompatibilität: Die Verwaltung von Ausdrücken über die Befehle ST INSERT EXPRESSIONST Get expression, ST COMPUTE EXPRESSIONS und ST FREEZE EXPRESSIONS ist überholt, wird aber zur Wahrung der Kompatibilität in 4D Write Pro noch unterstützt.

Die Auswahl in einem 4D Write Pro Bereich mit dem Inhalt einer Variablen ersetzen:

 C_TEXT(fullName)
 C_OBJECT($sel)
 fullName:="John Smith"
 $sel:=WP Selection range(4DWPArea)
 Case of
    :(Form event code=On Clicked)
       WP INSERT FORMULA($sel;Formula(fullName);wk replace)
 End case

Über den Befehl WP INSERT FORMULA können Sie spezielle Ausdrücke für Dokument- oder Seitenattribute in den verschiedenen Bereichen Haupt-, Kopf-, Fußteil einfügen.

Syntax der Formel Typ Beschreibung
This.title Text Im Attribut wk title definierter Titel 
This.author  Text Im Attribut wk author definierter Autor
This.subject  Text Im Attribut wk subject definierter Betreff
This.company Text  Im Attribut wk company definierte Firma
This.notes Text  Im Attribut wk notes definierte Notizen
This.dateCreation Datum Im Attribut wk date creation definiertes Erstellungsdatum
This.dateModified Datum Im Attribut wk date modified definiertes Änderungsdatum
This.pageNumber (*) Lange Ganzzahl Seitennummer wie definiert: 
  • ab Beginn des Dokuments (Standard) oder
  • ab der Seite des Abschnitts, wenn Seitenstart per Abschnitt definiert ist 

Diese Formel ist immer dynamisch, sie wird nicht durch den Befehl WP FREEZE FORMULAS beeinflusst.  

This.pageCount (*) Lange Ganzzahl Seitenanzahl: Gesamtanzahl der Seiten

Diese Formel ist immer dynamisch, sie wird nicht durch den Befehl WP FREEZE FORMULAS beeinflusst.
This.document Object 4D Write Pro Dokument

(*) Wichtig: This.pageNumber und This.pageCount dürfen nur direkt in einer 4D Write Pro Formel verwendet werden (sie müssen im String formula.source vorhanden sein). Bei Verwenden in der 4D Programmiersprache in einer Methode, die von der Formel aufgerufen wird, geben sie keine korrekten Werte zurück. Sie lassen sich jedoch als Parameter an eine Methode übergeben, die von der Formel direkt aufgerufen wird:

  • Das funktioniert: « formatNumber(This.pageNumber) »
  • Das funktioniert NICHT: « formatNumber » mit der Methode formatNumber, die This.pageNumber bearbeitet.

Beispiel: Seitennummer im Fußteil einfügen:

 $footer:=WP Get footer(4DWP;1)
 WP INSERT FORMULA($footer;Formula(This.pageNumber);wk append)
  // Formula(myMethod) mit myMethod, die This.pageNumber bearbeitet
  //würde nicht korrekt funktionieren

Hinweis zur Kompatibilität: Im Dokument vorhandene $wp_ Variablen aus Versionen vor 4D v18 R2 werden noch unterstützt und bewertet. 

Datum
Werden der Befehl Current date, eine Variable vom Typ Datum oder eine Methode, die ein Datum zurückgibt, in eine Formel eingefügt, werden sie automatisch mit dem Format system date short in Text umgewandelt.

Zeit
Werden der Befehl Current time, eine Variable vom Typ Zeit oder eine Methode, die eine Zeit zurückgibt, in eine Formel eingefügt, müssen sie mit dem Befehl String eingebunden werden, da der Typ Zeit in JSON nicht unterstützt wird. Hier Beispiele zur Erläuterung:

  // Dieser Code ist am besten
 $formula1:=Formula(String(Current time)) //OK 
 
  // Dieser Code funktioniert, wird aber nicht empfohlen, außer nach "Edit formula"
 $formula2:=Formula from string("String(Current time)") //OK
 
  // Dieser Code ist falsch, da Zeitwerte als Lange Ganzzahl für Sekunden bzw. Millisekunden angezeigt werden und nicht als Zeit
 $formula3:=Formula from string("Current time") //NOT valid
 $formula4:=Formula(Current time//NOT valid

In 4D Write Pro Dokumente eingefügte Ausdrücke vom Typ Tabelle oder Feld unterstützen die virtuelle Strukturdefinition der Anwendung. Die virtuelle Struktur in Formeln wird über die Befehle SET FIELD TITLES(...;*) und SET TABLE TITLES(...;*) definiert. 

Bei einer virtuellen Struktur gilt folgendes: 

  • Referenzen auf Ausdrücke mit Feldern zeigen virtuelle Namen an, wenn das 4D Write Pro Dokument nicht Werte, sondern Referenzen zeigt. 
  • WP Get text gibt Name der virtuellen Struktur zurück, wenn die Option wk expressions as source im Parameter expressions gesetzt ist.
  • WP INSERT FORMULA ignoriert die virtuelle Struktur. Erwartet immer Name der realen Tabelle bzw. des Feldes

Hinweis: Wird ein Dokument im Modus "Zeige Ausdruck" angezeigt, werden Referenzen auf Tabellen oder Felder, die nicht zur virtuellen Struktur gehören, mit Fragezeichen angezeigt:
zum Beispiel [VirtualTableName]? wenn das Feld nicht in der virtuellen Struktur definiert ist.

You can control how formulas are displayed in your documents:

  • as values or as references
  • when shown as references, display source text or symbol.

Standardmäßig werden 4D Formeln als Werte angezeigt. Wenn du eine 4D Formel einfügst, berechnet 4D Write Pro den aktuellen Wert und zeigt ihn an. Wenn du wissen willst, welche Formel angezeigt wird, musst du sie als Referenz anzeigen. 

Um Formeln als Referenzen anzuzeigen, können Sie:

Wenn Formeln als Referenzen angezeigt werden, erscheint der Quelltext der Formel in Ihrem Dokument, standardmäßig mit einem grauen Hintergrund (kann mit dem Selector wk formula highlight) angepasst werden. 

 Wenn Sie zum Beispiel das aktuelle Datum zusammen mit einem Format eingegeben haben, wird das Datum angezeigt:



 Wenn Sie Formeln als Referenzen anzeigen, wird die Referenz angezeigt:

Wenn Formelverweise angezeigt werden, wird standardmäßig der Quelltext der Formel in das Dokument geschrieben. Wenn Sie an anspruchsvollen Templates arbeiten, die z.B. Tabellen verwenden, und wenn die Quellformeln komplex sind, kann das Design verwirrend sein:

In diesem Fall können Sie Formelverweise als Symbole anzeigen, damit das Dokument leichter zu lesen ist:

Um Formelreferenzen als Symbole anzuzeigen, können Sie:

Sie können den Quelltext einer Formel immer in einem Tipp abrufen, der angezeigt wird, wenn Sie den Mauszeiger auf das Symbol setzen:

Hinweis: Der Tipp ist eigentlich unabhängig vom Anzeigemodus des Formulars verfügbar.



Siehe auch 

Befehle aus dem Kapitel Mehrfachstil Text verwenden
Download HDI database

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Formeln verwalten

 
SEITENINHALT 
 
GESCHICHTE 

Erstellt: 4D v16
Geändert: 4D v17 R4
Geändert: 4D v18 R2
Umbenannt: 4D v18 R2

 
ARTIKELVERWENDUNG

4D Write Pro Handbuch ( 4D v20)