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:
- im Serienbrief: zum Formatieren von Datenfeldern und in berechneten Feldern (siehe Serienbriefe – Datenfelder formatieren mithilfe von Expressions),
- in der DMS-Beschlagwortung und den DMS-Suchbedingungen, z. B. für den Dokumente-Button (siehe Administratorenhandbuch DMS – Konfiguration des dynamischen Menüs),
- im Cold Import in jedem Wert der Cold-Datei (siehe Cold Funktionen in der XML Datei).
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 mitDatenmenge.Spalteangesprochen.
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“

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
| Befehl | Beschreibung | Beispiel |
|---|---|---|
WENNWENN(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“ |
UNDUND(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 |
ODERODER(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 |
NICHTNICHT(Bedingung)auch: NOT | Kehrt einen Wahrheitswert um. Bedingung: Wahrheitswert oder Vergleich, z. B. Daten.ANZAHL > 0 | NICHT(5 > 4) ergibt falsch |
ISTLEERISTLEER(Wert)auch: ISBLANK | Prüft, ob ein Wert leer ist. Wert: Wert, Spalte oder Ausdruck | ISTLEER('') ergibt wahr |
IFTHENIFTHEN(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“ |
COALESCECOALESCE(Wert, …) | Erster Wert, der nicht leer ist (wie COALESCE in SQL). Wert (mehrfach): Wert, Spalte oder Ausdruck | COALESCE('', 'Ersatz') ergibt „Ersatz“ |
Textfunktionen
| Befehl | Beschreibung | Beispiel |
|---|---|---|
TRIMMENTRIMMEN(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“ |
LTRIMMENLTRIMMEN(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) |
RTRIMMENRTRIMMEN(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) |
TEILSTRINGTEILSTRING(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“ |
LINKSLINKS(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“ |
RECHTSRECHTS(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“ |
UMWANDELNUMWANDELN(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 |
VERKETTENVERKETTEN(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“ |
IBANFORMATIERENIBANFORMATIEREN(Wert)auch: FORMATIBAN | IBAN Formatieren. Wert: Wert, Spalte oder Ausdruck | IBANFORMATIEREN('AT611904300234573201') ergibt „AT61 1904 3002 3457 3201“ |
EPC_QREPC_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. | |
VERZEICHNISVERZEICHNISauch: CURRENTDIR, DIRECTORY, PATH | Aktuelles Verzeichnis, z. B. beim Cold Import das Verzeichnis der importierten Datei. Nur in bestimmten Modulen gefüllt. | |
DATEINAMEDATEINAMEauch: FILENAME | Aktueller Dateiname, z. B. beim Cold Import der Name der importierten Datei. Nur in bestimmten Modulen gefüllt. | |
TEXTBLOCKTEXTBLOCK(Wert) | Fügt einen RTF-Textbaustein ein. Wert: Name des Textbausteins | |
LÄNGELÄNGE(Wert)auch: LEN | Anzahl der Zeichen eines Textes. Wert: Wert, Spalte oder Ausdruck | LÄNGE('Testtext') ergibt 8 |
WERTWERT(Wert)auch: VALUE | Wandelt einen Text in eine Zahl um. Wert: Wert, Spalte oder Ausdruck | WERT('12,5') + 1 ergibt 13,5 |
Mathematische Funktionen
| Befehl | Beschreibung | Beispiel |
|---|---|---|
ABSABS(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 |
ZAHLFORMATIERENZAHLFORMATIEREN([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) |
RUNDENRUNDEN(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 |
SUMMESUMME(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 |
MINMIN(Wert, …) | Kleinsten Wert mehrerer Werte ermitteln (Zahl, Datum oder Text). Wert (mehrfach): Wert oder Ausdruck zum Vergleichen | MIN(5, 3, 8) ergibt 3 |
MAXMAX(Wert, …) | Größten Wert mehrerer Werte ermitteln (Zahl, Datum oder Text). Wert (mehrfach): Wert oder Ausdruck zum Vergleichen | MAX(5, 3, 8) ergibt 8 |
MITTELWERTMITTELWERT(Wert, …)auch: AVERAGE | Mittelwert (Durchschnitt) mehrerer Zahlen. Wert (mehrfach): Wert, Spalte oder Ausdruck | MITTELWERT(2, 4, 9) ergibt 5 |
ANZAHLANZAHL(Wert, …)auch: COUNT | Anzahl der Werte, die Zahlen sind. Wert (mehrfach): Wert, Spalte oder Ausdruck | ANZAHL(5, 'Text', 3) ergibt 2 |
ANZAHL2ANZAHL2(Wert, …)auch: COUNTA | Anzahl der Werte, die nicht leer sind. Wert (mehrfach): Wert, Spalte oder Ausdruck | ANZAHL2(5, '', 'Text') ergibt 2 |
AUFRUNDENAUFRUNDEN(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 |
ABRUNDENABRUNDEN(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 |
POTENZPOTENZ(Basis, Exponent)auch: POWER | Potenziert eine Zahl. Basis: Zahl, die potenziert wird Exponent: Hochzahl | POTENZ(2, 10) ergibt 1024 |
RECHNERECHNE(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ÜRZENKÜ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
| Befehl | Beschreibung | Beispiel |
|---|---|---|
DATUMDATUM([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 |
HEUTEHEUTE([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 |
MORGENMORGEN([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 |
GESTERNGESTERN([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 |
TAGTAG([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 |
MONATMONAT([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 |
JAHRJAHR([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 |
WOCHEWOCHE([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 |
WOCHENTAGWOCHENTAG([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“ |
DATUMGLOBALDATUMGLOBAL([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 |
MORGENGLOBALMORGENGLOBAL([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 |
GESTERNGLOBALGESTERNGLOBAL([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 |
TAGGLOBALTAGGLOBAL([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 | |
MONATGLOBALMONATGLOBAL([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 | |
JAHRGLOBALJAHRGLOBAL([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 | |
WOCHEGLOBALWOCHEGLOBAL([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 | |
TAGETAGE(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 |
MONATSENDEMONATSENDE(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 |
INCDAYINCDAY([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 |
INCMONTHINCMONTH([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 |
INCYEARINCYEAR([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 |
ENCODEDATEENCODEDATE([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 |
DATEDIFDATEDIF(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
| Befehl | Beschreibung | Beispiel |
|---|---|---|
SPALTESPALTE([Spalte])auch: FIELD | Wert einer Spalte der Datenmenge ermitteln, z. B. im Serienbrief. Spalte: Name der Datenmenge und der Spalte, z. B. Datenmenge.Spalte | |
SQLSQL(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
| Befehl | Beschreibung | Beispiel |
|---|---|---|
EIGENSCHAFTEIGENSCHAFT(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ÜPFUNGVERKNÜ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') |
CONTAINERCONTAINER(Spalte) | Wert einer Spalte des Containers auslesen. Spalte: Welches Feld des Containers soll ermittelt werden wie z.B. Name, Quelle, usw. | Container('Name') |
Programmierskripte
| Befehl | Beschreibung | Beispiel |
|---|---|---|
SKRIPTSKRIPT(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
| Befehl | Beschreibung | Beispiel |
|---|---|---|
MANDANTENIDMANDANTENID | ID des aktuellen Mandanten. | |
MANDANTENNAMEMANDANTENNAME | Name des aktuellen Mandanten. | |
PRIMÄRGRUPPEPRIMÄRGRUPPE | Name der primären Gruppe des angemeldeten Benutzers. | |
PRIMÄRGRUPPENIDPRIMÄRGRUPPENID | ID der primären Gruppe des angemeldeten Benutzers. | |
BENUTZERNAMEBENUTZERNAME | Benutzername. | |
BENUTZERIDBENUTZERID | Benutzer ID. | |
NETFRAMEVERSIONNETFRAMEVERSION | 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.
| Befehl | Beschreibung |
|---|---|
HEUTEGLOBALHEUTEGLOBAL([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. |
DATEIERSTELLUNGSDATUMDATEIERSTELLUNGSDATUM([Format])auch: FILECREATIONDATE, FILECREATEDATE | Erstellungsdatum der aktuellen Datei. |
DATEILETZTESCHREIBDATUMDATEILETZTESCHREIBDATUM([Format])auch: FILELASTWRITEDATE | Datum der letzten Änderung der aktuellen Datei. |
DATEILETZTERZUGRIFFSDATUMDATEILETZTERZUGRIFFSDATUM([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.