Funktionen für Formeln / Operanden und Operatoren
Operanden
Operanden können Konstanten, Datenfelder oder Formelfelder sein.
- Numerische Konstanten:
 Konstanten können in dezimaler, binärer, oktaler oder hexadezimaler Schreibweise eingegeben werden.
 Bei der binären Schreibweise ist ein 'b' anzuhängen , bei der oktalen ein 'o' und bei der hexadezimalen ein 'h'.
 Bei gebrochenen Zahlen ist das in Windows eingestellte Dezimalzeichen zu verwenden.
 Ausschließlich bei der (normalen) dezimalen Schreibweise ist auch eine Darstellung in Exponentialdarstellung möglich. Dabei ist zuerst die Mantisse anzugeben, danach ein 'E' und am Ende der Exponent zur Basis 10.
 Eine vordefinierte Konstante ist pi mit 3.14159... .
- Logische Konstanten:
                                                    
 Logikkonstanten sind true und false;
- Zeichenkettenkonstanten / -funktionen:
 Zeichenkettenkonstanten sind in Anführungszeichen " einzuschließen. Innere Anführungszeichen sind zu doppeln.
 user (liefert das zweistellige Benutzerkürzel)
- Datumskonstanten:
                                                    
 date (liefert das aktuelle Rechnerdatum)
 now (liefert das aktuelle Rechnerdatum mit Zeitangabe)
- Konstante für leere Felder:
                                                    
 null
 Null-Werte sollten in Formularen nicht an Formelplatzhalter zugewiesen werden. Sie können für die Auswertung von select- und dbf-Anweisungen benutzt werden. Der Vergleich mit anderen Typen liefert stets false.
- Variablen in Formeln (variable Operanden, Datenfelder) werden über Auswahlschalter eingefügt und mit geschweiften Klammern gekennzeichnet. Formelausdrücke können Zeichenketten, Zahlen, Wahrheitswerte und eingeschränkt auch null-Werte (unbestimmt vom Wert und Typ) verarbeiten und als Ergebnis liefern.
Die Verarbeitung von Datums- und Zeitwerten erfolgt 
	über Zahlen, wobei der ganzzahlige Anteil das Datum und der gebrochene 
	Anteil den Zeitanteil enthält. So kann man beispielsweise das Datum des 
	nächsten Tages andrucken, wenn man zur "Datumszahl" eine 1 addiert z.B.:
	[V:0:DATS:::0::{System.Datum/Uhrzeit}+1]
 [V:0::::0::asdatestring({System.Datum/Uhrzeit}+1;"DD.MM.YYYY")]
Die Abarbeitung erfolgt nach den üblichen Vorrangregeln (Potenzen vor Punktrechnung vor Strichrechnung). Wollen Sie eine bestimmte Abarbeitungsreihenfolge festlegen, müssen Sie runde Klammern benutzen.
Operatoren und Funktionen
Haben Funktionen mehrere Parameter, sind diese durch Semikolon zu trennen.
- für numerische Operanden
                                                    
 + Addition (von Zahlen oder Zeichenketten) - negativer Wert oder Subtraktion * Multiplikation / Division mod Modulo-Funktion (Bsp.: 5 mod 3 ergibt 2) div ganzzahlige Division (Bsp.: 4 div 3 ergibt 1) ^ Potenz, nach Möglichkeit durch Multiplikationen ersetzen (Bsp.: 2 ^ 4 ergibt 16) ! Fakultät (Bsp.: ! 5 ergibt 1*2*3*4*5=120) ln natürlicher Logarithmus (Basis e) 
 (Bsp.: ln(2,71828182845905) ergibt etwa 1)ld Logarithmus zur Basis 2 (Bsp.: ld (2) ergibt 1) lg dekadischer Logarithmus (Basis 10) (Bsp.: lg(10) ergibt 1) abs Absolutbetrag (Bsp. abs(-11) ergibt 11) int ganzzahliger Anteil (Bsp.: int(-1,7) ergibt -1) sign Signumfunktion (Ergebnis ist : -1 für Werte <0, 1 für Werte>0, 0 bei 0) frac gebrochener Anteil (Bsp.: frac(-1,7) ergibt - 0,7) floor größte ganze Zahl, die kleiner oder gleich dem angegebenen numerischen Ausdruck ist (Bsp.: floor(1,7) ergibt 1) ceiling kleinste ganze Zahl, die größer oder gleich dem angegebenen numerischen Ausdruck ist (Bsp.: ceiling(1,7) ergibt 2) rdm Zufallszahl kleiner als der Operand erzeugen (Bsp.: rdm(4) liefert 0, 1, 2 oder 3) rnd Rundung rn2 Rundung auf 2 Nachkommastellen sqrt Quadratwurzel sin Sinusfunktion cos Kosinusfunktion tan Tangensfunktion cot Kotangensfunktion not logische Negation der Binärwerte and logische Undverknüpfung der Binärwerte ior logische Oderverknüpfung der Binärwerte xor log. Exklusivoderverknüpfung der Binärwerte shl bitweises Verschieben nach links shr bitweises Verschieben nach rechts 
- für Zeichenketten-Operanden
                                                    
 + Addition (Aneinanderkettung von Zeichenketten) - Drehung von Zeichenketten (REVERSE) 
 Beispiel:
 -("Regal") liefert als Ergebnis lageR* wird eine Zeichenkette mit einer Zahl > 0 multipliziert erhält man eine Zeichenkette, in der die ursprüngliche Zeichenkette vervielfältigt wurde; 
 Faktoren < 0 ergeben eine Aneinanderreihung der gedrehten ursprünglichen Zeichenkette;
 Beispiele:
 "0" * (10 - length({Nr})) + {Nr} liefert eine Zeichenkette der Länge 10, in der der Wert von {Nr} linksbündig mit Nullen aufgefüllt wird;
 "Regal" + lower(("Regal"*(-1))) liefert als Ergebnis Regallagerupper Großschreibung lower Kleinschreibung substring Teilzeichenkette 
 1. Parameter: Ausgangszeichenkette
 2. Parameter: Startposition (numerisch), ist der Parameter kleiner Null erfolgt die Ermittlung der Teilzeichenkette von rechts.
 3. Parameter: Länge (numerisch)
 der 3. Parameter kann weggelassen werden
 Beispiel:
 substring("ABCDEF";1;3) liefert "ABC"substring("ABCDEF";-1;3) liefert "DEF" replace ersetzt (nicht rekursiv) alle Vorkommen des zweiten Zeichenfolgenausdrucks im ersten Zeichenfolgenausdruck durch einen dritten Ausdruck; 
 1. Parameter: Ausgangszeichenkette
 2. Parameter: Suchzeichenkette
 3. Parameter: Ersatzzeichenkette
 Der 3. Parameter kann zum Löschen aller Vorkommen der Suchzeichenkette aus der Ausgangszeichenkette weggelassen werden.
 Beispiel:
 replace("Staumauer";"u";"hl") liefert Stahlmahlerasfilename für Dateinamen nicht erlaubte Zeichen der Ausgangszeichenkette werden durch ein Ersatzzeichen ersetzt; 
 1. Parameter: Ausgangszeichenkette
 2. Parameter: Ersatzzeichen
 Der 2. Parameter kann weggelassen werden, als Ersatzzeichen wird dann "_" verwendet.
 Beispiel:
 asfilename("A < > ? "" : | \ / * Z";"x")
 liefert "A x x x x x x x x x Z"concat verbindet zwei Zeichenfolgenausdrücke durch einen Verkettungsausdruck; 
 1. Parameter: eine Zeichenkette
 2. Parameter: eine Zeichenkette
 3. Parameter: Verkettungszeichenkette
 Ist eine der Zeichenketten leer, wird die Zeichenkette, die nicht leer ist, ohne Verkettungsausdruck ausgegeben.
 Beispiel:
 concat("Mustermann";"Max";", ") liefert Mustermann, Maxnewline mit dieser Konstante kann ein Zeilenumbruch innerhalb des aktuellen Platzhalters erzwungen werden 
 Beispiel:
 concat({Anrede}; concat({Name}; {Vorname}; ", "); newline) liefert
 Herr
 Mustermann, Maxlength liefert in einem numerischen Ergebnis die Anzahl der Zeichen in der Zeichenkette trim entfernt am Anfang und Ende einer Zeichenkette alle Leer- und Steuerzeichen ltrim entfernt am Anfang einer Zeichenkette alle Leer- und Steuerzeichen rtrim entfernt am Ende einer Zeichenkette alle Leer- und Steuerzeichen locate liefert in einem numerischen Ergebnis die erste Position der Suchzeichenkette in einer Ausgangszeichenkette; 
 falls die Suchzeichenkette nicht enthalten ist, ist das Ergebnis 0;
 1. Parameter: Suchzeichenkette
 2. Parameter: Ausgangszeichenkettelines liefert die Anzahl der Zeilen eines Langtextes; 
 Parameter: eine Zeichenkette
 Beispiel:
 lines({.Kopftext})guid36 liefert als Ergebnis eine Zeichenkette (36 Zeichen) ohne die führende und schließende Klammer 
 1. Parameter: eine 38-stellige GUID
 Beispiel:
 guid36({Kennung})fill füllt eine Zeichenkette bis zur definierten Länge auf 
 1. Parameter: Ausgangszeichenkette
 2. Parameter: Gesamtlänge (numerisch)
 3. Parameter: Füllzeichen(-kette)
 4. Parameter: links auffüllen (true); rechts auffüllen (false)
 der 4. Parameter kann weggelassen werden (Standard ist true)
 Beispiele:
 fill(asstring({FreieZahl1});5;"0")
 fill({Bezeichnung};80;" ";false)split zerteilt eine Zeichenkette in gleichmäßige Teile 
 1. Parameter: Ausgangszeichenkette
 2. Parameter: Anzahl der Zeichen nach der jeweils getrennt werden soll (numerisch). Ist der Parameter kleiner Null, erfolgt die Aufsplittung vom Ende beginnend.
 3. Parameter: Füllzeichen(-kette)
 der 3. Parameter kann weggelassen werden (Standard ist ein Leerzeichen)
 Beispiel:
 split({IBAN};4)intersectcount mit dieser Funktion lässt sich die Anzahl übereinstimmender Teilzeichenketten zweier Zeichenketten ermitteln 1. Parameter: Zeichenkette (eine "Liste" von Teilzeichenketten) 2. Parameter: Zeichenkette (eine "Liste" von Teilzeichenketten) 3. Parameter: Trennzeichen 
 der 3. Parameter kann weggelassen werden (Standard ist ein |)Beispiel: intersectcount("ABC|D|EF";"G|EF|HM|ABC") liefert den Wert 2 für die Übereinstimmungen von "ABC" und "EF" in beiden Parametern isempty Gibt einen booleschen Wert zurück, der angibt, ob Zeichenkette leer ist. Syntax: isempty("text") Beispiele: Formel | Ergebnis isempty("") | true isempty(" ") | true isempty("X") | false isnotempty Gibt einen booleschen Wert zurück, der angibt, ob Zeichenkette nicht leer ist. Syntax: isnotempty("text") Beispiele: Formel | Ergebnis isnotempty("") | false isnotempty(" ") | false isnotempty("X") | true 
- für Logikoperanden
                                                    
 not logische Negation and logische Und-Verknüpfung ior logische Oder-Verknüpfung xor logische Exklusiv-Oder-Verknüpfung if Fallunterscheidung 
 1. Parameter: logischer Ausdruck
 2. Parameter: Ausdruck beliebigen Formats, welcher das Ergebnis liefert, wenn der 1. Parameter den Wert true besitzt
 3. Parameter: Ausdruck beliebigen Formats, welcher das Ergebnis liefert, wenn der 1. Parameter den Wert false besitztcase Die Funktion hat mindestens 4 Parameter, die Anzahl ist dabei immer geradzahlig. Der erste Parameter ist der Wert, welcher verglichen werden soll, der letzte das Ergebnis wenn keine der angegebenen Möglichkeiten übereinstimmt. Die mittleren Parameter sind paarweise ein Wert und das bei Übereinstimmung auszugebende Ergebnis. 
 Beispiel:
 case({Land};"DE";"Deutschland";"AT";"Österreich";"CH";"Schweiz";"")
- Erkennung und Behandlung von Null-Werten
                                                    isnull 1. Parameter: ein Ausdruck von beliebigem Format(Zeichenkette, Zahl, Datum, logisch, Null-Wert) 
 2. Parameter: Ergebnis, wenn der erste Parameter null ist
 Beispiel:
 // Ersetzung eventueller Null-Werte durch einen Leerstring
 isnull(select("FreierText1 from kunden where nummer = '10000'");"")
 // Ersetzung eventueller Null-Werte durch die Zahl 0
 isnull(select("FreieZahl1 from kunden where nummer = '10000'");0)
- Vergleichsoperatoren (die Operanden müssen vom gleichen Typ sein und liefern ein logisches Ergebnis)
                                                    
 = Gleichheit <> Ungleichheit < kleiner > größer <= kleiner gleich >= größer gleich 
- Umwandlungsfunktionen
                                                    
 asfloat liefert den numerischen Wert einer Zeichenkette; 
 1. Parameter: Ausgangszeichenkette
 2. Parameter: numerischer Wert, der das Ergebnis liefert, wenn die Ausgangszeichenkette nicht in eine Zahl umgewandelt werden kann.
 Der 2. Parameter kann weggelassen werden.asstring wandelt einen numerischen Wert in eine Zeichenkette um; 
 1. Parameter: Ausgangszahl
 2. Parameter: ein Format für die Darstellung wie z.B. "#,##0.00"
 der 2. Parameter kann weggelassen werdenasdatestring wandelt ein Datum in eine Zeichenkette um; 
 1. Parameter: Ausgangsdatum
 2. Parameter: ein Format für die Darstellung wie z.B."MMM.YYY"
 der 2. Parameter kann weggelassen werdenasdatetime wandelt ein Datum in einen numerischen Wert (internes Datumsformat, mit dem gerechnet werden kann) um; 
 ein Parameter vom Typ Zeichenkette: Ausgangsdatum im Windowsformatmonat wandelt einen numerischen Wert zwischen 1 und 12 in den Monatsnamen um, Werte > 12 bzw. < 1 geben einen Leerstring aus; 
 z.B. monat(6) liefert "Juni"xmltag wandelt eine Zeichenkette in das Format UTF8 um und schließt das Ergebnis in < > ein 
 Parameter: eine Zeichenkette
 Beispiel:
 xmltag("Text") liefert <Text>xmlstring wandelt eine Zeichenkette in UTF8 um, nachdem zuvor <, > und & ersetzt wurden 
 Parameter: eine Zeichenkettehtmlintext liefert den Textinhalt eines HTML-Quelltextes 
 Parameter: Ausgangszeichenkette
 Beispiel:
 htmlintext({HTMLText})encodebase64 kodiert eine Zeichenkette per Base64-Verfahren; Parameter: eine Zeichenkette decodebase64 dekodiert eine mit dem Base64-Verfahren kodierte Zeichenkette; Parameter: eine Zeichenkette stringtonumber wandelt eine Zeichenkette in eine Zahl um. Syntax: stringtonumber("zahlAlsText"; "dezimaltrennzeichen") 
 1. Parameter: Text - Pflichtfeld2. Parameter: optional; Vorgabewert = '.' Beispiele: Formel | Ergebnis stringtonumber("3.14") | 3.14 stringtonumber("3.14"; ".") | 3.14 stringtonumber("3,14") | eine Fehlermeldung "kein gültiger Gleitkommawert, oder leer" stringtonumber("3,14"; ",") | 3.14 
- Hilfsfunktionen zum Schreiben von Transact-SQL-Select-Anweisungen
                                                    
 astsqlfloat 1. Parameter: Zahl 
 astsqlfloat(1,2345) liefert 1.2345astsqlnchar 1. Parameter: Zeichenkette 
 astsqlnchar("123") liefert N'123'astsqldate 1. Parameter: Ausgangsdatum 
 astsqldate(date) liefert z.B. am 1.9.2022 N'01.09.2022'
 astsqldate(44805) liefert N'01.09.2022'astsqlbit 1. Parameter: logischer Wert 
 astsqlbit(true) liefert 1
 Hinweis:
 Die Funktionen liefern als Ergebnis eine Zeichenkette mit einem Leerzeichen am Anfang und am Ende und können zur Unterstützung beim Schreiben von Transact-SQL-Select-Anweisungen in Formeln oder eigenen Blöcken verwendet werden.
- Datumsfunktionen
                                                    
 zinstage ermittelt die Zinstage entsprechend der 30tägigen Zinsperiode der Bank; 
 1. Parameter: Beginndatum
 2. Parameter: Enddatumzinsmonate ermittelt die Zinsmonate; 
 1. Parameter: Beginndatum
 2. Parameter: Enddatumzahlungstermin ermittelt aus einem Datum und den Angaben der Zahlungsbedingung einen Termin; 
 1. Parameter: Startdatum
 2. Parameter: Typ der Berechnung
 3. Parameter: Tagesangabekweek ermittelt die Kalenderwoche; als Parameter ist ein Datum als Variable z.B. kweek({.Datum}) 
 oder internes Datumsformat anzugeben z.B. kweek(asdatetime("31.12.2021"))kyear ermittelt das Kalenderjahr zu dem die Kalenderwoche gehört; als Parameter ist ein Datum als Variable z.B. kyear({.Datum}) 
 oder internes Datumsformat anzugeben z.B. kyear(asdatetime("31.12.2021"))stringtodays Wandelt eine Zeichenkette in den (internen - Delphi Double) Datumswert um. Syntax: stringtodays("datumAlsText"; "format") 1. Parameter: Text - Pflichtfeld 2. Parameter: optional; Vorgabewert = 'yyyyMMdd' Beispiele: Formel | Ergebnis stringtodays("20241230") | 30.12.2024 stringtodays("20241230"; "yyyyMMdd") | 30.12.2024 stringtodays("2024.30.12"; "yyyy.dd.MM") | 30.12.2024 stringtodays("30.12.2024") | eine Fehlermeldung "Keine gültige Datums-/Zeitangabe" 
 
 Beispiele:
 für das Datum 01.01.2022 liefert kweek eine 52, kyear die 2021 → der 01.01.2022 gehört zur 52.Kalenderwoche 2021
 für das Datum 03.01.2022 liefert kweek eine 1, kyear die 2022 → der 03.01.2022 gehört zur 1.Kalenderwoche 2022
- Datenbankfunktionen
                                                    
 select liefert den Wert eines Tabellenfeldes; 
 als Parameter ist eine select-Anweisung anzugeben, wobei das führende select weggelassen wird;
 liefert die select-Anweisung keinen Wert zurück, ist das Ergebnis null
- Funktionen zum Lesen u. Schreiben von Variablenwerten
                                                    
 iniput schreibt einen Eintrag in eine Ini-Datei oder löscht einen Eintrag; liefert als Ergebnis einen logischen Wert, ob der Befehl erfolgreich war: 
 1. Parameter: Dateiname, Dateinamen ohne Laufwerk beziehen sich auf das Mandantenverzeichnis;
 2. Parameter: Sektionsbezeichnung;
 3. Parameter: Bezeichnung des Eintrags;
 4. Parameter: Zeichenkette, die eingetragen werden soll.
 Bei Weglassen des 4. Parameters wird ein eventuell vorhandener Eintrag gelöscht.
 //Eintrag erzeugen:
 iniput(datenpfad + "TEST.INI";"Sektion";"Wert";"100")
 //Eintrag löschen:
 iniput(datenpfad + "TEST.INI";"Sektion";"Wert")iniget liest eine Zeichenkette aus einer Ini-Datei: 
 1. Parameter: Dateiname, Dateinamen ohne Laufwerk beziehen sich auf das Mandantenverzeichnis;
 2. Parameter: Sektionsbezeichnung;
 3. Parameter: Bezeichnung des Eintrags;
 4. Parameter: Ergebnis, wenn die Datei nicht existiert oder kein Eintrag in der Ini-Datei gefunden wird.
 Bei Weglassen des 4. Parameters ist die leere Zeichenkette der Standardwert.
 z.B. iniget(datenpfad + "TEST.INI";"Sektion";"Wert";"0")put speichert programmintern einen Wert, solange das Programm läuft: 
 1. Parameter: eine Zeichenkette für die Identifikation des Wertes (keine Unterscheidung von Groß- und Kleinschreibung)
 2. Parameter: ein Ausdruck von beliebigem Format (Zeichenkette, Zahl, Datum, logisch, Null-Wert)
 Beispiel:
 // Abspeichern des aktuellen Zeitpunktes
 put("zeit"; now)
 // Anlegen oder Ändern der programminternen Variable "variable1" mit dem logischen Wert WAHR
 put("variable1"; true)get liest programminterne Werte: 
 1. Parameter: eine Zeichenkette für die Identifikation des Wertes (keine Unterscheidung von Groß- und Kleinschreibung)
 2. Parameter: Ergebnis, wenn programminterner Wert nicht vorhanden ist
 Beispiel:
 // Lesen der programminternen Variable "variable1" get("variable1"; false)
 //ein Durchlaufzähler mit Namen "a"
 put("a"; 1 + get("a"; 0))
- Spezielle Funktionen
                                                    
 alle Programme:
 nur Auftrag:shellexecute zum Absetzen von Kommandos für das Betriebssystem; 
 1. Parameter (String): Name des Programms, das geöffnet werden soll
 2. Parameter (String): er enthält die Kommandozeilenparameter für das Programm.
 3. Parameter (Typ Zahl zwischen 0 und 10): Er ist dafür verantwortlich, in welchem Zustand das Fenster des gerufenen Programms geöffnet werden soll.
 Als Ergebnis liefert die Funktion eine Zahl, die bei Zahlen kleiner 32 eine Fehlernummer darstellt, der 2. und 3. Parameter kann weggelassen werdenregexmatch zur Prüfung, ob eine Zeichenkette einem regulären Ausdruck entspricht; 
 1. Parameter (String): eine Zeichenkette
 2. Parameter (String): regulärer Ausdruck
 Als Ergebnis liefert die Funktion true oder false.datenpfad liefert den Datenpfad mit abschließendem Backslash mandantenpfad liefert den Mandantenpfad mit abschließendem Backslash clipstring liest eine Zeichenkette aus der Zwischenablage benutzername liefert den Benutzernamen zu einen Kürzel; 
 1. Parameter (String): Benutzerumgebungsvariable ermittelt den Wert der angegebenen Umgebungsvariable; 
 1. Parameter (String): Variablennamett Versucht eine Zeichenkette in deutscher Sprache mit dem Programm-Wörterbuch in die aktuell eingestellte Sprache zu übersetzen; 
 1. Parameter (String): eine Zeichenkettebestand liefert den aktuellen Bestand von Artikeln; 
 als Parameter ist die Artikelnummer als Ausdruck oder Datenbankfeld anzugeben,
 weitere Parameter für detailliertere Lagerinformationen sind möglichbestandpm liefert den aktuellen Bestand von Artikeln in der Preismengeneinheit; 
 als Parameter ist die Artikelnummer als Ausdruck oder Datenbankfeld anzugeben,
 weitere Parameter für detailliertere Lagerinformationen sind möglichgepackt liefert den gepackten Bestand von Artikeln; 
 als Parameter ist die Artikelnummer als Ausdruck oder Datenbankfeld anzugeben,
 weitere Parameter für detailliertere Lagerinformationen sind möglichbestellt liefert die aktuell bestellte Menge von Artikeln; 
 1. Parameter: die Artikelnummer
 2. Parameter: der Standort
 als Ausdruck oder Datenbankfeld, der 2. Parameter kann weggelassen werdeninproduktion liefert die Menge von Artikeln, die produziert wird; 
 1. Parameter: die Artikelnummer
 2. Parameter: der Standort
 als Ausdruck oder Datenbankfeld, der 2. Parameter kann weggelassen werdenreserviert liefert die aktuell reservierte Menge von Artikeln; 
 1. Parameter: die Artikelnummer
 2. Parameter: der Standort
 als Ausdruck oder Datenbankfeld, der 2. Parameter kann weggelassen werdenlistenpreis liefert den aktuellen Listenpreis von Artikeln; 
 als Parameter ist die Artikelnummer als Ausdruck oder Datenbankfeld anzugebenkalkulationspreis liefert den aktuellen Kalkulationspreis von Artikeln; als Parameter ist die Artikelnummer als Ausdruck oder Datenbankfeld anzugeben. belegtyp liefert die Beschreibung des Belegtyps; als Parameter ist der Belegtyp anzugeben. belegadresskuerzel liefert das Adresskürzel des Belegtyps (bspw. "KU" bei Kundenbelegen); als Parameter ist der Belegtyp anzugeben. belegeafaktor liefert die Information zur Interpretation von RNetto (bspw. bei Rechnungen +1, bei Gutschriften -1); 
 als Parameter ist der Belegtyp als Ausdruck oder Datenbankfeld anzugebenmwst liefert die Steuerprozente eines Steuerschlüssels zum aktuellen Datum; 
 als Parameter ist der Steuerschlüssel als Ausdruck oder Datenbankfeld anzugebenchecksumpost berechnet eine spezielle Prüfziffer; 
 der Parameter muss eine Zeichenkette mit 11 Ziffern liefernprojektsumme liefert in Abhängigkeit vom Preistyp des Projektes die Netto- oder Bruttoprojektsumme; 
 als Parameter ist die Nummer des Projektes anzugebenpreisgruppenbezeichnung liefert die Bezeichnung einer Preisgruppe; als Parameter ist dabei die Nummer der Preisgruppe als Zahl oder Zeichenkette zu übergeben nur Digitale Belege (Import): getarticlenumber Liefert in Abhängigkeit von den übergebenden Eingangsparameter eine Artikelnummer zurück. Syntax: getarticlenumber("artikelnummer"; "eannummer"; "bestellnummer"; "lieferant") eannummer: GTIN/EAN Nummer bestellnummer : Bestellnummer beim Lieferanten lieferant: aktuelle Lieferantennummer Die Funktion liefert eine leere Zeichenfolge zurück (kein Fehler), wenn keine Artikelnummer gefunden wurde. Es wird nur nach die Bestellnummer gesucht, wenn die beide Parameter "bestellnummer" und "lieferantennummer" gefüllt sind. gettaxcode Liefert in Abhängigkeit von den übergebenden Eingangsparameter einen Steuercode zurück. Syntax: gettaxcode("zugferdkategorie"; "belegdatum"; steuerprozent/"steuerprozent") zugferdkategorie: Pflichtfeld belegdatum: wenn leer wird das heutige Datum verwendet steuerprozent: Pflichtfeld, Wert in Double (7.5) oder String ("7.5") 
- Beispiele:
                                                    bestellt({Artikelnummer};"1") liefert die für den Standort "1" bestellte Menge des vom Datenfeld "Artikelnummer" ausgegebenen Artikel 
 bestand("500009";"1";"500,1,1") liefert den Bestand des Artikels "500009" auf dem Lagerplatz "500,1,1," des Flächenlagers "500" im Standort "1".
 shellexecute("notepad";"c:\test.txt";3) öffnet die Datei c:\test.txt im maximierten NotePad.Diese speziellen Funktionen sind über Formelplatzhalter in jeder Druckvorlage anwendbar, in denen die benötigten Parameter zur Verfügung stehen.