Zum Hauptinhalt springen

Ausdrücke

Allgemeines​

Mit Ausdrücken (Expressions) werden Werte zur Laufzeit ermittelt, formatiert oder berechnet – zum Beispiel ein Datum in einem bestimmten Format, eine Summe, ein Teil eines Dateinamens oder ein Wert aus einer SQL-Abfrage. Ausdrücke stehen an mehreren Stellen in domizil+ zur Verfügung, unter anderem:

Zwei Schreibweisen​

Es gibt zwei Schreibweisen, die im Dialog in zwei Ordnern stehen:

  • Funktionen und Berechnungen: Der Ausdruck steht zwischen ={{ und }}, z. B. ={{HEUTE('dd.mm.yyyy')}}. In dieser Schreibweise können Sie auch rechnen und Befehle beliebig kombinieren, z. B. ={{HEUTE('datetime') + 2}} (Datum in zwei Tagen) oder ={{SPALTE('Daten.BETRAG') * 1.2}}. Es stehen alle Grundrechenarten zur Verfügung, Punkt- vor Strichrechnung wird beachtet. Ein Text, der nur wie ein Datum aussieht, zählt für Berechnungen nicht als Datum – verwenden Sie das Format 'datetime'.
  • Text einsetzen: Der Befehl steht zwischen zwei %-Zeichen, z. B. %HEUTE('dd.mm.yyyy')%. Diese Schreibweise setzt das Ergebnis als Text ein, gerechnet wird damit nicht. Sie wird vor allem verwendet, um Text zu formatieren, und ist die Schreibweise in der Cold-Datei.

Regeln​

  • Groß- und Kleinschreibung der Befehle spielt keine Rolle. Zu den meisten Befehlen gibt es einen deutschen und einen englischen Namen, z. B. LINKS und LEFT. Beide sind gleichwertig.
  • Texte stehen in einfachen Anführungszeichen, z. B. 'Rechnung'.
  • Parameter werden mit Komma oder Strichpunkt getrennt.
  • Befehle können verschachtelt werden. In der Schreibweise %…% muss das Ergebnis eines verschachtelten Befehls, das als Parameter verwendet wird, in einfachen Anführungszeichen stehen, z. B. %LINKS('%DATEINAME%', 5)%. Ohne Anführungszeichen wird es als Zahl oder Rechnung gelesen: Vorlaufnullen gehen verloren und ein Bindestrich wird als Minus gerechnet.
  • Eine Spalte der Datenmenge (z. B. im Serienbrief) wird mit SPALTE('Datenmenge.Spalte') oder in der Schreibweise ={{…}} direkt mit Datenmenge.Spalte angesprochen.

Datumsformate​

Für alle Befehle mit Datum gilt:

  • Ohne Datum wird das aktuelle Datum des Betriebssystems verwendet.
  • Befehle mit dem Zusatz „GLOBAL“ (z. B. HEUTEGLOBAL, DATUMGLOBAL) verwenden statt des aktuellen Datums das globale Verarbeitungsdatum. Dieses können Sie oben links in domizil+ umstellen, z. B. um Serienbriefe vor- oder zurückzudatieren.
  • Im Format steht „dd“ für den Tag, „mm“ für den Monat, „yyyy“ bzw. „yy“ für das Jahr und „hh:nn“ für die Uhrzeit. „ddd“ bzw. „dddd“ geben den Wochentag abgekürzt bzw. ausgeschrieben aus, „mmm“ bzw. „mmmm“ den Monatsnamen. Beispiel: DATUM('dddd, dd. mmmm yyyy', '06.07.2015') ergibt „Montag, 06. Juli 2015“.
  • Mit dem Format „datetime“ kann mit dem Ergebnis gerechnet werden.

Der Dialog „Ausdruck erstellen“​

Ausdruck erstellen

Der Dialog hilft beim Zusammenstellen eines Ausdrucks. Er gliedert sich in vier Bereiche:

Ausdruck: Hier steht der Ausdruck, den Sie direkt eintippen oder aus den Befehlen zusammenstellen. Beim Tippen schlägt der Dialog passende Befehle und Spalten vor (ab zwei Buchstaben oder mit Strg+Leertaste). Steht die Schreibmarke in einem Befehl, zeigt ein Hinweis dessen Parameter und hebt den aktuellen Parameter hervor (auch mit Strg+Umschalt+Leertaste). Zusammengehörige Klammern werden markiert.

Ergebnis: Kurz nach jeder Eingabe wird der Ausdruck ausgewertet und das Ergebnis angezeigt. Kann der Ausdruck nicht aufgelöst werden, erscheint die Fehlermeldung in Dunkelrot.

Befehle: Die verfügbaren Befehle stehen in zwei Ordnern – Funktionen und Berechnungen und Text einsetzen (siehe Zwei Schreibweisen) – und darin nach Themen gegliedert: Bedingungen, Textfunktionen, Mathematische Funktionen, Datumsfunktionen, Spalten und SQL, DMS-Funktionen, Programmierskripte und Variablen. Über das Suchfeld filtern Sie die Liste nach Befehl, Beschreibung oder beidem. Mit den Schaltflächen daneben klappen Sie alle Ordner auf oder zu. Ein Doppelklick oder die Eingabetaste setzt den Befehl an der Schreibmarke ein; hat der Befehl Parameter, öffnet sich dafür der Funktionsdialog (siehe unten). Achtung: Der Befehl wird an der Stelle eingesetzt, an der die Schreibmarke im Ausdruck gerade steht.

Hilfe: Zum markierten Befehl stehen hier Syntax, Beschreibung, Parameter und ein Beispiel mit Ergebnis. Mit Beispiel übernehmen setzen Sie das Beispiel an der Schreibmarke ein und passen es dann an.

Welche Befehle angeboten werden, hängt davon ab, wo der Dialog geöffnet wurde: DMS-, Skript- und SQL-Befehle erscheinen nur dort, wo sie erlaubt sind, Spalten nur, wenn es eine Datenmenge gibt. Dort, wo nur ein Befehl ausgewählt werden soll, zeigt der Dialog nur die Befehlsliste.

Der Funktionsdialog​

Beim Doppelklick auf einen Befehl mit Parametern öffnet sich der Dialog Ausdruck Funktion. Oben steht die Beschreibung des Befehls, darunter der entstehende Ausdruck und die Liste der Parameter:

  • Optionale Parameter haben ein Häkchen. Ist es nicht gesetzt, gilt der Standardwert.
  • In der zweiten Spalte wählen Sie bei manchen Parametern die Art des Werts: z. B. Text, Ganzzahl, Gleitkommazahl, Datum, eine Spalte der Datenmenge oder einen Ausdruck (z. B. HEUTE für das aktuelle Datum).
  • In der Spalte Wert geben Sie den Wert ein oder wählen ihn aus.
  • Parameter, die mehrfach vorkommen können (z. B. die Werte bei SUMME oder VERKETTEN), fügen Sie mit dem grünen Plus hinzu und entfernen sie mit dem roten Minus.

Mit OK wird der fertige Ausdruck an der Schreibmarke eingesetzt.

Die Befehle im Einzelnen​

Die Befehle stehen hier in der Schreibweise Funktionen und Berechnungen. In der Schreibweise Text einsetzen wird derselbe Befehl zwischen %-Zeichen geschrieben, z. B. %LINKS('Testtext1', 4)%. Parameter in eckigen Klammern sind optional.

Die ältere Schreibweise von WENN bzw. CASE mit mehreren Bedingungen in eckigen Klammern wird weiterhin unterstützt: %CASE([Wert1, Vergleichswert1, Ergebnis1], [Wert2, Vergleichswert2, Ergebnis2], Sonst)%. Ebenso %IFTHEN(Wert, Vergleichswert, Ergebnis1, Ergebnis2)% mit vier Parametern, das Wert und Vergleichswert auf Gleichheit prüft.

Bedingungen​

BefehlBeschreibungBeispiel
WENN
WENN(Bedingung, DannWert, AnsonstenWert)
auch: CASE
Prüft eine Bedingung. Ist sie erfüllt, wird der Dann-Wert ausgegeben, sonst der Sonst-Wert. Als Bedingung dient meist ein Vergleich, z. B. Daten.ANZAHL > 4. WENN und IFTHEN sind gleichwertig.WENN(5 > 4, 'richtig', 'falsch') ergibt „richtig“
UND
UND(Bedingung, …)
auch: AND
Prüft, ob alle Bedingungen wahr sind.
Bedingung (mehrfach): Wahrheitswert oder Vergleich, z. B. Daten.ANZAHL > 0
UND(5 > 4, 3 > 2) ergibt wahr
ODER
ODER(Bedingung, …)
auch: OR
Prüft, ob mindestens eine Bedingung wahr ist.
Bedingung (mehrfach): Wahrheitswert oder Vergleich, z. B. Daten.ANZAHL > 0
ODER(5 < 4, 3 > 2) ergibt wahr
NICHT
NICHT(Bedingung)
auch: NOT
Kehrt einen Wahrheitswert um.
Bedingung: Wahrheitswert oder Vergleich, z. B. Daten.ANZAHL > 0
NICHT(5 > 4) ergibt falsch
ISTLEER
ISTLEER(Wert)
auch: ISBLANK
Prüft, ob ein Wert leer ist.
Wert: Wert, Spalte oder Ausdruck
ISTLEER('') ergibt wahr
IFTHEN
IFTHEN(Bedingung, DannWert, AnsonstenWert)
Prüft eine Bedingung. Ist sie erfüllt, wird der Dann-Wert ausgegeben, sonst der Sonst-Wert. Als Bedingung dient meist ein Vergleich, z. B. Daten.ANZAHL > 4. WENN und IFTHEN sind gleichwertig.WENN(5 > 4, 'richtig', 'falsch') ergibt „richtig“
COALESCE
COALESCE(Wert, …)
Erster Wert, der nicht leer ist (wie COALESCE in SQL).
Wert (mehrfach): Wert, Spalte oder Ausdruck
COALESCE('', 'Ersatz') ergibt „Ersatz“

Textfunktionen​

BefehlBeschreibungBeispiel
TRIMMEN
TRIMMEN(Wert)
auch: TRIM
Schneidet die Leerzeichen am Anfang und am Ende eines Textes, Ausdrucks oder Spalteninhalts ab.
Wert: Wert, Spalte oder Ausdruck
TRIMMEN(' Text ') ergibt „Text“
LTRIMMEN
LTRIMMEN(Wert)
auch: LTRIM
Schneidet die Leerzeichen am Anfang eines Textes, Ausdrucks oder Spalteninhalts ab.
Wert: Wert, Spalte oder Ausdruck
LTRIMMEN(' Text ') ergibt „Text “ (die Leerzeichen am Ende bleiben)
RTRIMMEN
RTRIMMEN(Wert)
auch: RTRIM
Schneidet die Leerzeichen am Ende eines Textes, Ausdrucks oder Spalteninhalts ab.
Wert: Wert, Spalte oder Ausdruck
RTRIMMEN(' Text ') ergibt „ Text“ (die Leerzeichen am Anfang bleiben)
TEILSTRING
TEILSTRING(Wert, Position, Länge)
auch: COPY, SUBSTRING
Schneidet aus einem Text ab der angegebenen Position die angegebene Anzahl Zeichen aus. Das erste Zeichen hat die Position 1.
Wert: Wert, Spalte oder Ausdruck
Position: Stelle, ab der ausgeschnitten wird; das erste Zeichen hat die Position 1
Länge: Anzahl der Zeichen, die ausgeschnitten werden
TEILSTRING('Testtext1', 5, 4) ergibt „text“
LINKS
LINKS(Wert, Länge)
auch: LEFT
Schneidet die angegebene Anzahl Zeichen vom Anfang eines Textes aus.
Wert: Wert, Spalte oder Ausdruck
Länge: Anzahl der Zeichen, die ausgeschnitten werden
LINKS('Testtext1', 4) ergibt „Test“
RECHTS
RECHTS(Wert, Länge)
auch: RIGHT
Schneidet die angegebene Anzahl Zeichen vom Ende eines Textes aus.
Wert: Wert, Spalte oder Ausdruck
Länge: Anzahl der Zeichen, die ausgeschnitten werden
RECHTS('Testtext1', 5) ergibt „text1“
UMWANDELN
UMWANDELN(Wert, Datentyp)
auch: CAST
Wandelt einen Wert, Ausdruck oder Spalteninhalt in einen anderen Datentyp um, z. B. einen Text in eine Zahl, um damit weiterzurechnen.
Wert: Wert, Spalte oder Ausdruck
Datentyp: Datentyp, in den umgewandelt wird, z. B. String oder Integer
UMWANDELN('1', 'Integer') ergibt die Zahl 1
VERKETTEN
VERKETTEN(Trennzeichen, Wert, …)
auch: CONCAT
Verkettet mehrere Werte mit dem angegebenen Trennzeichen, vor allem Spaltenwerte. Leere Werte werden samt Trennzeichen ausgelassen: Fehlt z. B. der Titel, entsteht zwischen Anrede und Name kein doppeltes Leerzeichen.
Trennzeichen: Trennzeichen zwischen den Werten, z. B. ' ' oder ZEILENUMBRUCH
Wert (mehrfach): Wert, Spalte oder Ausdruck
VERKETTEN(' ', 'Herr', '', 'Mustermann') ergibt „Herr Mustermann“
IBANFORMATIEREN
IBANFORMATIEREN(Wert)
auch: FORMATIBAN
IBAN Formatieren.
Wert: Wert, Spalte oder Ausdruck
IBANFORMATIEREN('AT611904300234573201') ergibt „AT61 1904 3002 3457 3201“
EPC_QR
EPC_QR(Empfängername, IBAN, BIC, Betrag, Referenznummer, [Verwendungszweck], [Information], [nurEWR], [SEPASofortüberweisung], [SEPAPurpose-Code])
EPC-QR-Code Inhalt erzeugen. Ein EPC-QR-Code ist ein vom European Payments Council (EPC) standardisierter QR-Code, der alle Daten für eine SEPA-Überweisung enthält. Mit einem solchen Code können Überweisungen mittels einer Banking-App auf dem Handy sehr einfach durchgeführt werden, indem der QR-Code eingescannt und die dann im Handy dargestellten Überweisungsdaten bestätigt werden.
Empfängername: Name des Zahlungsempfängers, muss mit Kontoinhaber übereinstimmen.
IBAN: Internationale Bankkontonummer des Empfängers
BIC: Business Identifier Code der Empfängerbank. Optional bei nur EWR.
Betrag: Zahlungsbetrag
Referenznummer: Zahlungsreferenz. Es muss entweder eine Zahlungsreferenz oder ein Verwendungszweck angegeben werden.
Verwendungszweck (optional): Verwendungszweck der Überweisung. Es muss entweder eine Zahlungsreferenz oder ein Verwendungszweck angegeben werden.
Information (optional): Optionale Informationen zwischen Zahlungsempfänger und Urheber der Zahlung.
nur EWR (optional): Zahlungsverkehr Teilnehmer sind aus EWR-Ländern
SEPA Sofortüberweisung (optional): SEPA Sofortüberweisung verwenden. Achtung, Sofortüberweisung wird nicht von allen Banken unterstützt.
SEPA Purpose-Code (optional): Optionaler 4-stelliger SEPA purpose code.
VERZEICHNIS
VERZEICHNIS
auch: CURRENTDIR, DIRECTORY, PATH
Aktuelles Verzeichnis, z. B. beim Cold Import das Verzeichnis der importierten Datei. Nur in bestimmten Modulen gefüllt.
DATEINAME
DATEINAME
auch: FILENAME
Aktueller Dateiname, z. B. beim Cold Import der Name der importierten Datei. Nur in bestimmten Modulen gefüllt.
TEXTBLOCK
TEXTBLOCK(Wert)
Fügt einen RTF-Textbaustein ein.
Wert: Name des Textbausteins
LÄNGE
LÄNGE(Wert)
auch: LEN
Anzahl der Zeichen eines Textes.
Wert: Wert, Spalte oder Ausdruck
LÄNGE('Testtext') ergibt 8
WERT
WERT(Wert)
auch: VALUE
Wandelt einen Text in eine Zahl um.
Wert: Wert, Spalte oder Ausdruck
WERT('12,5') + 1 ergibt 13,5

Mathematische Funktionen​

BefehlBeschreibungBeispiel
ABS
ABS(Wert)
Gibt den Absolutwert einer Zahl aus, also die Zahl ohne Vorzeichen. Die Zahl kann auch aus einer Spalte oder einem Ausdruck kommen.
Wert: Wert, Spalte oder Ausdruck
ABS(-6) ergibt 6
ZAHLFORMATIEREN
ZAHLFORMATIEREN([Format], Wert)
auch: FORMATFLOAT
Gibt eine Zahl formatiert als Text aus. Im Format steht # für eine Ziffer, die nur ausgegeben wird, wenn es sie gibt, und 0 für eine Ziffer, die sonst mit 0 aufgefüllt wird – mit dem Format 00000 wird z. B. eine Nummer auf fünf Stellen aufgefüllt. Im Format trennt ',' die Tausender und '.' die Nachkommastellen; ausgegeben wird mit den Trennzeichen der Ländereinstellung, bei Deutsch also mit Punkt als Tausender- und Komma als Dezimaltrennzeichen. Hat die Zahl mehr Nachkommastellen als das Format, wird gerundet.
Format (optional): Format für die Zahl, z. B. ###,##0.00
Wert: Wert, Spalte oder Ausdruck
ZAHLFORMATIEREN('###,##0.00', 123456.3) ergibt 123.456,30 (deutsche Ländereinstellung)
RUNDEN
RUNDEN(Wert, [AnzahlStellen])
auch: ROUND
Rundet eine Zahl auf die angegebene Anzahl Nachkommastellen. Hat die Zahl weniger Nachkommastellen, wird nicht mit Nullen aufgefüllt – dafür ZAHLFORMATIEREN verwenden.
Wert: Wert, Spalte oder Ausdruck
Anzahl Stellen (optional): Anzahl der Nachkommastellen
RUNDEN(1.37, 1) ergibt 1,4
SUMME
SUMME(Wert)
auch: SUM
Addiert mehrere Werte; negative Werte werden abgezogen. Weitere Werte werden mit Komma angehängt und können auch aus Spalten oder Ausdrücken kommen.
Wert: Zahl, Spalte oder Ausdruck, die addiert wird; weitere Werte mit Komma anhängen
SUMME(5, 4, -3) ergibt 6
MIN
MIN(Wert, …)
Kleinsten Wert mehrerer Werte ermitteln (Zahl, Datum oder Text).
Wert (mehrfach): Wert oder Ausdruck zum Vergleichen
MIN(5, 3, 8) ergibt 3
MAX
MAX(Wert, …)
Größten Wert mehrerer Werte ermitteln (Zahl, Datum oder Text).
Wert (mehrfach): Wert oder Ausdruck zum Vergleichen
MAX(5, 3, 8) ergibt 8
MITTELWERT
MITTELWERT(Wert, …)
auch: AVERAGE
Mittelwert (Durchschnitt) mehrerer Zahlen.
Wert (mehrfach): Wert, Spalte oder Ausdruck
MITTELWERT(2, 4, 9) ergibt 5
ANZAHL
ANZAHL(Wert, …)
auch: COUNT
Anzahl der Werte, die Zahlen sind.
Wert (mehrfach): Wert, Spalte oder Ausdruck
ANZAHL(5, 'Text', 3) ergibt 2
ANZAHL2
ANZAHL2(Wert, …)
auch: COUNTA
Anzahl der Werte, die nicht leer sind.
Wert (mehrfach): Wert, Spalte oder Ausdruck
ANZAHL2(5, '', 'Text') ergibt 2
AUFRUNDEN
AUFRUNDEN(Wert, [AnzahlStellen])
auch: ROUNDUP
Rundet eine Zahl vom Nullpunkt weg auf.
Wert: Wert, Spalte oder Ausdruck
Anzahl Stellen (optional): Nachkommastellen, negativ für Stellen vor dem Komma
AUFRUNDEN(3.21, 1) ergibt 3,3
ABRUNDEN
ABRUNDEN(Wert, [AnzahlStellen])
auch: ROUNDDOWN
Rundet eine Zahl zum Nullpunkt hin ab.
Wert: Wert, Spalte oder Ausdruck
Anzahl Stellen (optional): Nachkommastellen, negativ für Stellen vor dem Komma
ABRUNDEN(3.29, 1) ergibt 3,2
POTENZ
POTENZ(Basis, Exponent)
auch: POWER
Potenziert eine Zahl.
Basis: Zahl, die potenziert wird
Exponent: Hochzahl
POTENZ(2, 10) ergibt 1024
RECHNE
RECHNE(Wert)
auch: CALC
Rechnet den Ausdruck in der Klammer aus.
Wert: Rechnung mit Zahlen, Spalten und Befehlen, z. B. Daten.BETRAG * 1.2 + 3
RECHNE(10 * 1.2 + 3) ergibt 15
KÜRZEN
KÜRZEN(Wert)
auch: TRUNC
Schneidet alle Nachkommastellen einer Zahl ab, ohne zu runden.
Wert: Wert, Spalte oder Ausdruck
KÜRZEN(3.76) ergibt 3

Datumsfunktionen​

BefehlBeschreibungBeispiel
DATUM
DATUM([Format], [Datum])
auch: DATE
Ermittelt ein Datum aus einer Spalte oder einem Ausdruck (z. B. HEUTE) und gibt es im angegebenen Format aus. Ohne Datum wird das aktuelle Datum verwendet.
Format (optional): Format für die Ausgabe des Datums, z. B. dd.mm.yyyy; mit 'datetime' kann mit dem Ergebnis gerechnet werden
Datum (optional): Datum, Spalte oder Ausdruck, aus dem das Datum gelesen wird; ohne Angabe das aktuelle Datum
DATUM('datetime', HEUTE) + 14 ergibt das Datum in 14 Tagen
HEUTE
HEUTE([Format])
auch: TODAY
Ermittelt das aktuelle Tagesdatum (nicht das globale Verarbeitungsdatum, dafür HEUTEGLOBAL) und gibt es als Text aus. Optional kann das Format angegeben werden.
Format (optional): Format für die Ausgabe des Datums, z. B. dd.mm.yyyy; mit 'datetime' kann mit dem Ergebnis gerechnet werden
HEUTE('datetime') + 14 ergibt das Datum in 14 Tagen
MORGEN
MORGEN([Format])
auch: TOMORROW
Ermittelt das Datum von morgen (ausgehend vom aktuellen Tagesdatum, nicht vom globalen Verarbeitungsdatum) und gibt es als Text aus. Optional kann das Format angegeben werden.
Format (optional): Format für die Ausgabe des Datums, z. B. dd.mm.yyyy; mit 'datetime' kann mit dem Ergebnis gerechnet werden
MORGEN('datetime') + 14 ergibt das Datum in 15 Tagen
GESTERN
GESTERN([Format])
auch: YESTERDAY
Ermittelt das Datum von gestern (ausgehend vom aktuellen Tagesdatum, nicht vom globalen Verarbeitungsdatum) und gibt es als Text aus. Optional kann das Format angegeben werden.
Format (optional): Format für die Ausgabe des Datums, z. B. dd.mm.yyyy; mit 'datetime' kann mit dem Ergebnis gerechnet werden
GESTERN
TAG
TAG([Datum])
auch: DAY
Ermittelt den Tag eines Datums als Zahl. Ohne Datum wird das aktuelle Datum verwendet.
Datum (optional): Datum, Spalte oder Ausdruck, aus dem das Datum gelesen wird; ohne Angabe das aktuelle Datum
TAG('05.06.2013') ergibt 5
MONAT
MONAT([Datum])
auch: MONTH
Ermittelt den Monat eines Datums als Zahl. Ohne Datum wird das aktuelle Datum verwendet.
Datum (optional): Datum, Spalte oder Ausdruck, aus dem das Datum gelesen wird; ohne Angabe das aktuelle Datum
MONAT('05.06.2013') ergibt 6
JAHR
JAHR([Datum])
auch: YEAR
Ermittelt das Jahr eines Datums als Zahl. Ohne Datum wird das aktuelle Datum verwendet.
Datum (optional): Datum, Spalte oder Ausdruck, aus dem das Datum gelesen wird; ohne Angabe das aktuelle Datum
JAHR('05.06.2013') ergibt 2013
WOCHE
WOCHE([Datum])
auch: WEEK
Ermittelt die Kalenderwoche eines Datums als Zahl. Ohne Datum wird das aktuelle Datum verwendet.
Datum (optional): Datum, Spalte oder Ausdruck, aus dem das Datum gelesen wird; ohne Angabe das aktuelle Datum
WOCHE('05.06.2013') ergibt 23
WOCHENTAG
WOCHENTAG([Datum])
auch: WEEKDAY
Ermittelt anhand eines Datums den Wochentag.
Datum (optional): Datum, Spalte oder Ausdruck, aus dem das Datum gelesen wird; ohne Angabe das aktuelle Datum
WOCHENTAG('30.10.2026') ergibt „Freitag“
DATUMGLOBAL
DATUMGLOBAL([Format])
auch: DATEGLOBAL
Ermittelt das globale Verarbeitungsdatum und gibt es als Text aus. Das globale Datum lässt sich in domizil+ oben links umstellen, z. B. um Serienbriefe vor- oder zurückzudatieren. Optional kann das Format angegeben werden.
Format (optional): Format für die Ausgabe des Datums, z. B. dd.mm.yyyy; mit 'datetime' kann mit dem Ergebnis gerechnet werden
DATUMGLOBAL
MORGENGLOBAL
MORGENGLOBAL([Format])
auch: TOMORROWGLOBAL
Ermittelt den Tag nach dem globalen Verarbeitungsdatum und gibt ihn als Text aus. Optional kann das Format angegeben werden.
Format (optional): Format für die Ausgabe des Datums, z. B. dd.mm.yyyy; mit 'datetime' kann mit dem Ergebnis gerechnet werden
MORGENGLOBAL
GESTERNGLOBAL
GESTERNGLOBAL([Format])
auch: YESTERDAYGLOBAL
Ermittelt den Tag vor dem globalen Verarbeitungsdatum und gibt ihn als Text aus. Optional kann das Format angegeben werden.
Format (optional): Format für die Ausgabe des Datums, z. B. dd.mm.yyyy; mit 'datetime' kann mit dem Ergebnis gerechnet werden
GESTERNGLOBAL
TAGGLOBAL
TAGGLOBAL([Datum])
auch: DAYGLOBAL
Tag des globalen Datums ermitteln.
Datum (optional): Datum, Spalte oder Ausdruck, aus dem das Datum gelesen wird; ohne Angabe das aktuelle Datum
MONATGLOBAL
MONATGLOBAL([Datum])
auch: MONTHGLOBAL
Monat des globalen Datums ermitteln.
Datum (optional): Datum, Spalte oder Ausdruck, aus dem das Datum gelesen wird; ohne Angabe das aktuelle Datum
JAHRGLOBAL
JAHRGLOBAL([Datum])
auch: YEARGLOBAL
Jahr des globalen Datums (Arbeitsjahr) ermitteln.
Datum (optional): Datum, Spalte oder Ausdruck, aus dem das Datum gelesen wird; ohne Angabe das aktuelle Datum
WOCHEGLOBAL
WOCHEGLOBAL([Datum])
auch: WEEKGLOBAL
Kalenderwoche des globalen Datums ermitteln.
Datum (optional): Datum, Spalte oder Ausdruck, aus dem das Datum gelesen wird; ohne Angabe das aktuelle Datum
TAGE
TAGE(Zieldatum, Ausgangsdatum)
auch: DAYS
Anzahl der Tage zwischen zwei Datumswerten.
Zieldatum: Späteres Datum
Ausgangsdatum: Früheres Datum
TAGE('31.12.2026', '01.12.2026') ergibt 30
MONATSENDE
MONATSENDE(Datum, [Monate])
auch: EOMONTH
Letzter Tag des Monats, auch Monate davor oder danach.
Datum: Datum, Spalte oder Ausdruck
Monate (optional): Monate vor (negativ) oder nach dem Datum
MONATSENDE('15.02.2026', 1) ergibt 31.03.2026
INCDAY
INCDAY([Format], [Wert], [Datum])
Erhöht ein Datum um die angegebene Anzahl Tage und gibt es im angegebenen Format aus. Mit einer negativen Anzahl wird zurückgerechnet. Ohne Datum wird das aktuelle Datum verwendet.
Format (optional): Format für die Ausgabe des Datums, z. B. dd.mm.yyyy; mit 'datetime' kann mit dem Ergebnis gerechnet werden
Wert (optional): Anzahl, um die erhöht wird; mit einer negativen Anzahl wird zurückgerechnet
Datum (optional): Datum, Spalte oder Ausdruck, aus dem das Datum gelesen wird; ohne Angabe das aktuelle Datum
INCDAY('dd.mm.yyyy', 3, '05.06.2013') ergibt 08.06.2013
INCMONTH
INCMONTH([Format], [Wert], [Datum])
Erhöht ein Datum um die angegebene Anzahl Monate und gibt es im angegebenen Format aus. Mit einer negativen Anzahl wird zurückgerechnet. Ohne Datum wird das aktuelle Datum verwendet.
Format (optional): Format für die Ausgabe des Datums, z. B. dd.mm.yyyy; mit 'datetime' kann mit dem Ergebnis gerechnet werden
Wert (optional): Anzahl, um die erhöht wird; mit einer negativen Anzahl wird zurückgerechnet
Datum (optional): Datum, Spalte oder Ausdruck, aus dem das Datum gelesen wird; ohne Angabe das aktuelle Datum
INCMONTH('dd.mm.yyyy', 3, '05.06.2013') ergibt 05.09.2013
INCYEAR
INCYEAR([Format], [Wert], [Datum])
Erhöht ein Datum um die angegebene Anzahl Jahre und gibt es im angegebenen Format aus. Mit einer negativen Anzahl wird zurückgerechnet. Ohne Datum wird das aktuelle Datum verwendet.
Format (optional): Format für die Ausgabe des Datums, z. B. dd.mm.yyyy; mit 'datetime' kann mit dem Ergebnis gerechnet werden
Wert (optional): Anzahl, um die erhöht wird; mit einer negativen Anzahl wird zurückgerechnet
Datum (optional): Datum, Spalte oder Ausdruck, aus dem das Datum gelesen wird; ohne Angabe das aktuelle Datum
INCYEAR('dd.mm.yyyy', 3, '05.06.2013') ergibt 05.06.2016
ENCODEDATE
ENCODEDATE([Format], Jahr, Monat, Tag, [Stunde], [Minute], [Sekunde], [Millisekunde])
Setzt ein Datum mit Uhrzeit aus Jahr, Monat, Tag, Stunde, Minute, Sekunde und Millisekunde zusammen und gibt es im angegebenen Format aus. Jeder Wert kann auch aus einer Spalte oder einem Ausdruck kommen. Jahr, Monat und Tag müssen angegeben werden; fehlt die Uhrzeit, gilt 0:00.
Format (optional): Format für die Ausgabe des Datums, z. B. dd.mm.yyyy; mit 'datetime' kann mit dem Ergebnis gerechnet werden
Jahr: Jahr als Zahl, Spalte oder Ausdruck
Monat: Monat als Zahl, Spalte oder Ausdruck
Tag: Tag als Zahl, Spalte oder Ausdruck
Stunde (optional): Stunde als Zahl, Spalte oder Ausdruck; ohne Angabe 0
Minute (optional): Minute als Zahl, Spalte oder Ausdruck; ohne Angabe 0
Sekunde (optional): Sekunde als Zahl, Spalte oder Ausdruck; ohne Angabe 0
Millisekunde (optional): Millisekunde als Zahl, Spalte oder Ausdruck; ohne Angabe 0
ENCODEDATE('dd.mm.yyyy hh:nn', 2013, 1, 1, 15, 30) ergibt 01.01.2013 15:30
DATEDIF
DATEDIF(Ausgangsdatum, Zieldatum, Einheit)
Abstand zwischen zwei Datumswerten in Tagen, Monaten oder Jahren.
Ausgangsdatum: Früheres Datum
Zieldatum: Späteres Datum
Einheit: D = Tage, M = Monate, Y = Jahre; MD, YM, YD = Rest ohne Monate bzw. Jahre
DATEDIF('01.01.2020', '30.10.2026', 'Y') ergibt 6

Spalten und SQL​

BefehlBeschreibungBeispiel
SPALTE
SPALTE([Spalte])
auch: FIELD
Wert einer Spalte der Datenmenge ermitteln, z. B. im Serienbrief.
Spalte: Name der Datenmenge und der Spalte, z. B. Datenmenge.Spalte
SQL
SQL(SQL, Spalte, Datenbank, [Aktualisieren], [Cacheverwenden])
Führt eine SQL-Abfrage aus und gibt den Wert einer Spalte aus dem ersten Datensatz aus.
SQL: die Abfrage
Spalte: Spalte, deren Wert ausgegeben wird
Datenbank: 0 = System, 1 = Mandant, 2 = DMS
Aktualisieren (optional): mit True wird die Abfrage immer neu ausgeführt
Cache verwenden (optional): ohne Angabe wird das Ergebnis zwischengespeichert und bei derselben Abfrage wiederverwendet; mit False wird jedes Mal neu abgefragt

DMS-Funktionen​

BefehlBeschreibungBeispiel
EIGENSCHAFT
EIGENSCHAFT(Eigenschaftsname)
auch: PROPERTY
Wert einer Eigenschaft ermitteln. Als Spalte muss der Name der Eigenschaft angegeben werden.
Eigenschaftsname: Name der Eigenschaft des Containers z.B. Nummer
Eigenschaft('Rechnung')
VERKNÜPFUNG
VERKNÜPFUNG(Knotentyp, Knotenspalte)
auch: LINK
Wert einer Verknüpfung ermitteln. Es muss der Knotentyp und die Spalte angegeben werden.
Knotentyp: Name des Knoten z.B. Objekt
Knotenspalte: Name der Spalte die aus dem Knoten gelesen werden soll z.B. Name, Nummer, usw.
Verknüpfung('Objekt', 'Name')
CONTAINER
CONTAINER(Spalte)
Wert einer Spalte des Containers auslesen.
Spalte: Welches Feld des Containers soll ermittelt werden wie z.B. Name, Quelle, usw.
Container('Name')

Programmierskripte​

BefehlBeschreibungBeispiel
SKRIPT
SKRIPT(Art, SourcecodeOderInjektionName)
auch: SCRIPT
Führt ein Skript aus: entweder Quellcode oder eine registrierte Injektion.
Skript Art: Source (Quellcode) oder Injection
SourcecodeOderInjektion: Quellcode bzw. Name der Injektion

Variablen​

BefehlBeschreibungBeispiel
MANDANTENID
MANDANTENID
ID des aktuellen Mandanten.
MANDANTENNAME
MANDANTENNAME
Name des aktuellen Mandanten.
PRIMÄRGRUPPE
PRIMÄRGRUPPE
Name der primären Gruppe des angemeldeten Benutzers.
PRIMÄRGRUPPENID
PRIMÄRGRUPPENID
ID der primären Gruppe des angemeldeten Benutzers.
BENUTZERNAME
BENUTZERNAME
Benutzername.
BENUTZERID
BENUTZERID
Benutzer ID.
NETFRAMEVERSION
NETFRAMEVERSION
domizil+ Version.

Weitere Befehle​

Die folgenden Befehle stehen nicht in der Befehlsliste des Dialogs, können aber direkt eingegeben werden. Die Befehle zu Datei und Verzeichnis sind nur dort gefüllt, wo eine Datei verarbeitet wird, z. B. im Cold Import.

BefehlBeschreibung
HEUTEGLOBAL
HEUTEGLOBAL([Format])
auch: TODAYGLOBAL
Globales Verarbeitungsdatum (wie DATUMGLOBAL).
DATEINAMEOHNEERWEITERUNG
auch: FILENAMEWITHOUTEXTENSION, FILENAMEWITHOUTEXT
Aktueller Dateiname ohne Endung.
VERZEICHNISNAME
auch: CURRENTDIRNAME, DIRECTORYNAME, PATHNAME
Name des Ordners, in dem die aktuelle Datei liegt.
DATEIERSTELLUNGSDATUM
DATEIERSTELLUNGSDATUM([Format])
auch: FILECREATIONDATE, FILECREATEDATE
Erstellungsdatum der aktuellen Datei.
DATEILETZTESCHREIBDATUM
DATEILETZTESCHREIBDATUM([Format])
auch: FILELASTWRITEDATE
Datum der letzten Änderung der aktuellen Datei.
DATEILETZTERZUGRIFFSDATUM
DATEILETZTERZUGRIFFSDATUM([Format])
auch: FILELASTACCESSDATE
Datum des letzten Zugriffs auf die aktuelle Datei.

Bei DATEINAME, DATEINAMEOHNEERWEITERUNG, VERZEICHNIS und VERZEICHNISNAME kann zusätzlich nur ein Teil ausgegeben werden: S (ab einer Position), L (von links) oder R (von rechts), z. B. DATEINAME('L', 5) für die ersten fünf Zeichen (siehe Cold Funktion FILENAME).

Variablen der Module​

Neben den Variablen oben stellen manche Module eigene Variablen zur Verfügung, z. B. der Serienbrief. Sie erscheinen im Dialog im Ordner Variablen und werden wie ein Befehl ohne Parameter verwendet.