Formelkatalog

Formelkatalog

Im Formelkatalog finden Sie vorgefertigte, nützliche Funktionen für Formeln im Listenwesen. Alle Funktionen finden Sie in den geöffneten Formelfenstern in der rechten Spalte. Die Funktionen können mit Doppelklick in den Formeleditor übernommen und ergänzt werden. Zusätzlich finden Sie den vollständigen Formelkatalog mit ausführlicher Beschreibung unter Einrichtung Einrichtung > KatalogeExpand Kataloge > FormelkatalogFormelkatalog.

Administration

Aktuelle Fibu Paket Nummer

Fibu_Export_Paket_Nr

Liefert aktuelle Fibu-Paket Nummer

Parameter:
keine

Rückgabewert: Zahl

Alle Variablenwerte

Variables_Stack_Describe

 
Daten Puffer Zugriff

Daten_Puffer_Feld_Zugriff(<Segment>;<Rückgabefeld>{;<Suchfeld>;<Suchwert>})

Ermöglicht den Zugriff auf den Datenpuffer (Administration). Dient dazu langlaufende Statistiklisten zu materialisieren und mehrstufige Analysen ausführen.

Parameter:
Segment (Zeichenfolge): Name des Segments als Zeichenfolge
Rückgabefeld: Welches der Felder soll ausgegeben werden
Suchfeld-optional: Welches Feld soll durchsucht werden?
Suchwert-optional: Das Suchfeld soll auf welchen Wert geprüft werden?

Rückgabewert:
Text


Job - Letzte Ausführung

Job_Last_Execution(<Job-Nr>{;<Status>})

Gibt aus ab wann z.B. die Transkation, in der ein Job Schritt läuft zuletzt erfolgreich beendet wurde.

Parameter:
Job-Nr. (Zahl): Nummer des zu prüfenden Jobs
Status (Text)-optional: Prüfen auf welchen Status

Rückgabewert:
Zeitstempel

Beispiele:
Job_Last_Execution (num(Job_Parameter_Wert("JobLogKetteJobNr."));"Beendet")
liefert den Zeitstempel, wann die Transaktion, in der der aktuelle Job gestartet wurde, zuletzt ohne Fehler lief.

Hinweis:
den Zeitstempel kann man in Datum und Uhrzeit über die Funktionen
- Zeitstempel_Nach_Datum und Zeitstempel_Nach_Zeit auswerten.

Job - Letzte Protokoll Nummer

Job_Log_Last_Execution(<Job-Nr>{;<Status>{;<Job-Parametername>{;<Job-Parameterwert>;<...>}}})

Überprüft ob ein entsprechender Eintrag im Job Log existiert und liefert die letzte Job Log Nummer zurück.

Parameter:
Job-Nr(Zahl): Nr des Jobs
Status(Text): Status im Joblog (alle = "")
Job-Parametername(Text): muss bezügl. Groß-Kleinschreibung exakt sein!
Job-Parameterwert(Text): Wert des Parameters

Rückgabewert:
Zahl

Beispiele:
Job_Log_Last_Execution(713; ""; "VorgangNr"; "15262")

Achtung:
Sobald das Job Log reorganisiert wurde, wird nichts mehr gefunden, d.h. typischerweise kann auf Daten die älter als 6 Wochen sind nicht mehr zugreifen.

Job Bemerkung erzeugen

Job_Bemerkung(<Bemerkungstext>)

Um während der Jobverarbeitung in Abhängigkeit von einer Bedingung unterschiedlich reagieren zu können, können in einer Liste Bedingungen geprüft und mittels einer Formel in die Bemerkung des Job Log geschrieben werden.
Abhängig vom Inhalt der Bemerkung kann dann z. B. der Folge-Job 1 oder 2 gestartet werden.

Parameter:
Bemerkungstext (Zeichenfolge): Bemerkung die ins Job Log geschrieben werden soll.

Die Funktion liefert eine leere Zeichenkette zurück.

Rückgabewert = ""

Job Parameter

Job_Parameter_Wert(<Parameter-Name>{;<Neuer Parameter-Wert>})

Zum auslesen und setzen von Informationen die vom einen in den andern Job übergeben werden sollen.

Parameter:
Parameter-Name(Text): Technischer Name
Neuer Parameter-Wert(Text): Neu zu setzender Wert

Laufwerk: Freie Kapazität

Laufwerk_Freie_MBs(<Laufwerk>)

Liefert den freien Speicherplatz eines Laufwerks in Megabyte. Hiermit kann vor Jobausführung geprüft werden, ob z.B. ausreichend Speicherplatz für ein Backup zur Verfügung steht. (Für die Darstellung in Gigabyte muss noch durch 1024 geteilt werden.)

Parameter:
Laufwerk (Zeichenfolge): Laufwerks-Buchstabe basierend auf der Windows-Laufwerks-Benennung

Rückgabewert:
Zahl

Beispiele:
Laufwerk_Freie_MBs("c")
Ergebnis = 244.706,26

Der selbe Wert in Gigabyte:
Laufwerk_Freie_MBs("c")/1024
Ergebnis = 238,97

php Funktion ausführen

Php_Function(<SkriptPfad>;<Funktion>{;<Parameter 1>;<Parameter 10>})

Technisches Feature zur Erweiterung der Funktionen des Listenwesens durch Nutzung der php Skriptsprache.(Diese ist bei Web Entwicklern sehr weit verbreitet.)
Es gibt daher reichhaltige Bibliotheken von Funktionen mit denen man von einfachen String-Operationen bis hin zu SQL Datenbankanfragen alles machen kann.

Parameter:
SkriptPfad(Text): Ort an dem das Skript gefunden wird
Funktion(Text): Funktion die aufgerufen werden soll
Optional(Text): Parameter 1 - Parameter 10: Es sind 10 Parameter optional möglich

Beispiel:
Der Kunde hat noch eine andere Datenbank und möchte in einer Kundenliste Daten aus dieser hinzulesen. Kunde schreibt ein php Skript (oder lässt dieses Schreiben) für den Zugriff und bindet dieses in die Liste ein.

Spaltenparameter

Spaltenparameter

 
Umgebungsvariablenwert

Umgebungsvariable_Wert(<Variablenname>)

Liefert den Eintrag, der unter Administration -> Einstellungen -> Techn. Einstellungen -> Umgebungsvariable -> Wert als Zeichenfolge eingetragen ist.

Parameter:
Variablenname (Zeichenfolge): Zeichenfolge, die als Umgebungsvariable vorhanden sein muss

Rückgabewert:
Text

Beispiele:
Umgebungsvariable_Wert("WebShop-Verzeichnis")
Ergebnis = "..\..\Keybits\Transfer"

Umgebungsvariable_Wert("Addipos-Export)
Ergebnis = " ..\..\..\..\ADDIPOS\Export\"

Variablenwert addieren

Variable_Add_Number(<Name>;<Zahl>{;<Wert setzen>{;<auch für Aufrufer>}})

Addiert einen Wert zu einer Variablen.
Voraussetzung ist, dass die Variablen innerhalb eines Jobs oder einer Transaktion aufgerufen werden.

Parameter:
Name(Text): Name der Variablen
Zahl(Number): zu addierende Zahl
Variablesetzen(Wahrheitswert)-optional: steuert Anhand von Bedingungen ob die Änderung vorgenommen wird Standard=TRUE

Rückgabewert:
Zahl

Beispiele:
Eine Variable mit Namen "V_Anzahl" ist bereits mit einem Wert von 10 gesetzt.
Variable_Add_Number("V_Anzahl";1)

Ergebnis: 11

Eine Variable mit Namen "V_Anzahl" ist bereits mit einem Wert von 10 gesetzt.
Variable_Add_Number("V_Anzahl";1;FALSE)

Ergebnis: 10

Variablenwert aggregieren und lesen

Variable_Aggregate_And_Get(<Name>;<Wert(Zahl|Datum|Zeit|Text)>;<Min(0)|Max(0)|First(0)|Last(0)>{;<Wert setzen>{;<auch für Aufrufer>}})

Prüft bei jedem Aufruf den aktuellen Wert gegen den neuen Wert. Der Wert der Variablen wird direkt als Datum, Uhrzeit, Zahl oder Text übergeben.


Parameter:
Name(Text): Name der Variable
Wert(Zahl|Datum|Zeit|Text): EINES der Formate! Um Welches Format handelt es sich
Min(0)|Max(0)|First(0)|Last(0)(Text): EINER der Aggregatoren! Minimaler Wert; Maximaler Wert; Erster Wert; Letzter Wert. Falls dahinter eine 0 angegeben wird werden die Aggregatoren über alle Werte die nicht 0 sind bestimmt
Wert setzen(Wahrheitswert)-optional: Den neuen Wert setzen?
auch für Aufrufer(Wahrheitswert)-optional: Auch für darüber liegende Listenwesen Instanzen den Variablenwert setzen?

Rückgabewert:
Je nach Auswahl des Werts in der Formel

Beispiel:
Für die Ausschilderung eines Raumes soll die laufende Veranstaltung bzw. die nächste Veranstaltung auf angezeigt werden.

Die Uhrzeit des anzuzeigenden Datensatzes hat man bisher in etwa so bestimmt:

variable_set("StartZeit";string([VARaumBeginn (Zeit)];2);
([VARaumEnde (Zeit)]>=current time)//Noch nicht fertig
&(
([VARaumBeginn (Zeit)]<=current time)//Aktuell am Laufen
|(variable_get("StartZeit")="")//Erster möglicher Eintrag
|(time(variable_get("StartZeit"))>[VARaumBeginn (Zeit)])//Bisher bester Eintrag kann unterboten werden
))


Mit dieser Funktion geht es einfacher:

Variable_Aggregate_And_Get("StartZeit"; [VARaumBeginn (Zeit)]; "Min0"; Current time<[VARaumEnde (Zeit)])


Als Aggregations-Operatoren sind Min, Max, First und Last unterstützt, jeweils mit 0 und ohne.
Min0 bestimmt das Minimum über alle Werte die nicht "Null" sind.

Gruß
Arnd Graf

Variablenwert lesen

Variable_Get(<Variablenname>)

a) Liefert eine selbst definierte Variable einer Importliste, z.B. im WebClient. (Voraussetzung ist, dass Variable_Set & Variable_Get innerhalb eines Jobs oder einer Transaktion ausgeführt werden)
oder
b) Liefert den unter dem Variablennamen in "Administration > Einstellungen > Umgebungsvariable" eingetragenen Wert.

Parameter:
Variablenname (Zeichenfolge): Text, der als Variablenname eingetragen ist oder Variableninhalt von Variable aus WebClient

Rückgabewert:
Text

Beispiel:
Variable_Get("Anwender-Fenstertitel")
Ergebnis = "Einzelplatz 9.30"


Variablenwert löschen

Variable_Delete(<Name>{;<auch für Aufrufer>})

Löscht einen Variablenwert

Parameter:
Name(Text): Name der Variable
auch für Aufrufer(Wahrheitswert)-optional: auch für Listen aus denen die aktuelle Ebene aufgerufen wurde


Rückgabewert:
Text

Beispiele:
Variable_Delete("123";TRUE)
Löscht die Variable mit dem Namen 123 und zwar auch für Listen aus denen diese Liste heraus aufgerufen wurde

Variablenwert setzen

Variable_Set(<Name>;<Wert>{;<Wert setzen>{;<auch für Aufrufer>}})

Mit der Funktion Variable_Set lassen sich Informationen als Variable speichern und können dann
über Variable_Get wieder abgerufen werden.
Voraussetzung ist, dass Variable_Set und Variable_Get innerhalb eines Jobs oder einer Transaktion aufgerufen werden.

Parameter:
Variablenname(Text): Name der Variablen in ""
VariablenWert(Text): Inhalt muss in Form eines Strings sein
Variablesetzen(Wahrheitswert)-Optional: steuert ob die Variable gesetzt werden soll anhand von Bedingungen

Rückgabewert:
"" (soll dieser angezeigt werden, so ist die mit einer Extra Spalte und Variable Get möglich, oder direkt Variable Set And Get verwenden)

Beispiele:
Man kann sich z. B. im Schritt/Job 1 (Adressimport) via
Variable_Set("Veranstalter";string([Adr Nr.]))merken
und im Schritt 2 bei der Veranstaltung wieder mittels
Variable_Get("Veranstalter")abholen.

Beispiel 2:
Variable_Set("MeineVariable";string(<WertDerZeile>); (Variable_Get("MeineVariable")=""))
Setzt in die Vairable "Meine Variable" den Wert "WertDerZeile" sofern "MeineVariable" zum jetzigen Zeitpunkt leer ist.



Hinweis:
Kann z.B. auch genutzt werden um in einem Datenblatt z.B. ein Datum abzufragen, dass dann für alle dahinterhängenden Listen via Variable_Get zur Verfügung seht.

Variablenwert setzen und lesen

Variable_Set_And_Get(<Name>;<Wert>{;<Wert setzen>{;<auch für Aufrufer>}})

Speichern von Informationen als Variablen und gleichzeitiges anzeigen des Werts.

Parameter:
Variablenname(Text): Name der Variablen in ""
VariablenWert(Text): Inhalt muss in Form eines Strings sein
Variablesetzen(Wahrheitswert)-Optional: steuert ob die Variable gesetzt werden soll anhand von Bedingungen

Rückgabewert:
"" (soll dieser angezeigt werden, so ist die mit einer Extra Spalte und Variable Get möglich, oder direkt Variable Set And Get verwenden)

Beispiel gleitendes Minimum über eine Spalte ausgeben:
Num(Variable_Set_And_Get("MeineVariable";string(<WertDerZeile>); (Variable_Get("MeineVariable")="")|(num(Variable_get("MeineVariable"))><WertDerZeile>)))


Hinweis:
Kann z.B. auch genutzt werden um in einem Datenblatt z.B. ein Datum abzufragen, dass dann für alle dahinterhängenden Listen via Variable_Get zur Verfügung seht.

Variablenwert verketten

Variable_Concat_Value(<Name>;<Zusätzlicher Wert>{;<Wert setzen>{;<Wertetrenner>{;<Unterschiedliche Werte>{;<auch für Aufrufer>}}}})

Ergänzt einen Variablenwert um einen weiteren Wert

Parameter:
Name(Text): Name der Variable
Zusätzlicher Wert(Text): Zu verkettenden Wert
Wert setzen(Wahrheitswert)-optional: Den neuen Wert setzen?
Wertetrenner(Text)-optional: Zwischen alten und neuen Wert dies als Trennzeichen setzen
Unterschiedliche Werte(Wahrheitswert)-optional: Auch für unterschiedliche Werte setzen?
auch für Aufrufer(Wahrheitswert)-optional: Auch für darüber liegende Listenwesen Instanzen den Variablenwert setzen?

Rückgabewert:
Text

Beispiel:

Variable_Set("Name";Variable_Get("Name")+char(13)+<Neuer Wert>)

Mit dieser Funktion:
Variable_Concat_Value("Name";<Neuer Wert>)

Adressen

Adress-Doublette Kandidaten Nummer

Adresse_Doubletten_Kandidat(<Feld-Name>;<Feld-Wert (Zeichenfolge)>{;<Feld-Name>;<Feld-Wert (Zeichenfolge)>})

Gibt die Datensatznummer des ersten gefunden potentiellen Dubletten-Kandidaten an.

Parameter:
Feld-Name(Text): Technischer Feld-Name der zu vergleichen ist
Feld-Wert (Zeichenfolge): Mit welchem Feld-Wert ist zu vergleichen
Optional sind weitere Feld-Name & Feld-Wert Kombinationen möglich

Beispiel:
Es gibt die folgende Adresse 3x:
Heart Steel Summergrove Street 12 1234 0027972223333
Die Datensatznummern sind 508, 512 und 513

Durch
Adresse_Dubletten_Kandidat("Adr_Nachname"; [Name (Zeichenfolge (50))] ;"Adr_Straße"; [Straße (Zeichenfolge (80))])
Wird 508 als der erste gefundene potentielle Dubletten Kandidat angezeigt.

Adress-Doubletten zählen

Adresse_Doubletten_Test(<Feld-Name>;<Feld-Wert (Zeichenfolge)>{;<Feld-Name>;<Feld-Wert (Zeichenfolge)>})

Gibt die Anzahl möglicher Dubletten an.

Parameter:
Feld-Name(Text): Technischer Feld Name der zu vergleichen ist
Feld-Wert (Zeichenfolge): Mit welchem Feld-Wert ist zu vergleichen
Optional sind weitere Feld-Name & Feld-Wert Kombinationen möglich

Beispiel:
Es gibt die folgende Adresse 3x:
Heart Steel Summergrove Street 12 1234 0027972223333

Durch
Adresse_Dubletten_Test("Adr_Nachname"; [Name (Zeichenfolge (50))] ;"Adr_Straße"; [Straße (Zeichenfolge (80))])
Wird die Anzahl möglicher Dubletten mit 3 ausgegeben.

Ankreuztypisierungsbeschriftung

Adress_Typing_Get(<Ankreuztyping Nummer>)

Liefert den Text, der unter der entsprechenden Nummer unter "Administration > Einstellungen > Adresse > Adresskategorie eingegeben werden kann.

Parameter:
Ankreuztyping Nummer(Ganzzahl): Zahl von 1 bis 18, die auf die Nr. des Textfeldes verweist

Rückgabewert:
Text

Beispiele:
Adress_Typing_Get(2)
Ergebnis = "Firmenadresse"

Adress_Typing_Get(15)
Ergebnis = "Hotel"

Anschrift-Mehrzeilig

Anschrift(<Adress-Nr>{;<Ansprechpartner-Nr>{;<Leerzeilen (false), ohne Leerzeilen (true)>}})

Liefert die Anschrift mehrzeilig.

Parameter:
Adress-Nr(Ganzzahl): Datensatz-Nr. der Adresse
Ansprechpartner-Nr.(Ganzzahl)-optional: Datensatz-Nr. des Ansprechpartners, die unter "weitere Daten" steht
Leerzeilen(Wahrheitswert)-optional: false/Standard = MIT Leerzeilen; true = OHNE Leerzeilen

Rückgabewert:
Text

Beispiele:
Anschrift(368)
Ergebnis =
GastroEDV
Wiesenstr. 1
59864 Welver

Anschrift (368;686; true)
Ergebnis =
GastroEDV
Hr. Henning Schmidt
Wiesenstr. 1
59864 Welver

Anschriftzeile

Adressen_Anschriftszeile(<Adress-Nr>{;<Ansprechpartner-Nr>})

Liefert einen Text, der sich zusammensetzt aus den Einträgen von "Anrede, Titel, Vorname, Nachname, Straße, PLZ, Stadt".

Parameter:
Adress-Nr (Ganzzahl): Datensatz-Nr. der Adresse
Ansprechpartner-Nr (Ganzzahl)-optional: Datensatz-Nr. des Ansprechpartners

Rückgabewert:
Text

Beispiele:
Adressen_Anschriftszeile(145)
Ergebnis = "Herr Prof. Anton Ackermann, Hauptstraße 9, 67123 Musterstadt"

Adressen_Anschriftszeile(144;82)
Ergebnis = "GastroEDV, Hr. Henning Schmidt, Wiesenstr. 1, 59864 Welver"

Ansprechpartner Nr -> Adress Nummer

AnsprPartner_Nr_Nach_Adress_Nr(<Ansprechpartner Nummer>)

Liefert die Datensatz-Nr. der Adresse bei Übergabe einer Ansprechpartner-Nr. Bei mehreren Ansprechpartnern wird auch nur eine Adress-Nr. zurückgegeben.

Parameter:
Ansprechpartner-Nr. (Ganzzahl): Datensatz-Nr. des Ansprechpartners

Rückgabewert:
Zahl

Beispiele:
AnsprPartner_Nr_Nach_Adress_Nr(83)
Ergebnis = 145

AnsprPartner_Nr_Nach_Adress_Nr(84)
Ergebnis = 145

Ansprechpartner-Doublette Kandidaten Nummer

Ansprechpartner_Doubletten_Kand(<Feld-Name>;<Feld-Wert (Zeichenfolge)>{;<Feld-Name>;<Feld-Wert (Zeichenfolge)>})

Gibt die Datensatznummer des ersten gefunden potentiellen Dubletten-Kandidaten an.

Parameter:
Feld-Name(Text): Technischer Feld Name der zu vergleichen ist
Feld-Wert (Zeichenfolge): Mit welchem Feld-Wert ist zu vergleichen
Optional sind weitere Feld-Name & Feld-Wert Kombinationen möglich

Ansprechpartner-Doubletten zählen

Ansprechpartner_Doubletten_Test(<Feld-Name>;<Feld-Wert (Zeichenfolge)>{;<Feld-Name>;<Feld-Wert (Zeichenfolge)>})

Gibt die Anzahl möglicher Dubletten an.

Parameter:
Feld-Name(Text): Technischer Feld Name der zu vergleichen ist
Feld-Wert (Zeichenfolge): Mit welchem Feld-Wert ist zu vergleichen
Optional sind weitere Feld-Name & Feld-Wert Kombinationen möglich

E-Mail

Adresse_eMail(<Adress-Nr>{;<Ansprechpartner-Nr>})

Email-Adresse aus Feld "E-Mail" bei Adress-Basis. Bei fehlender E-Mail wird eventuell die Fax-Nr. verwendet.

Optional ist die Angabe des Ansprechpartners.
Ist ein Ansprechpartner ein "Standard-Ansprechpartner", dann wird die E-Mail-Adresse von diesem geliefert, statt die E-Mail-Adresse aus der Adresse-Basis.

Parameter:
Adress-Nr (Lange Ganzzahl): Datensatz-Nr. der Adresse
Ansprechpartner-Nr (Lange Ganzzahl)-optional: die Datensatz-Nr. des Ansprechpartners

Rückgabewert:
Text

Beispiele:
Adresse_eMail(145)
Ergebnis = "Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!"

Adresse_eMail(145;83)
Ergebnis = "Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!"

Adresse_eMail(145;84)
Ergebnis = "Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!"

Entfernung zwischen 2 Orten

PLZ_Distanz(<NKZ 1>;<PLZ 1>;<NKZ 2>;<PLZ 2>)

Liefert die Distanz (Luftlinie) zwischen 2 Postleitzahlen.

Parameter:
NKZ 1(String): Nationalkennzeichen des ersten Ortes
PLZ 1 (String): Postleitzahl des ersten Ortes
NKZ 2(String): Nationalkennzeichen des zweiten Ortes
PLZ 2 (String): Postleitzahl des zweiten Ortes

Rückgabewert:
Zahl

Beispiel:
Es soll die Distanz zwischen Postleitzahl 67435 und 50679
errechnet werden
PLZ_Distanz("D-";"67435";"D-";"50679")

Ergebnis (in km) = 191,75

Hinweis:
Die Postleitzahlen müssen dementsprechenden auch in BP Event hinterlegt sein.

Externe AnsprPartner Nr -> AnsprPartner Nr

AnsprPartner_ExterneNr_Nach_Nr(<Externe-Ansprechpartner-Nr>)

Liefert die Datensatz-Nr. des Ansprechpartners bei Übergabe der externen Nr. des Ansprechpartners.

Parameter:
Externe-Ansprechpartner-Nr (Zeichenfolge): Text, der als externe Nr. im Ansprechpartner eingetragen ist

Rückgabewert:
Zahl

Beispiele:
AnsprPartner_ExterneNr_Nach_Nr("77_textfolge")
Ergebnis = 84

AnsprPartner_ExterneNr_Nach_Nr("8787")
Ergebnis = 83

Externe Nr -> Nr

Adresse_ExterneNr_Nach_Nr(<Externe-Adress-Nr>)

Liefert die Adress-Datensatz-Nr. der Adresse, wenn in der Adresse unter Basis eine "externe Nr." eingetragen ist.

Parameter:
Externe-Adress-Nr (Zeichenfolge): manuell oder automatisch zugewiesen Externe Nr. der Adresse

Rückgabewert:
Zahl

Beispiele:
Adresse_ExterneNr_Nach_Nr("450")
Ergebnis = 12

Fax-Nummer

Adressen_FaxNr(<Adress-Nr>{;<Ansprechpartner-Nr>})

Liefert die Fax-Nr. der Adresse, sofern diese eingegeben ist.
Optional kann die Datensatz-Nr. des Ansprechpartners angegeben werden, dann wird dessen Fax-Nr. geliefert.
Falls der Ansprechpartner keine Fax-Nr. hat, wird die Fax-Nr. der Adresse zurückgegeben.

Parameter:
Adress-Nr (Ganzzahl): Datensatz-Nr. der Adresse aus Adresse Basis
Optional: Ansprechpartner-Nr (Ganzzahl): Datensatz-Nr. des Ansprechpartners in der Adresse

Rückgabewert:
Text

Beispiele:
Adressen_FaxNr(145)
Ergebnis = 02323-440

Adressen_FaxNr(145;83)
Ergebnis = 02323-449

Mobil-Nummer

Adressen_MobilNr(<Adress-Nr>{;<Ansprechpartner-Nr>})

Liefert die Mobilnummer. Optional kann die Datensatz-Nr. des Ansprechpartners angegeben werden, dann wird dessen Mobilnummer geliefert. Falls der Ansprechpartner keine Mobilnummer hat, wird die Mobilnummer der Adresse-Basis zurückgegeben.

Parameter:
Adress-Nr. (Ganzzahl): Datensatz-Nr. der Adresse aus Adresse Basis
Optional: Ansprechpartner-Nr. (Ganzzahl): Datensatz-Nr. des Ansprechpartners in der Adresse

Rückgabewert:
Text

Beispiele:
Adressen_MobilNr(145)
Ergebnis = "0151-123456"

Adressen_MobilNr(145;83)
Ergebnis = "0151-789101112"

Namenstext

Adresse_NamensString(<Adress-Nr>{;<Ansprechpartner-Nr>})

Liefert einen Text, der sich zusammensetzt aus den Einträgen von "Anrede + Titel + Name + Vorname + Name 2 + Name 3".
Optional kann ein Ansprechpartner der Adresse ausgegeben werden.

Parameter:
Adress-Nr (Ganzzahl): Datensatz-Nr. der Adresse aus Adresse Basis
Optional: Ansprechpartner-Nr (Ganzzahl): Datensatz-Nr. des Ansprechpartners in der Adresse

Rückgabewert:
Text

Beispiele:
Adresse_NamensString(145)
Ergebnis = "Gass GmbH Fa. für Ankauf von Metall"

Adresse_NamensString(145;83)
Ergebnis = "Ansprechpartner-Name + Vorname + Name 2"

Nr -> Externe Nr

Adresse_ExterneNr(<Adress-Nr>)

Liefert den Eintrag, der in der Adress-Basis unter "weitere Daten" in "Nummer Extern" eingetragen ist.

Parameter:
Adress-Nr (Ganzzahl): Datensatz-Nr. der Adresse

Rückgabewert:
Text

Beispiele:
Adresse_ExterneNr (26)
Ergebnis = "10107"

Telefonnummer

Adressen_TelefonNr(<Adress-Nr>{;<Ansprechpartner-Nr>})

Liefert die Festnetz-Telefon-Nr. Optional kann die Datensatz-Nr. des Ansprechpartners angegeben werden, dann wird dessen Telefon-Nr. geliefert. Falls der Ansprechpartner keine Telefon-Nr. hat, wird die der Adresse zurückgegeben.

Parameter:
Adress-Nr (Ganzzahl): Datensatz-Nr. der Adresse aus Adresse Basis
Optional: Ansprechpartner-Nr (Ganzzahl): Datensatz-Nr. des Ansprechpartners in der Adresse

Rückgabewert:
Text

Beispiele:
Adressen_TelefonNr(145)
Ergebnis = "06323-123456"

Adressen_TelefonNr(145;83)
Ergebnis = "06323-78910"

Aktion auf Ereignis

Datenblatt aufrufen

Custom_Action_DisplayDataSheet(<on clicked|on double clicked|on contextual clicked|Ereignis ID>;<Datenblattname>{;<Datensatznummer>})

 
Datensatz öffnen

Custom_Action_Open(<on clicked|on double clicked|on contextual clicked|Ereignis ID>;<Tabellenname>;<Datensatznummer>)

 
E-Mail schreiben

Custom_Action_MailTo(<on clicked|on double clicked|on contextual clicked|Ereignis ID>;<Adressnummer|E-Mail Adresse>{;<Ansprechpartnernummer>{;<Betreff>{;<Parametername>{;<Parameterwert>}}}})

 
Hilfetext anzeigen

Custom_Action_Tooltip(<on clicked|on double clicked|on contextual clicked|Ereignis ID>;<Hilfetext>)

 
Info Center aufrufen

Custom_Action_InfoCenter(<on clicked|on double clicked|on contextual clicked|Ereignis ID>;<Datum>{;<Tage>})

 
Interne Nachricht schreiben

Custom_Action_InternalMessage(<on clicked|on double clicked|on contextual clicked|Ereignis ID>;<Betreff>{;<Empfänger-Nummern>{;<Träger-Tabellenname>{;<Träger-Datensatznummer>}}})

 
Job starten

Custom_Action_TriggerJob(<on clicked|on double clicked|on contextual clicked|Ereignis ID>;<Jobname>{;<Sicherheitsabfrage>{;<Parametername>{;<Parameterwert>}}})

 
Kontaktnotiz schreiben

Custom_Action_ContactNote(<on clicked|on double clicked|on contextual clicked|Ereignis ID>;<Träger-Tabellenname>;<Träger-Datensatznummer>{;<Betreff>{;<Adressnummer>{;<Ansprechpartnernummer>}}})

 
Kontextmenü aufrufen

Custom_Action_Menu(<on clicked|on double clicked|on contextual clicked|Ereignis ID>;<Ereignis ID 1>;<Titel 1>;<Icon 1>{;<...>})

 
Liste aufrufen

Custom_Action_DisplayList(<on clicked|on double clicked|on contextual clicked|Ereignis ID>;<Quell-Tabellenname>;<Quell-Datensatznummern>{;<Ziel-Tabellenname>{;<Listenname>}})

 
Meldung ausgeben

Custom_Action_Alert(<on clicked|on double clicked|on contextual clicked|Ereignis ID>;<Meldungstext>)

 
Telefonnummer wählen

Custom_Action_Dial(<on clicked|on double clicked|on contextual clicked|Ereignis ID>;<Rufnummer>)

 
Url aufrufen

Custom_Action_Url(<on clicked|on double clicked|on contextual clicked|Ereignis ID>;<Url>)

 

Artikel

Angebotstext

Artikel_Angebotstext(<Artikel-Nr>{;<Sprache>})

Liefert den Angebotstext
Optional kann die übersetzte Sprache mit angegeben werden, um den in anderen Sprachen übersetzten Artikeltext zu erhalten.

Parameter:
Artikel-Nr (Ganzzahl): Datensatz-Nr. des Artikels
Sprache (Text)-optional: Sprache in der der Artikel übersetzt wurde

Rückgabewert:
Text

Beispiele:
Artikel_Angebotstext(453)
Ergebnis = Text, der im Feld "Angebotstext" eingegeben wurde in "Systemsprache"

Artikel_Angebotstext(453;"dänisch")
Ergebnis = Text, der im Feld "Angebotstext" eingegeben wurde in "Dänisch"

Artikel Info Nr

Artikel_Preis_Info_Nr(<Artikel-Nr>;<Preisschiene-Nr>)

Liefert anhand der Artikel - Nr. und der Preisschiene - Nr. die Datensatznummer auf der Tabelle Artikelpreisinfo.
Wird vor allem im Rahmen von Import / Export benötigt.

Parameter:
Artikel-Nr (Ganzzahl): Datensatz-Nr. des Artikels
Preisschienen-Nr. (Ganzzahl): Datensatz-Nr. der Preisschiene

Rückgabewert:
Zahl

Beispiele:

Artikel_Preis_Info_Nr(226;2)
Ergebnis: 866

Der Preis des Artikels 226 auf der Preisschiene 2 hat die Datensatznummer 866

Artikel-Code -> Nr

Artikel_Code_Nach_Nr(<Artikel-Code>)

Sucht im Feld Artikel -> Basis -> Code nach der Zeichenfolge und gibt die Datensatznummer
des Artikels als Zahl aus.

Parameter:
Artikel-Code (Zeichenfolge): Datenbankbezug oder frei einzugebende Zeichenfolge

Rückgabewert:
Zahl

Beispiel:

Artikel_Code_Nach_Nr.("Gabelbissen")
Ergebnis = 306

Artikelgruppe in Gruppenpaket

Artikelgruppe_In_Paket(<Gruppe-Nr>;<Artikelgruppenpaket>)

Liefert einen Wahrheitswert, der angibt ob die Artikel-Gruppe in einem Artikelgruppenpaket enthalten ist.

Parameter:
Gruppe-Nr (Ganzzahl): Datensatz-Nr. der Artikel-Gruppe
Artikelgruppenpaket (Zeichenfolge): Datenbank-Bezug des Pakets oder Paketname als Zeichenfolge ausgeschrieben

Rückgabewert:
Wahrheitswert

Beispiele:
Auf Vorgangsartikelebene, lässt sich z.B. schnell prüfen ob die gebuchten Artikel auch in einem bestimmten Artikelgruppenpaket enthalten sind und somit im dazugehörigen Veranstaltungsblatt auch gedruckt werden würden.

Artikelgruppe_In_Paket(Gruppe.Nr;"BP_Angebot")

Artikelgruppe innerhalb von Gruppe

Artikelgruppe_In_Artikelgruppe(<Gruppe-Nr>;<Übergruppe-Nr>)

Liefert einen Wahrheitswert, wenn eine Artikelgruppe die Übergruppe einer anderen Artikelgruppe ist.

Parameter:
Gruppe-Nr (Ganzzahl): Datensatz-Nr. der Artikelgruppe deren Zugehörigkeit geprüft wird
Übergruppe-Nr (Ganzzahl): Datensatz-Nr. der Artikelgruppe

Rückgabewert ist Wahrheitswert.

Beispiele:
-> Gruppe 16 "Aperitif" ist Übergruppe von "Getränke" ?
Artikelgruppe_In_Artikelgruppe(56;16)
Ergebnis = wahr

-> Gruppe 16 "Aperitif" ist Übergruppe von "Geschirr" ?
Artikelgruppe_In_Artikelgruppe(38;16)
Ergebnis = falsch

Artikelgruppe Name -> Nr

Artikelgruppen_Nr(<Gruppen-Name>{;<Name: 1=Intern, 2=Extern 1, 3=Extern 2>})

Liefert bei Angabe des Namens der Artikelgruppe deren Nummer.

Parameter:
Gruppenname(Zeichenfolge): Name der Artikelgruppe
Name 1=intern, 2=Extern 1, 3 = Extern 2(Zahl): welcher Name soll durchsucht werden.

Rückgabewert:
Zahl

Beispiele:
Artikelgruppen_Nr.("Speisen")
ergibt
1

Artikelgruppen-Nrn. in Paket

Artikelgruppen_Nrn_In_Paket(<Artikelgruppenpaket>)

Liefert eine Aufzählung der Artikelgruppennummern (Datensatz-Nr. der Artikelgruppe) im Paket.

Parameter:
Artikelgruppenpaket (Zeichenfolge): Paketname als Zeichenfolge oder als Datenbankbezug

Rückgabewert:
Text

Beispiele:
Artikelgruppen_Nrn_In_Paket("BP_Angebot")
Ergebnis = 247; 10; 265; 12
Es sind also 4 Artikelgruppen im Paket enthalten.

Artikelzusatz Bild

Artikel_Detail_Bild(<Kürzel>)

Gibt das beim Artikelzusatz hinterlegte Bild aus.

Parameter:
Kürzel(Text): Kürzel des gewünschten Artikelzusatzes

Rückgabewert:
Bild

Bestand

Artikel_Bestand_Wert(<Artikel-Nr>{;<Stichtag>{;<Stichtag Uhrzeit>{;<Bis Stichtag>{;<Bis Stichtag Uhrzeit>}}}})

Gibt den Bestand eines Artikel in einem bestimmten Zeitraum aus OHNE bereits verkaufte Einheiten zu berücksichtigen.

Parameter:
Artikel-Nr.(Zahl): Nummer des Artikels
Stichtag(Datum)-optional: ab welchem Datum soll der Bestand berücksichtigt werden
Stichtag Uhrzeit(Uhrzeit)-optional: ab welcher Uhrzeit aus soll der Bestand berücksichtigt werden
Bis Stichtag(Datum)-optional: bis zu welchem Datum soll der Bestand berücksichtigt werden
Bis Stichtag (Uhrzeit)-optional: bis zu welcher Uhrzeit soll der Bestand berücksichtigt werden

Ergebnis:
Zahl

Beispiel:
Insgesamt sind vom Artikel 1106 6 verkaufbare Einheiten im Haus.
2 sind am 31.05.17 von 09:00 bis 18:00 Uhr aber schon verkauft.

Artikel_Bestand_Wert(1106;!31.05.2017!;?10:00:00?;!31.05.2017!;?13:00:00?)

Ergibt, das es insgesamt 6 vorhanden sind, unabhängig davon, ob welche bereits verkauft wurden.

Ergänzungstext

Artikel_Artikeltext(<Artikel-Nr>{;<Sprache>})

Liefert den Ergänzungstext
Optional kann die übersetzte Sprache mit angegeben werden, um den in anderen Sprachen übersetzten Ergänzungstext zu erhalten.

Parameter:
Artikel-Nr (Ganzzahl): Datensatz-Nr. des Artikels
Sprache (Text)-optional: Sprache in der der Artikel übersetzt wurde

Rückgabewert:
Text

Beispiele:
Artikel_Ergänzungstext(453)
Ergebnis = Text, der im Feld "Ergänzungstext" eingegeben wurde in "Systemsprache"

Artikel_Ergänzungstext(453;"dänisch")
Ergebnis = Text, der im Feld "Ergänzungstext" eingegeben wurde in "Dänisch"

Erlöskonto

Artikel_Erlöskonto(<Artikel-Nr>;<Preisschiene-Nr>{;<Alternative Preisschiene-Nr>{;<Artikelgruppen-Nr>{;<MwSt>{;<Betriebs-Nr>}}}})

Ermittelt anhand der übergebenen Daten das entsprechende Erlöskonto.

Parameter:
Artikel-Nr.(Zahl): Artikelnummer
Preisschienen-Nr.(Zahl): Relevante Preisschienennummer
Alternative Preisschienen-Nr.(Zahl)-optional: Nummer einer alternativen Preisschiene (nur wenn Preisschienen-Nr.=0)
Artikelgruppen-Nr.(Zahl)-optional: Artikelgruppennummer (nur wenn Artikel-Nr=0, sonst laut Artikel)
MwSt.(Zahl)-optional: Mehrwertsteuersatz (0,1,2 oder <0 für Ableitung aus Preisschiene)
Betriebs-Nr.(Zahl)-optional:Betriebsnummer

Rückgabewert:
Text

Beispiel:
Artikel_Erlöskonto (16;0;3;0;2;1)
-> Liefere das Erlöskonto für Artikel 16 zur alternativen Preisschiene 3 für Mehrwertsteuersatz 2 zu Betrieb 1

Artikel_Erlöskonto (32;0;0;0;1;2)
-> Liefere das Erlöskonto für Artikel 32 für Mehrwertsteuersatz 1 zu Betrieb 2

Artikel_Erlöskonto (0;0;0;1000;0;1)
-> Liefere das Erlöskonto für Artikelgruppe 1000 für Mehrwertsteuersatz 0 zu Betrieb 1

Externe Nr -> Nr

Artikel_Nr_Ext_Nach_Nr(<Externe-Artikel-Nr>)

Liefert die Datensatznummern eines Artikels anhand der externen Artikelnummer.

Parameter:
Externe Nr. (Lange Ganzzahl): externe Datensatznummer des Artikels

Rückgabewert:
Zahl
Ist der Wert nicht zu finden, so wird die "0" zurückgegeben.

Externe Nummer

Artikel_ExterneNr(<Artikel-Nr>;<Preisschiene-Nr>)

Gibt die im Artikel erfasste PLU in Abhängigkeit zur Preisschiene an.

Parameter:
Artikel-Nr.(Zahl): Die Nummer des Artikels
Preisschienen-Nr.(Zahl): von welcher Preisschiene soll die PLU ausgegeben werden

Ausgabe:
Zahl

Gebinde übersetzen

Artikel_Gebinde_Übersetzen(<Sprache>;<Gebindetext>)

Mit dem Modul "Mehrsprachigkeit" kann man aus Brief, Artikel und Textvorlage die "Dictionary Palette" aufrufen und Übersetzungen zu Begriffen selbst bearbeiten. Auf diese kann man mittels Formel (Text -> Übersetzung) zugreifen.

Wird in der "Dictionary Palette" nichts gefunden, dann wird in Dictonary_Translate nachgeschaut. Danach wird im Wörterbuch nachgeschaut und danach bei Google-Translate. Ein Account bei Google muss eingerichtet sein.

Hier wird auf die Tabelle "Artikel-Gebinde" zugegriffen. Der Wert in der Zielsprache aus der Tabelle wird ausgelesen

Parameter:
Sprache (Zeichenfolge): Zielsprache -> deutsch, englisch, französisch
Gebindetext (Zeichenfolge): zu übersetzender Text

Rückgabewert:
Text

Beispiel:
Artikel_Gebinde_Übersetzen("englisch"; "Liter")
Ergebnis = "litre"

Kalkulationsfaktor

Artikel_Kalkulationsfaktor

Gibt den Faktor an, den man auf die Menge legen muß. Dabei werden Liste in Listefaktoren sowie die manuelle Eingabe im Artikel berücksichtigt.


Parameter:
--

Ausgabe:
Zahl

Kostenstelle

Artikel_Kostenstelle(<Artikel-Nr>;<Preisschiene-Nr>)

Gibt die Kostenstelle des Artikels aus.

Parameter:
Artikel-Nr.(Zahl): Des Artikels.
Preisschienen-Nr.(Zahl): In welcher Preisschiene soll ausgegeben werden?

Rückgabewert:
Text

Beispiel:
Artikel_Kostenstelle(100;2)

Die Kostenstelle des Artikels mit der Nummer 100 in der Preisschiene 2 (VK) ist 24 Restaurant

Lieferantenpreis

ArtikelAdressen_Preis(<ArtikelAdresse-Nr>{;<Stichtag>{;<auf Artikel Inhalt umrechnen (Wahrheitswert)>}})

Gibt den Lieferantenpreis abhängig von ArtikelAdresse-Nr aus.

ArtikelAdressen_Preis(<ArtikelAdresse-Nr>{;<Stichtag>{;<auf Artikel Inhalt umrechnen (Wahrheitswert)>}})

Parameter:
ArtikelAdresse-Nr.(Zahl): von welchem Lieferantenartikel
Stichtag(Datum)-optional: zu welchem Stichtag?
Artikel Inhalt umrechnen (Wahrheitswert)-optional: umrechnen auf die Menge? TRUE= Ja, FALSE=Nein

Rückgabewert:
Zahl

Mehrwertsteuersatz

Artikel_Steuersatz(<Artikel-Nr>;<Preisschiene-Nr>)

Gibt den Mehrwertsteuersatz des Artikels in Abhängigkeit mit der Preisschiene aus.

Parameter:
Artikel-Nr.(Zahl): Von welchem Artikel wird der MwSt. Satz gewünscht.
Preisschienen-Nr.(Zahl): aus welcher Preisschiene heraus?

Rückgabewert:
Zahl

Beispiel:
Artikel_Steuersatz(100;2)

Der Steuersatz des Artikels mit der Nummer 100 in der Preissschiene 2 (VK) ist 1

Mengenbezeichnung übersetzen

Artikel_Mengenbez_Übersetzen(<Sprache>;<Mengentext>)

Mit dem Modul Mehrsprachigkeit kann aus Brief, Artikel und Textvorlage die "Dictionary Palette" aufgerufen und Übersetzungen zu Begriffen selbst bearbeitet werden. Auf diese wird mittels Formel (Text -> Übersetzung) zugegriffen.
Hier wird der bereits übersetzte Text aus der Übersetzungstabelle Artikel-Einheit abgefragt. Ist keine Übersetzung eingetragen, dann wird der Originaltext in deutsch zurückgegeben.

Parameter:
Sprache (Zeichenfolge): zu übersetzende Sprache, Deutsch, Englisch oder Französisch
Mengentext(Zeichenfolge): Text, der in der Übersetzungspalette unter Original steht

Rückgabewert:
Text

Beispiele:
Artikel_Mengenbez_Übersetzen("englisch";"Tasse")
Ergebnis = "cup"

Artikel_Mengenbez_Übersetzen("französisch";"Stck")
Ergebnis = "pièce"

Menükartentext

Artikel_Menükartentext(<Artikel-Nr>{;<Sprache>})

Gibt anhand der Artikelnummer den Menükartentext aus.

Parameter:
Artikel-Nr.(Zahl): Datensatz-Nr. des Artikels
Sprache (Zeichenfolge)-optional: in welcher Sprache soll der Artikeltext ausgegeben werden.

Rückgabewert:
Text

Beispiele:
Artikel_Menükarte(1234)
Ergebnis = Der Menükartentext aus dem Artikel 1234 wird angezeigt

Artikel_Menükarte(1234, englisch)
Ergebnis = Sofern gepflegt, wird der Menükartentext aus dem Artikel 1234 in Englisch angezeigt

Hinweis zur Sprache:
Mit dem Modul Mehrsprachigkeit kann aus Brief, Artikel und Textvorlage die "Dictionary Palette" aufgerufen und Übersetzungen zu Begriffen selbst bearbeitet werden. Auf diese wird mittels Formel (Text -> Übersetzung) zugegriffen.
Hier wird der bereits übersetzte Text aus der Übersetzungstabelle Artikel-Einheit abgefragt. Ist keine Übersetzung eingetragen, dann wird der Originaltext in deutsch zurückgegeben.

Nr -> Externe Nr

Artikel_Nr_Ext(<Artikel-Nr>)

Liefert die externe Artikelnummer eines Artikels anhand der Datensatznummer.

Parameter:
Artikel Nr. (Lange Ganzzahl): Datensatznummer des Artikels

Rückgabewert:
Zahl
Ist der Wert nicht zu finden, so wird die "0" zurückgegeben.

Preis existiert (Preisschiene-Kürzel)

Artikel_Preis_Kürzel_Existiert(<Artikel-Nr>;<Preisschienenkürzel>;<Datum>)

Gibt an ob ein Artikel zu einem Datum einen Preis auf der angegebenen Preisschiene hat.

Parameter:
Artikel-Nr (Ganzzahl): Datensatz-Nr. des Artikels
Preisschienenkürzel(Text): Für diese Preisschiene soll die Existenz eines Preises geprüft werden.
Datum(Datum): Für dieses Datum soll die Existenz eines Preises geprüft werden.

Rückgabewert:
Wahrheitswert

Beispiele:
Artikel_Preis_Kürzel_Existiert(123;"EK";!01.01.2001!)
Überprüft ob der Artikel mit der Datensatz-Nr. 123 am 01.01.2001 einen existierenden Preis in der Preisschiene EK hat.

Preis existiert (Preisschiene-Nummer)

Artikel_Preis_Nr_Existiert(<Artikel-Nr>;<Preisschienen-Nr>;<Datum>)

Gibt an ob ein Artikel zu einem Datum einen Preis auf der angegebenen Preisschiene hat.

Parameter:
Artikel-Nr (Ganzzahl): Datensatz-Nr. des Artikels
Preisschienen-Nr.(Ganzzahl): Für diese Preisschiene soll die Existenz eines Preises geprüft werden.
Datum(Datum): Für dieses Datum soll die Existenz eines Preises geprüft werden.

Rückgabewert:
Wahrheitswert

Beispiele:
Artikel_Preis_Nr_Existiert(123;1;!01.01.2001!)
Überprüft ob der Artikel mit der Datensatz-Nr. 123 am 01.01.2001 einen existierenden Preis in der Preisschiene 1 (= EK) hat.

Preis mit Kürzeln

Artikel_Preis_Kürzel(<Artikel-Nr>;<Preisschienenkürzel>;<Brutto (true) Netto (false)>;<Währungskürzel>;<Datum>)

Gibt den Preis eines Artikels abhängig von Preisschiene, Währung, Betrieb, Datum aus.

Parameter:
Artikel-Nr. (Ganzzahl): Datensatz-Nr. des Artikels
Preisschienenkürzel(Text): Für diese Preisschiene soll die Existenz eines Preises geprüft werden.
Brutto (true) Netto (false)(Wahrheitswert):In Brutto = true; in Netto = false
Währungskürzel(Text): z.B. EUR
Datum(Datum): Für dieses Datum soll die Existenz eines Preises geprüft werden.
Betriebs-Nr.(Ganzzahl): Nummer des Betriebs
Nicht runden(Wahrheitswert): runden = false; nicht runden = true

Rückgabewert:
Zahl

Beispiele:
Artikel_Preis_Kürzel(123;"EK";false;"EUR";!01.01.2017!;1;true)
Gibt den EK Preis des Artikels 123 in Netto für die Währung EUR am 01.01.2017 für den Betrieb 1 nicht gerundet aus.

Preis mit Nummer

Artikel_Preis_Nr(<Artikel-Nr>;<Preisschienen-Nr>;<Brutto (true) Netto (false)>;<Währungs-Nr>;<Datum>)

Gibt den Preis eines Artikels abhängig von Preisschiene, Währung, Betrieb, Datum aus.

Parameter:
Artikel-Nr. (Ganzzahl): Datensatz-Nr. des Artikels
Preisschienen-Nr. (Zahl): Für diese Preisschiene soll die Existenz eines Preises geprüft werden.
Brutto (true) Netto (false)(Wahrheitswert):In Brutto = true; in Netto = false
Währungs-Nr.(Zahl): z.B. 1
Datum(Datum): Für dieses Datum soll die Existenz eines Preises geprüft werden.
Betriebs-Nr.(Zahl)-optional: Nummer des Betriebs
Nicht runden(Wahrheitswert)-optional: runden = false; nicht runden = true

Rückgabewert:
Zahl

Beispiele:
Artikel_Preis_Nr.(123;1;false;1;!01.01.2017!;1;true)
Gibt den EK Preis des Artikels 123 in Netto für die Währung 1 am 01.01.2017 für den Betrieb 1 nicht gerundet aus.

Auf Vorgangsartikelbasis z.B.:
Artikel_Preis_Nr.(123;1;false;1;!01.01.2017!;1;true)
Gibt den EK Preis des Artikels 123 in Netto für die Währung 1 am 01.01.2017 für den Betrieb 1 nicht gerundet aus.

Preisschiene Kürzel -> Nr

Preisschiene_Kürzel_Nach_Nr(<Preisschiene>)

Liefert zu einem gegeben Preisschienenkürzel die Datensatznummer der Preisschiene.

Preisschiene_Kürzel_Nach_Nr.(<Preisschiene>)

Parameter:
Preisschiene(Text): Preisschienenkürzel

Beispiel:

Preisschiene_Kürzel_Nach_Nr.("VK2")
liefert die Preisschienennummer zur VK2-Preisschiene.
Diese kann z. B. zur effizienten Filterung in Listen verwendet werden, um z. B. alle Bestellungen zu filtern, die mit dieser Preisschiene getätigt werden.

Preisschiene Nr -> Kürzel

Preisschiene_Kürzel(<Preisschiene-Nr>)

Liefert zu einer gegeben Datensatznummer der Preisschiene das Preisschienenkürzel.

Parameter:
Preisschienen-Nr.(Zahl): Nr. der gesuchten Preisschiene

Beispiel:

Preisschiene_Kürze(1)
liefert das Preisschienenkürzel EK
Diese kann z. B. zur effizienten Filterung in Listen verwendet werden, um z. B. alle Bestellungen zu filtern, die mit dieser Preisschiene getätigt werden.

Rechnungstext

Artikel_Langbezeichnung(<Artikel-Nr>{;<Sprache>})

Liefert den Text aus "Rechnungstext". Optional kann die übersetzte Sprache angegeben werden, wenn diese im Artikel eingegeben wurde.

Parameter:
Artikel-Nr (Ganzzahl): Datensatz-Nr. des Artikels
Sprache (Text)-optional: im Artikel eingegebene Sprache

Rückgabewert:
Text

Beispiele:
Artikel = "Croissants Mini gefüllt", Nr.459

Artikel_Rechnungstext(459; "französisch")
Ergebnis = Die Rechnungstext des Artikels auf Französisch

Restbestand

Artikel_Bestand_Rest_Wert(<Artikel-Nr>{;<Stichtag>{;<Stichtag Uhrzeit>{;<Bis Stichtag>{;<Bis Stichtag Uhrzeit>}}}})

Gibt den Restbestand eines Artikels aus und berücksichtigt hierbei im Zeitraum bereits anderweitig verkaufte Einheiten.

Parameter:
Artikel-Nr.(Zahl): Nummer des Artikels
Stichtag(Datum)-optional: ab welchem Datum soll der Bestand berücksichtigt werden
Stichtag Uhrzeit(Uhrzeit)-optional: ab welcher Uhrzeit aus soll der Bestand berücksichtigt werden
Bis Stichtag(Datum)-optional: bis zu welchem Datum soll der Bestand berücksichtigt werden
Bis Stichtag (Uhrzeit)-optional: bis zu welcher Uhrzeit soll der Bestand berücksichtigt werden

Ergebnis:
Zahl

Beispiel:
Insgesamt sind vom Artikel 1106 6 verkaufbare Einheiten im Haus.
2 sind am 31.05.17 von 09:00 bis 18:00 Uhr aber schon verkauft.

Artikel_Bestand_Rest_Wert(1106;!31.05.2017!;?10:00:00?;!31.05.2017!;?13:00:00?)

Ergibt nun den noch verkaufbaren Restbestand (in unserem Beispiel 4) im Zeitraum 10.-13.00 Uhr am 31.05.17

Steuer: Brutto Netto Wechsel

Steuer_Brutto_Netto_Umrechnung(<Steueratz>;<Stichtag>;<Betrag>;<Betrag ist Brutto (true)>;<Neuer Betrag ist Brutto (true)>{;<Währungs-Nr>})

Liefert einen Preis im richtigen Steuersatz.

Parameter:
Steuersatz: mit welchem Steuersatz ist der Vorgangsartikel gepflegt
Stichtag: in welchem Datumskontext steht der Preis (z.B. Veranstaltungstag); oder man nutzt direkt das Feld Stichtag
Betrag: Was ist der VK Preis des Vorgangsartikels
Betrag ist Brutto (true): Ist der Preis in Brutto (TRUE) oder Netto (FALSE) gepflegt; hier bietet sich der Wahrheitswert Brutto/Netto auf der Vorgangsebene an.
Neuer Betrag ist Brutto (true): Soll der Preis in Brutto oder Netto ausgegeben werden?
Währungs-Nr.-optional:

Ergebnis:
Zahl

Beispiel: Auf Vorgangsartikelebene

Steuer_Brutto_Netto_Umrechnung([MwSt. (Ganzzahl)];[Stichtag (Datum)];[VK (Zahl)]; [Bruttopreise (Wahrheitswert)]; false)

Im o.g. Beispiel werden auf Vorgangsartikelebene abhängig vom Stichtag auf Netto umgerechnet.

Steuersatz -> Prozentwert

Steuer_Satz(<Steuersatz>{;<Stichtag>})

Gibt den Prozentwert eines Steuersatzes in Abhängigkeit zum Datum an.

Parameter:
Steuersatz.: Welcher Steuersatz soll angegeben werden?
Optional: Stichtag: für welches Datum soll der Prozentwert ausgegeben werden?

Ergebnis:
Zahl

Beispiel:
Steuer_Satz(1;!01.01.2006!)
Steuersatz 1 am 01.01.2006 war 16%

Steuer_Satz(1;!01.01.2009!)
Steuersatz 1 am 01.01.2009 waren 19%

Benutzerdefinierte Funktionen

Funktion einfügen

Funktion(<Funktionsname>;<Von-Wert>{;<Umkehrung>})

Durchsucht die Funktionstabelle nach dem Von-Wert und gibt den dazugehörigen Nach-Wert aus.

Parameter:
Funktionsname(Text): es wird eine Auswahlliste der verfügbaren Funktionen angeboten
Von-Wert(Text): NAch welchem Von-Wert soll gesucht werden?

Rückgabewert:
Text

Beispiele:
Funktion "Monatsnamen" mit den folgenden Einträgen:

Von Nach
01 Januar
02 Februar
03 März
04 April

Funktion("Monatsnamen";"01")
Ergebnis: "Januar"

Funktion Von Werte

Funktion_Von_Werte(<Funktionsname>)

Liefert eine Auflistung aller Von - Werte einer Funktion

Parameter:
Funktionsname(Text): Name der Funktion

Rückgabewert:
Text

Beispiele:
Funktion_Von_Werte ("NamederFunktion")
Ergebnis = "von1
von2
von3"

Name nach Nummer

Funktion_Name_Nr(<Name>)

Liefert die Datensatz-Nr. der Funktion bei Angabe des Namens.

Parameter:
Name (Zeichenfolge): Name als Datenbankbezug oder als Zeichenfolge

Rückgabewert:
Zahl

Beispiele:
Funktion_Name_Nr("Nationenschlüssel")
Ergebnis = 21

Funktion_Name_Nr([Name (Zeichenfolge (30))])
Ergebnis = jeweils die Datensatz-Nr. der Funktion

Bild

Album

Album_Picture(<Beschriftung>;<UUID>{;<Breite in Pixeln>;<Höhe in Pixeln>})

Aufrufen eines Bildes aus dem Album.
Es öffnet sich beim einfügen der Funktion die Album Suche, in der das gewünschte Bild ausgewählt werden kann.


Parameter:
Beschriftung(Text): Des Bilds
UUID(Text): des Bilds
Breite in Pixeln(Zahl)-optional: Breite des Bilds
Höhe in Pixeln(Zahl)-optional: Höhe des Bilds

Rückgabewert:
Bild

Beispiele:
Album_Picture ("alkoholfreie Getränke";"CCDA171861829D4B97674A0DD5A033CF")
- Lädt das vorher über die Album-Suche markierte Bild und übernimmt die im Album hinterlegten Dimensionen.

Album_Picture ("alkoholfreie Getränke";"CCDA171861829D4B97674A0DD5A033CF";200;250)
- Zieht das vorher über die Album-Suche markierte Bild in eine Textvorlage und ändert die Dimension
dabei auf 200 Pixel breit und 250 Pixel hoch

Album-Bild registrieren

Write_Pictures_On_Page_Register(<Platzhalter-ID>;<Album-UUID/Name/#Nr>{;<Album-UUID/Name 2/#Nr>{;<Album-UUID/Name 3/#Nr>{;<Album-UUID/Name 4/#Nr>{;<Album-UUID/Name 5/#Nr>}}}})

Registriert ein Bild um es im Rahmen der Funktion Dynamische Bilder auf Seite im Angebotsgenerator zu nutzen

Parameter:
Platzhalter-ID(Text): Name des Platzhalters
Album-UUID/Name/#Nr(Text): UUID des Albums; Name des Bilds

Rückgabewert:
Keiner, Bild wird im Speicher für den Platzhalter registriert

Beispiele:
Write_Pictures_On_Page_Register("Bild"; "708D6D4823010948A83C6287517AABD5;Ausschank;Kellner")
Es werden die Bilder Ausschank als auch Kellner für den Platzhalter "Bild" registriert.

Hinweis:
Es können bis zu maximal 5 Bilder gleichzeitig registriert werden

Balkendiagramm

Picture_Bar_SVG(<Min Wert>;<Max Wert>;<Höhe>;<Balken Startwert>;<Balken Endwert>;<Randfarbe RGB>;<Randstärke>;<Füllfarbe RGB>{;<Hintergrundfarbe RGB>{;<Innenabstand>}})

Liefert einen Balken für ein Diagramm.

Parameter:
Min Wert(Zahl): Beginn des Koordinatensystems
Max Wert(Zahl): Ende des Koordinationsystems
Höhe (Zahl): Höhe des Balkens in Pixel
Balken Startwert(Zahl): An welcher Stelle des Koordinationsystems soll der Balken beginnen
Balken Endwert (Zahl): Bis zu welchem Wert soll der Balken gehen
Randfarbe RGB (Text): Farbe des Randes in HTML Color oder RGB Hex
Füllfarbe RGB (Text): Farbe des Balkens in HTML Color oder RGB Hex
Hintergrundfarbe RGB (Text)-optional: Farbe des Hintergrunds in HTML Color oder RGB Hex
Polsterung (Zahl)-optional: Um den Balken herum die Fläche erweitern


Rückgabewert:
(Bild)

Beispiele:
Picture_Bar_SVG(0;[max. Kapazität (Zahl)];50;0;[Pers. (Zahl)];"DarkOrange"; 2;"LightSalmon";"#F4A460")

Gibt für Tischreservierungsveranstaltungen einen Balken aus. Dieser befindet sich in einem Koordinationsystem das bei 0 beginnt und mit der maximalen Kapazität des jeweiligen Raumes endet. Die Zeile ist 50 Pixel hoch, die Daten werden beginnend bei Koordinate 0 eingetragen und der Balken hat die Länge bis zur Pers. (Zahl). Der Balken hat einen Dunkel Orangen Rahmen der 2 Pixel dick ist und ist Lachsfarben gefüllt. Er liegt auf einem sandbraunen Hintergrund.

Bar Code

BarCode(<Typ>;<Text>)

Ausgabe eines String als Barcode.

Barcode(<Type>;<Text>)

Ausgabe ist möglich in Listen, Functions (Tabellendetail und Layout Komponente) und Briefen.

Parameter:
Typ (Text): Barcodetyp wird aus Liste ausgewählt die sich beim einbuchen öffnet
Text (Zeichenfolge oder Text): zu codierender frei wählbarer Text

Rückgabewert:
Bild

Beispiele:
Barcode("Code 128"; [Artikelname (Zeichenfolge (60))] )
Ergebnis = Bild als Barcode vom Typ "Code 128".

Bedingungen aufzählen (Bild)

Case_Of_Picture(<Sonst-Wert>;<Bedingung 1>;<Wert 1>{;<...>{;<Bedingung 20>;<Wert 20>}})

Hat man mehr als ein einfaches "Wenn dann sonst", so schachtelt man die If_Picture Formel.
if_Picture(<B1>;<W1>; if_Date(<B2>;<W2>;if_Picture(<B3>;<W3>;<W-Sonst>)))
Hat man mehr als 2 Bedingungen wird dies schnell unübersichtlich.

Mit Case_Of_Picture wird die Anzahl an Klammern reduziert und die Formel kann übersichtlicher und damit einfacher wartbar angelegt werden.

Die Funktion erhält als erstes den "Sonst-Wert" und dann im Wechsel "Bedingung (Wahrheitswert)" und korrespondierenden Wert.

Parameter:
Sonst-Wert (Bild): Bild, das als Sonst-Wert verwendet wird (wenn alle anderen Bedingungen NICHT zutreffen)
Bedingung 1 (Wahrheitswert): Wahrheitswert, der zutreffen muss, damit Wert 1 ausgegeben wird
Wert 1 (Bild): auszugebendes Bild
Bedingung 2 (Wahrheitswert)-Optional: es können nun bis zu 20 weitere Bedingungen und Werte angegeben werden.
Wert 2 (Bild)-Optional: es können nun bis zu 20 weitere Bedingungen und Werte angegeben werden.

Rückgabewert:
Bild

Beispiel:
Case_Of_Picture(BildE;
Auswahl(Text)=a;
BildA;
Auswahl(Text)=b;
BildB
Auswahl(Text)=c;
BildC;
Auswahl(Text)=d;
BildD)

Die Formel gibt BildA aus Wenn das Feld Auswahl(Text) a enthält, BildB wenn das Feld b enthält und so weiter. Wenn das Feld Auswahl(Text) weder a, b, c oder d enthält wird das BildE ausgegeben.)

Hinweis:
Wird ein leeres Bild benötigt (z.B. falls alle anderen Varianten nicht zutrefffen), so kann dies durch "Leeres Bild" - Picture_Empty generiert werden

Bild aus Daten-Url

Picture_From_DataUrl(<Daten-Url>)

 
Bild aus dem Cache holen

Picture_Cache_Get(<Cache ID>)

Liefert ein Bild das mit Cache-ID registriert wurde

Parameter:
Cache-ID(Text): Name unter dem das Bild im Cache abgelegt wurde

Rückgabewert:
Bild

Beispiele:
Picture_Cache_Get("Bild")

Bild ausschneiden

Picture_Crop(<Bild>;<x-Position>;<y-Position>;<Breite>;<Höhe>)

Schneidet aus einem Bild einen rechteckigen Bereich aus.

Parameter:
Bild(Bild): Welches Bild soll bearbeitet werden
x-Position(Zahl): An welcher Stelle auf der x-Achse (horizontal) soll das ausschneiden beginnen
y-Position(Zahl): An welcher Stelle auf der y-Achse (vertikal) soll das ausschneiden beginnen
Breite: Wie breit soll der ausgeschnittene Teil werden.
Höhe: Wie hoch soll der ausgeschnittene Teil werden.

Rückgabewert:
Teil des angegebenen Bildes

Beispiele.:
Picture_Crop([Logo 1 (Bild)]; 15; 30; 50; 30 )

Schneidet aus dem Bild Logo1 beginnen bei 15 horizontal und 30 vertikal ein 50 Pixel breites und 30 Pixel hohes Teil aus.

Bild drehen

Picture_Rotate(<Bild>;<Winkel>{;<Codec(png,svg,...)>})

Dreht ein Bild.

Parameter:
Bild(Bild): Bild das gedreht werden soll
Winkel(Zahl): Um wie viel Grad das Bild gedreht werden soll
Codec(Text)-optional: Um Verlustfreies drehen zu ermöglichen kann der Codec, indem das Bild vorliegt angezeigt werden.

Rückgabewert:
Bild

Beispiele.:
Picture_Rotate(<Bild>;45;"svg") dreht ein Bild, das als SVG vorliegt um 45 Grad.

Bild einfügen in SVG Bild

AddPictureToSVG(<Ziel Bild>;<Quell Bild>;<X>;<Y>)

Fügt ein SVG Bild in ein anderes SVG Bild ein

Parameter:
Ziel Bild(Bild): Bild in das eingefügt werden soll
Quell Bild(Bild): Bild das eingefügt werden soll
X(Zahl): Stelle auf der X Achse des Ziel Bilds an der eingefügt werden soll in Pixel
Y(Zahl): Stelle auf der Y Achse des Ziel Bilds an der eingefügt werden soll in Pixel

Rückgabewert:
Bild mit den o.g. Einstellungen

Beispiel:
AddPictureToSVG([SVG Original (Bild)];[SVG Bild 2 (Bild)];10;10)
Fügt in das SVG Original Bild an der Stelle x:10 / y:10 das SVG Bild 2 ein.

Bild in Daten-Url verwandeln

Picture_To_DataUrl(<Bild>{;<Format (z.B. data:image/jpg)>})

 
Bild in den Cache legen

Picture_Cache_Add(<Bild>{;<Cache ID>})

Registriert ein Bild mit einer Cache-ID um es im Rahmen der Funktion Dynamische Bilder auf Seite im Angebotsgenerator zu nutzen

Parameter:
Bild(Bild): Bild das in den Cahce registriert werden soll
Cache-ID(Text)-optional: Falls nicht angegeben, wird automatisch eine Cache-ID erzeugt

Rückgabewert:
Keiner, Bild wird im Cache gehalten

Beispiele:
Picture_Cache_Add(QRCode([Web Server Domain Name (Zeichenfolge (255))]+"/4daction/web_ticket_scanner?ticketid="+[Datensatz ID (Zeichenfolge (36))]))
Legt einen QRCode als Bild in den Cache

Hinweis:
Um den Speicher nicht zu überlasten sollte diese Funktion nur sparsam angewendet werden.

Bild in Graustufen

Picture_FadeToGrey(<Bild>)

Gibt das Bild in Graustufen aus.

Parameter:
Bild(Bild): Welches Bild soll bearbeitet werden

Rückgabewert:
Bild in Graustufen

Beispiele.:
Picture_FadeToGrey([Logo 1 (Bild)])

Gibt das eigentlich farbige Bild Logo 1 in Graustufen aus.

Bild laden

Picture_Load(<Pfad>{;<Skalierungfaktor>})

Lädt ein ausserhalb gespeichertes Bild.

Parameter:
Pfad(Text): Vollständige Pfadangabe der zu ladenden Bilddatei
Skalierungsfaktor(Zahl): Größe des Bildes ändern

Rückgabewert:
Bild

Beispiele.:
Picture_Load("C:\meinebilder\bild1.png;2)
Öffnet bild1.png im Ordner c:\meinebilder und verdoppelt die Größe

Picture_Load("C:\meinebilder\bild2.png;0,5)
Öffnet bild2.png im Ordner c:\meinebilder und halbiert die Größe

Bild skalieren

Picture_Scale(<Bild>;<Breite>;<Höhe>{;<proportional>})

Skaliert ein Bild.

Parameter:
Bild(Bild): Welches Bild soll bearbeitet werden
Breite(Zahl): Wie breit (in Pixel) soll das Bild werden
Höhe(Zahl): Wie hoch (in Pixel) soll das Bild werden
Proportional (Optional): TRUE=Die Proportionen sollen beibehalten werden, FALSE= werden nicht beibehalten

Rückgabewert:
Skaliertes Bild

Beispiele.:
Picture_Scale([Logo 1 (Bild)];150; 150;true)

Bringt das Bild auf maximal 150 Pixel in der Breite und 150 Pixel in der Höhe behält jedoch die Proportionen des Bildes bei und passt somit ggf. die neue Breit oder Höhe automatisch an.

Bild spiegeln

Picture_Flip(<Bild>{;<horizontal>{;<vertikal>}})

Spiegelt ein Bild in die jeweils gewünschte Richtung.

Parameter:
Bild(BILD): welches Bild soll gespiegelt werden ?
Horizontal(Wahrheitswert)-optional; von Links nach Rechts spiegeln? TRUE oder keine Angabe: spiegeln; False: nicht spiegeln
Vertikal(Wahrheitswert)-optional; von Oben nach Unten spiegeln? TRUE: spiegeln; False oder keine Angabe: nicht spiegeln


Rückgabewert:
Bild

Bild verschieben

Picture_Shift(<Bild>;<horizontal>;<vertikal>)

Verschiebt ein Bild in die jeweils angegebene Richtung.

Parameter:
Bild(BILD): welches Bild soll verschoben werden ?
Horizontal(Ganzzahl)-optional: Pixel um die das Bild verschoben werden soll, ein negativer Wert verschiebt nach Links, ein positiver nach Rechts.
Vertikal(Ganzzahl)-optional: Pixel um die das Bild verschoben werden soll, ein negativer Wert verschiebt nach Oben, ein positiver nach Unten.

Rückgabewert:
Bild

Beispiel:
Picture_Shift([Logo 1 (Bild)];15;-20)

Verschiebt das unter Logo 1 hinterlegte Bild um 15 Pixel nach Rechs und um 20 Pixel nach oben.

Bildbreite

Picture_Width(<Bild>)

Liefert die Breite eines Bildes als Zahl.

Parameter:
Bild (Bild): ein Bild mit Höhe und Breite größer gleich 0

Rückgabewert:
Zahl

Beispiel:
Ein Bild hat eine Abmessung von 140 x 230 Pixel.

Picture_Width (<Bild>)
Ergebnis = 140

Bilder überlagern

Picture_Combine(<Bild 1>;<Bild 2>)

Legt ein Bild über ein anderes.

Parameter:
Bild1 (Bild): Bild das in den Hintergrund gelegt wird
Bild2 (Bild): Bild das über das auf den Hintergrund gelegt wird

Rückgabewert:
Bild

Beispiel:
Picture_Combine([Logo 1 (Bild)];[Logo 2 (Bild)])

Es wird ein Bild ausgegeben, das Logo 1 im Hintergrund hat und darüber liegt im Vordergrund Logo 2.

Bilder verketten

Picture_Concatenate(<Bild 1>;<Bild 2>{;<vertikal>})

Hängt Bilder aneinander / verkettet diese.

Parameter:
Bild1 (Bild):An dieses Bild wird angehängt.
Bild2 (Bild): Bild das an Bild 1 entweder rechts oder darunter angehängt wird.
Vertikal(Wahrheitswert)-optional: TRUE: Bild 2 wird nun unter Bild 1 gehängt anstatt rechts von Bild 1
Rückgabewert:
Bild

Beispiel:
Picture_Concatenate([Logo 1 (Bild)];[Bild 2(Bild)])
Bild 2 wird rechts an das Logo 1 angehängt

Picture_Concatenate([Logo 1 (Bild)];[Bild 2(Bild)];true)
Bild 2 wird unter Logo 1 angehängt

Bildformat konvertieren

Picture_Convert(<Bild>;<.Format>{;<Komprimierung 0-1>})

 
Bildhöhe

Picture_Height(<Bild>)

Liefert die Höhe eines Bildes in Pixel als Zahl.

Parameter:
Bild (Bild): ein Bild mit Höhe und Breite größer gleich 0

Rückgabewert:
Zahl

Beispiel:
Ein Bild hat eine Abmessung von 140 x 230 Pixel.

Picture_Height (<Bild>)
Ergebnis = 230

Dokument (Bildertabelle) in Bild umwandeln

Picture_To_String(<Bild-Nr>;<Format (pdf, html, text, ...)>;<Kodierung (base64, Zeichensatz)>{;<Name der Ausgabeeinstellung (pdf)>})

Liefert ein "Bild"Objekt in dem gewünschten Format als Text um dies im Rahmen eines Export Jobs für WebServices anders zu verpacken.

Parameter:
Bild-Nr (Ganzzahl): Datensatz-Nr. des Bildes
Format (Text): PDF, HTML, Text
Kodierung (Text)-optional: base64 oder Zeichensatz des Textes
Name der Ausgabeeinstellung bei pdf (Text)-optional: Auswahl der Ausgabeeinstellung für Briefpapier

Rückgabewert:
Text

Beispiele:
Picture_To_String(<Rechenblatt-Nr>;"pdf";"base64";"AusgabeEinstellungsname")

Ergebnis = bekommt man eine Rechnung als PDF mit Wasserzeichen in base64 kodiert.

Icon laden

Picture_Get_Icon(<Name>{;<Größe(16,24,32,...)>})

Gibt ein Icon von Bp Event aus.

Parameter:
Name(Text): Name des Icons
Größe(Zahl): Größe des Icons (16, 24, 32, 64 ...)

Rückgabewert:
Bild

Beispiele.:
Picture_Get_Icon("Basis";24)
Gibt das Icon für "Basis" in Größe 24 aus.

Icon Name zur Tabelle

Table_Get_Icon_Name(<Tabellennummer oder Name>)

Liefert den Namen des Icons einer Tabelle.

Parameter:
Tabellennummer oder Name( Zahl oder String): Name der Tabelle alternativ Nummer der Tabelle

Rückgabewert:
Text

Beispiel:
Table_Get_Icon_Name(3)

Ergebnis: Administration

Leeres Bild

Picture_Empty

Liefert ein leeres Bild. Nützlich im Zusammenhang mit Case of oder If um auch ein leeres Bild darstellen zu können.

Parameter: -
Rückgabewert:
Leeres Bild

Plain Text in Bild wandeln

PlainTextToSVG(<Text>;<Breite>;<Höhe>;<Schriftart>;<Schriftgröße>{;<Schriftstil:FettKursivUnterstrichen>{;<Ausrichtung(left, right, center)>{;<Schriftfarbe RGB>{;<Hintergrundfarbe RGB>{;<Winkel>}}}}})

Wandelt einen Text in ein Bild um (mit Möglichkeit den Schriftstil anzupassen)

Parameter:
Text(Text): der umzuwandelnde Text
Breite(Zahl): Breite des zu erzeugenden Bildes
Höhe(Zahl): Höhe des zu erzeugenden Bildes
Schriftart(Text): Welche Schriftart?
Schriftgröße(Zahl): Größe der Schrift
Schriftstil(Text)-optional: Stil der Schriftart; Fett oder Kursiv, oder unterstrichen
Ausrichtung(Text)– optional: left=linksbündig, right=rechtsbündig, center=
zentriert
Schriftfarbe RGB(Zahl) – optional: RGB Wert in Dezimal
Hintergrundfarbe RGB(Zahl) – optional: RGB Wert in Dezimal
Winkel(Zahl) - optional: drehen gegen den Uhrzeigersinn um diese Gradzahl

Rückgabewert:
Bild mit den o.g. Einstellungen

Beispiel:
PlainTextToSVG("ABCDEFG";200;60;"Arial";16;";"unterstrichen" "center";16711680; 16776960)
Erzeugt ein Bild mit dem Text ABCDEFG, unterstrichen, 200 Pixel breit, 60 Pixel hoch, in zentrierter Schriftart Arial 16 rote Schrift auf gelbem Grund.

Hinweis:
Zur einfachen Berechnung des dezimal RGB Werts kann die Formel:
RGB_To_Longint(<Rot (0 bis 255)>;<Grün (0 bis 255)>;<Blau (0 bis 255)>)
genutzt werden.

Ansonsten wird der RGB Wert wird wie folgt berechnet:
RGB = (R*65536)+(G*256)+B
Somit ergibt sich z.B.
für Rot: R 255 B 0 G 0 (255*65536)+(0*256)+0 = 16711680
für Gelb: R 255 B 255 G 0 (255*65536)+(255*256)+0 = 16776960

QR Code

QRCode(<Text>{;<Unicode>{;<ECC(L, M, Q, H)>}})

Liefert ein Bild als QR-Code ("Quick Response") mit dem codierten Text.

Parameter:
Text (Zeichenfolge): zu codierender Text
Optional: Punktgröße in Pixeln (Zahl): Breite des Codes in Pixel

Rückgabewert:
Bild

Beispiele:
QRCode("Bp Event"; 12)
Ergebnis = QR-Codes ("Bp Event") in 12 Pixel Breite

QRCode([VA-Anlass (Zeichenfolge (80))]; 4)
Ergebnis = Bild der codierten Zeichenfolge von VA-Anlass

entspricht:
Barcode("QR Code"; [VA-Anlass (Zeichenfolge (80))]; 4)

Text anfügen an SVG Bild

AppendTextToSVG(<Ziel Bild>;<vertikal anfügen (True, False)>;<Text>;<Breite>;<Höhe>;<Schriftart>;<Schriftgröße>{;<Ausrichtung(left, right, center)>{;<Schriftfarbe RGB>{;<Hintergrundfarbe RGB>}}})

Erweitert ein bestehendes SVG Bild um ein weiteres Bild das aus einem Text erzeugt wird

Parameter:

Ziel Bild(Bild): Bild in das der Text eingefügt werden soll
vertikal anfügen(Wahrheitswert): fügt vertikal an (TRUE) oder horizontla (false)
Text(Text): anzufügender Text
Breite(Zahl): Zur Verfügung stehende Breite in Pixel für den neuen Text
Höhe(Zahl): Zur Verfügung stehende Höhe in Pixel für den neuen Text
Schriftart(Text): Schriftart für den neuen Text
Schriftgröße(Zahl): Schriftgröße für den neuen Text
Ausrichtung(Text)- optional: Text soll linksbündig(left), zentriert(center) oder rechtsbündig(right) eingefügt werden
Schriftfarbe RGB(Zahl)- optional: RGB Wert in Dezimal
Hintergrundfarbe RGB(Zahl)- optional: RGB Wert in Dezimal


Rückgabewert:
Bild mit den o.g. Einstellungen

Beispiel:
AppendTextToSVG([SVG Original (Bild)];True;[Zusatztext (Text)];100;100;"Arial";10;"Center";16711680;16776960)


Hängt unter das SVG Original Bild den Zusatztext in einem Feld der Größe 100x100 mit Schriftgröße Arial 10 zentrierter Text, in roter Schrift auf gelbem Grund an.

Hinweis:
Zur einfachen Berechnung des dezimal RGB Werts kann die Formel:
RGB_To_Longint(<Rot (0 bis 255)>;<Grün (0 bis 255)>;<Blau (0 bis 255)>)
genutzt werden.

Ansonsten wird der RGB Wert wird wie folgt berechnet:
RGB = (R*65536)+(G*256)+B
Somit ergibt sich z.B.
für Rot: R 255 B 0 G 0 (255*65536)+(0*256)+0 = 16711680
für Gelb: R 255 B 255 G 0 (255*65536)+(255*256)+0 = 16776960

Text einfügen in SVG Bild

AddTextToSVG(<Ziel Bild>;<X>;<Y>;<Text>;<Breite>;<Höhe>;<Schriftart>;<Schriftgröße>{;<Ausrichtung(left, right, center)>{;<Schriftfarbe RGB>{;<Hintergrundfarbe RGB>}}})

Fügt Text in ein bestehendes SVG Bild ein

Parameter:
Ziel Bild(Bild): Bild in das der Text eingefügt werden soll
X(Zahl): Stelle auf der X Achse des Ursprungsbilds an dem der Text eingefügt werden soll in Pixel
Y(Zahl): Stelle auf der Y Achse des Ursprungsbilds an dem der Text eingefügt werden soll in Pixel
Text(Text): Einzufügender Text
Breite(Zahl): Zur Verfügung stehende Breite in Pixel für den neuen Text
Höhe(Zahl): Zur Verfügung stehende Höhe in Pixel für den neuen Text
Schriftart(Text): Schriftart für den neuen Text
Schriftgröße(Zahl): Schriftgröße für den neuen Text
Ausrichtung(Text)- optional: Text soll linksbündig(left), zentriert(center) oder rechtsbündig(right) eingefügt werden
Schriftfarbe RGB(Zahl)- optional: RGB Wert in Dezimal
Hintergrundfarbe RGB(Zahl)- optional: RGB Wert in Dezimal

Rückgabewert:
Bild mit den o.g. Einstellungen

Beispiel:
AddTextToSVG([SVG Original (Bild)];10;10;[Zusatztext (Text)];100;100;"Tahoma";8;"center";16711680; 16776960)

Fügt in das SVG Original Bild an der Stelle x:10 / y:10 den Zusatztext in ein Feld der Größe 100x100 mit Schriftgröße Tahoma 8 zentriert sowie roter Schrift auf gelbem Grund ein.

Hinweis:
Zur einfachen Berechnung des dezimal RGB Werts kann die Formel:
RGB_To_Longint(<Rot (0 bis 255)>;<Grün (0 bis 255)>;<Blau (0 bis 255)>)
genutzt werden.

Ansonsten wird der RGB Wert wird wie folgt berechnet:
RGB = (R*65536)+(G*256)+B
Somit ergibt sich z.B.
für Rot: R 255 B 0 G 0 (255*65536)+(0*256)+0 = 16711680
für Gelb: R 255 B 255 G 0 (255*65536)+(255*256)+0 = 16776960

Text in Bild wandeln

TextToSVG(<Text>;<Breite>;<Höhe>;<Schriftart>;<Schriftgröße>{;<Ausrichtung(left, right, center)>{;<Schriftfarbe RGB>{;<Hintergrundfarbe RGB>{;<Winkel>}}}})

Wandelt einen Text in ein Bild um

Parameter:
Text(Text): der umzuwandelnde Text
Breite(Zahl): Breite des zu erzeugenden Bildes
Höhe(Zahl): Höhe des zu erzeugenden Bildes
Schriftart(Text): Welche Schriftart?
Schriftgröße(Zahl): Größe der Schrift
Ausrichtung(Text)– optional: left=linksbündig, right=rechtsbündig, center=
zentriert
Schriftfarbe RGB(Zahl) – optional: RGB Wert in Dezimal
Hintergrundfarbe RGB(Zahl) – optional: RGB Wert in Dezimal
Winkel(Zahl) - optional: drehen gegen den Uhrzeigersinn um diese Gradzahl

Rückgabewert:
Bild mit den o.g. Einstellungen

Beispiel:
TextToSVG("ABCDEFG";200;60;"Arial"; 16;"center";16711680; 16776960)
Erzeugt ein Bild mit dem Text ABCDEFG, 200 Pixel breit, 60 Pixel hoch, in zentrierter Schriftart Arial 16 rote Schrift auf gelbem Grund.

Hinweis:
Zur einfachen Berechnung des dezimal RGB Werts kann die Formel:
RGB_To_Longint(<Rot (0 bis 255)>;<Grün (0 bis 255)>;<Blau (0 bis 255)>)
genutzt werden.

Ansonsten wird der RGB Wert wird wie folgt berechnet:
RGB = (R*65536)+(G*256)+B
Somit ergibt sich z.B.
für Rot: R 255 B 0 G 0 (255*65536)+(0*256)+0 = 16711680
für Gelb: R 255 B 255 G 0 (255*65536)+(255*256)+0 = 16776960

Wenn dann sonst (Bild)

If_Picture(<Wahrheitswert>;<dann Bild>{;<sonst Bild>})

Gibt abhängig von der Bedingung ein Bild zurück, wenn Anweisung "wahr" oder "falsch" ist.

Parameter:
Wahrheitswert (Wahrheitswert): Bedingung, die geprüft wird, damit Anweisungen darunter ausgeführt werden
dann Bild (Bild): Anweisung ist true, dann nehme dieses Bild
Optional: sonst Bild (Bild): Anweisung ist false, dann nehme ein anderes Bild

Rückgabewert:
Bild

Beispiele.:
If_Picture( [Umsatz MwSt. Angebote (Zahl)] > 8000;
[Bild Smiley grinsend (Bild];
[Bild Smiley normal(Bild] )
Ergebnis = Bild ist abhängig vom Angebotsumsatz gleich Smiley grinsend oder Smiley normal

Hinweis:
Anstatt bei mehr als 2 Bedingungen mehrere If_Picture zu Verschachteln bitte Case_Of_Picture nutzen.

Datenbankstruktur

Tabellenname

Table name(<Tabellennummer>)

Liefert anhand der Nummer den Namen einer Tabelle.

Parameter:
Tabellennummer(Ganzzahl): Nummer der Tabelle

Rückgabewert:
Text

Beispiele:
Table name(31)
Ergebnis = "Vorgang"

Tabellennummer

Tabellen_Nummer(<Name>)

Liefert anhand des Namens einer Tabelle deren Nummer.

Parameter:
Name(Text): Name der Tabelle in Singular oder Plural

Rückgabewert:
Ganzzahl

Beispiele:
Tabellen_Nummer("Vorgänge")
Ergebnis = 31

Tabellen_Nummer("Vorgang")
Ergebnis = 31

Tabellentitel

Table_Get_Label(<Tabellennummer>{;<Singular>})

Liefert anhand der Nummer einer Tabelle deren Titel.

Parameter:
Tabellennummer(Ganzzahl): Nummer der Tabelle
Singular(Wahrheitswert)-optional: false=Plural(Standard) true=Singular

Rückgabewert:
Text

Beispiele:
Table_Get_Label(31)
Ergebnis = "Vorgänge"

Table_Get_Label(31;true)
Ergebnis = "Vorgang"

Datenverarbeitung

Zweck Name -> Nr

DV_Zweck_Name_Nach_Nr(<Zweck Name>)

Gibt anhand des Namens des Datenverarbeitungszwecks die Nummer desselben aus

Parameter:
Zweck Name(Text): Name des Datenverarbeitungszwecks

Rückgabeswert:
Zahl

Zweck Nr -> Name

DV_Zweck_Nr_Nach_Name(<Zweck Nr>)

Gibt anhand der Nummer des Datenverarbeitungszwecks den Namen desselben aus.

Parameter:
Zweck Nr.(Zahl): Nummer des Datenverarbeitungszwecks

Rückgabeswert:
String

Datum

Maximum

Date_Max(<Zahl 1>;<Zahl 2>{;<...>})

Liefert den größten Wert aus einer Datumsreihe.

Parameter:
Zahl 1 (Zahl): Erster zu vergleichende Zahl
Zahl 2 (Zahl): zweite zu vergleichende Zahl

Rückgabewert:
Datum

Beispiel:
Date_Max(!27.05.1832!;!14.07.1789!;!09.11.1989!)
Ergebnis: 09.11.1989

Minimum

Date_Min(<Zahl 1>;<Zahl 2>{;<...>{;<00.00.00 überspringen>}})

Liefert den kleinsten Wert aus einer Datumsreihe.

Parameter:
Zahl 1 (Zahl): Erster zu vergleichende Zahl
Zahl 2 (Zahl): zweite zu vergleichende Zahl
00.00.0000 Überspringen(Wahrheitswert)-optional: Standard:FALSE

Rückgabewert:
Datum

Beispiel:
Date_Min(!27.05.1832!;!14.07.1789!;!09.11.1989!;!00.00.0000!;TRUE)
Ergebnis: 14.07.1789

Date_Min(!27.05.1832!;!14.07.1789!;!09.11.1989!;!00.00.0000!)
Ergebnis: 00.00.0000

Datum und Zeit

Aktuelle Zeit

Current time

Aktuelle Uhrzeit.

Liefert die aktuelle Uhrzeit des eigenen Rechners (von Lokalisierung abhängig) zurück. Die Zeit muss richtig eingestellt sein.
Diese liegt zwischen 00:00:00 und 23:59:59 oder bei englischer Lokalisierung zwischen 00:00:00 und 11:59:59 am/pm.

Rückgabewert:
Uhrzeit

Beispiele:
Current Time
Ergebnis = Aktuelle Systemzeit vom eigenen Rechner

Current Time (*)
Ergebnis = Aktuelle Uhrzeit vom Server

Aktuelles Datum

Current date

Aktuelles Datum.

Liefert das Datum des heutigen Tages zurück. (Das Datum des Systems muss richtig eingestellt sein).

Rückgabewert:
Datum

Beispiele:
Current Date
Ergebnis = Aktuelles Datum vom eigenen Rechner

Current Date - 1
Ergebnis = Datum von Gestern

Current Date (*)
Ergebnis = Aktuelles Datum vom Server

Alter

Alter(<Datum>{;<Anzahl Nachkommastellen (abgeschnitten)>})

Liefert das Alter. Eine Zeitspanne, die aufgrund eines Datums-Eintrags wie z.B. "Geburtstag" in der Adresse-Basis errechnet wird.

Parameter:
Datum (Datum): Datum, dessen Alter bestimmt werden soll
(Anzahl Nachkommastellen (abgeschnitten))(Zahl)-optional: Standard oder keine Angabe: es wird direkt nach dem Jahr abgeschnitten; 1 = es wird nach der 1. Nachkommastelle abgeschnitten.

Rückgabewert:
Zahl

Beispiele:
Wie lange ist der Mitarbeiter schon im Unternehmen? Eintritt (Datum).
Alter([Eintritt am (Datum)];1)
Ergebnis = 3,5 Jahre

Alter des Mitarbeiters in Jahren, auf volle Zahlen aufgerundet ohne Kommastellen
Alter([Geburtsdatum (Datum)];0)
Ergebnis = 39

Anzahl Werktage

Werktage(<VonDatum>;<BisDatum>;<inkl. Samstage>)

Liefert die Anzahl der Werktage eines Zeitraums.

Parameter:
VonDatum (Datum): Datum, ab dem die Werktage gezählt werden sollen
BisDatum (Datum): Datum, auch Samstags, bis zu dem die Werktage gezählt werden sollen
inkl. Samstage (Wahrheitswert): true oder false; soll Samstag als Werktag mitgezählt werden

Rückgabewert:
Zahl

Beispiele:
Werktage (!01.01.14!; !11.01.14!; false
Ergebnis = 7

Werktage (!01.01.14!; !11.01.14!; true)
Ergebnis = 8

wie viele Werktage sind zw. VA-Datum und WV-Datum inkl. Samstag?
Werktage([VA_Datum (Datum)]; [WV (Datum)];true)
Ergebnis = z.B. 28

Hinweis:
Es werden nur in der Anwendung auch als Feiertag hinterlegte Feiertage berücksichtigt.

Ausdruck nach Zeit

To_Time(<Ausdruck (hh:mm:ss oder Sekunden)>)

 
Bedingungen aufzählen (Datum)

Case_Of_Date(<Sonst-Wert>;<Bedingung 1>;<Wert 1>{;<...>{;<Bedingung 20>;<Wert 20>}})

Hat man mehr als ein einfaches "Wenn dann sonst", so schachtelt man die If_Date Formel.

Mit Case_Of_Date wird die Anzahl an Klammern reduziert und die Formel kann übersichtlicher und damit einfacher wartbar angelegt werden.

Die Funktion erhält als erstes den "Sonst-Wert" und dann im Wechsel "Bedingung (Wahrheitswert)" und korrespondierenden Wert.

Parameter:
Sonst-Wert (Datum): Datum, das als Sonst-Wert verwendet wird
Bedingung 1 (Wahrheitswert): Wahrheitswert, der zutreffen muss, damit Bedienung 1 ausgeführt wird
Wert 1 (Datum): korrespondierender Datums-Wert
Optional: ...:
Optional: Bedingung 20 (Wahrheitswert): Wahrheitswert, der zutreffen muss, damit Bedienung 20 ausgeführt wird
Wert 20 (Datum): korrespondierender Datums-Wert Nr. 20

Rückgabewert:
Datum

Beispiel:

Case_Of_Date(current date + 21;
[NKZ (Zeichenfolge (5))]="D-";
current date + 10;
[NKZ (Zeichenfolge (5))]="A-";
current date + 14;
[NKZ (Zeichenfolge (5))]="CH-";
current date + 14;
[NKZ (Zeichenfolge (5))]="F-";
current date + 20;
[NKZ (Zeichenfolge (5))]="GB-";
current date + 20)

Je nach Länderkennzeichen wird z.B. das Zahlungsdatum unterschiedlich gefüllt.

Datum aus Text lesen

Datum_Lesen(<Text>;<Formatsmaske>{;<Sprache>})

Wandelt ein in Textform vorliegendes Datum in den Datentyp Datum um.

Parameter:
Text(Text): Text der das Datum enthält
Formatmaske(Text): Format indem das Datum im Text vorhanden ist
Sprache(Text) - optional: Sprachangabe

Hinweis:
Datumsformate für Formatmaske
Parameter Ausgabe Anmerkung
TT 07 Tag
T 7 Tag ohne führende Null
E . oder st Punkt oder st bei Englischübersetzung
TTE 07.
WW Sonntag Wochentag ausgeschrieben
W So Wochentag Abkürzung
MM 09 Monatsnummer
M 9 Monatsnummer ohne führende Null
NN September Monatsname
N Sep Monatsname Abkürzung
JJJJ 2011 Jahr voll
JJ 11 Jahr abgekürzt

Rückgabewert:
Datum

Beispiel:
Datum_Lesen("Di,15.Dez 2015"; "W,TTEN JJJJ")
Ergibt den 15.12.2015 las Datumswert.

Datum verschieben

Add to date(<Datum>;<Jahre>;<Monate>;<Tage>)

Verschiebt ein Datum um die angegebene Zeitspanne. "Zeitspanne" setzt sich zusammen aus Jahr, Monat, Tag und kann auch negativ sein.

Parameter:
Datum (Datum): Datum, das verschoben wird
Jahre (Ganzzahl): Anzahl Jahre, um die verschoben wird
Monate (Ganzzahl): Anzahl Monate, um die verschoben wird
Tage (Ganzzahl): Anzahl Tage, um die verschoben wird

Rückgabewert:
Datum

Beispiele:
add to date(Current Date;0;1;0)
Ergebnis = das "aktuelle Datum" um einen Monat nach vorne verschoben.

add to date([VA_Datum (Datum)]; 3; -4; -6)
Ergebnis = VA_Datum + 3 Jahre - 4 Monate - 6 Tage

Tips & Tricks:
Letzter des aktuellen Monats:
Add to date(current date;0;1; 0) - day of (current date)

Erster des Folgemonats:
Add to date(current date;0;1; 0) - day of (current date)+1

Formatieren als Text

Datum_Formatieren(<Datum>;<Formatsmaske>{;<Sprache>})

Wandelt ein Datum in einen String um.

Parameter:
Datum (Datum): Datum als Datenbankbezug oder Direkt-Eingabe
Formatsmaske (Zeichenfolge): spez. Formatierung des Datums
Sprache (Zeichenfolge)-optional: in welcher Sprache die Ausgabe erfolgt; deutsch, englisch oder französisch

Datumsformate für Formatmaske
Parameter Ausgabe Anmerkung
TT 07 Tag
T 7 Tag ohne führende Null
E . oder st Punkt oder st bei Englischübersetzung
TTE 07.
WW Sonntag Wochentag ausgeschrieben
W So Wochentag Abkürzung
MM 09 Monatsnummer
M 9 Monatsnummer ohne führende Null
NN September Monatsname
N Sep Monatsname Abkürzung
JJJJ 2011 Jahr voll
JJ 11 Jahr abgekürzt

Rückgabewert:
Text

Beispiele:
Datum_Formatieren(!02.12.2010!; "M-JJ-T")
Ergebnis = "12-2-10"

Datum_Formatieren (Current date;"WW TTE NN JJJJ";"englisch")
Ergebnis = "Sunday 07th November 2008"

Datum_Formatieren (Current date;"MM" + "/" + "TT" + "/" + "JJJJ";"englisch")
Ergebnis = "11/07/2008"

Ist Feiertag

Ist_Feiertag(<Datum>)

Prüft ein Datum auf die Eigenschaft "Feiertag" und liefert einen Wahrheitswert.

Parameter:
Datum (Datum): Datum oder Datenbank-Bezug
Betriebs-Nr.(Zahl)-optional:Betriebsnummer

Rückgabewert:
Wahrheitswert

Beispiele:
Ist Feiertag (!31.12.13!)
Ergebnis = true

Ist Feiertag (!01.12.13!)
Ergebnis = false

Ist_Feiertag ([VA_Datum (Datum)])
Ergebnis = abhängig vom VA-Datum

Hinweis:
Greift auf in der Anwendung angelegte Feiertage.

Ist Werktag

Ist_Werktag(<Datum>;<Samstag ist Werktag?>)

Prüft ein Datum auf die Eigenschaft "Werktag " und liefert einen Wahrheitswert.

Parameter:
Datum (Datum): Datum oder Datenbank-Bezug
Samstag ist Werktag? (Wahrheitswert): true oder false
Betriebs-Nr.(Zahl)-optional:Betriebsnummer

Rückgabewert:
Wahrheitswert

Beispiele:
hier 09.08.14.; ist Samstag; Samstag ist Werktag

Ist_Werktag(!09.08.2014!; true)
Ergebnis = true, (ist ein Werktag)

Jahr

Year of(<Datum>)

Liefert das Jahr zu einem Datum.

Parameter:
Datum (Datum): Datum ausgeschrieben oder als Datenbankbezug

Rückgabewert:
Zahl

Beispiele:
Year of(!17.11.82'!)
Ergebnis = 1982

Year of(!05.05.1670'!)
Ergebnis = 1670

Year of ([WV (Datum)])
Ergebnis = 2014

Kalenderwoche

Kalender_Woche(<Datum>)

Liefert die Kalenderwoche eines Datums.

Parameter:
Datum (Datum): Datum oder Datenbankbezug zu Datum

Rückgabewert:
Zahl

Beispiele.:
Kalender_Woche(!07.08.2014!)
Ergebnis = 32

Kalender_Woche ([VA_Datum (Datum)])
Ergebnis = Kalender-Woche von 1-52

Letzter Tag im Monat

Datum_Letzter_Tag_Im_Monat(<Datum>)

Liefert zu einem Datum den letzten Tag des Monats.

Parameter:
Datum(Datum): zu welchem Datum soll der letzte Tag des Monats bestimmt werden

Rückgabewert:
Datum

Beispiel:

Datum_Letzter_Tag_Im_Monat(!01.11.1993!)
Ergebnis: 30.11.1993

Millisekunden seit Rechnerstart

Milliseconds

Summe der Milisekunden, die seit Rechnerstart vergangen ist.

Parameter:
--

Rückgabewert:
Ganzzahl

Beispiel:
--

Monat

Month of(<Datum>)

Liefert eine Zahl, die dem Monat des Datums entspricht.

Parameter:
Datum (Datum): Datum oder Datenbankbezug zu Datum

Rückgabewert:
Zahl

Beispiele:
Month of(!01.05.12!)
Ergebnis = 5

z.B. [VA_Datum (Datum)] = !17.08.07!
month of([VA_Datum (Datum)])
Ergebnis = 8

Nächster Werktag

Datum_Naechster_Werktag(<Datum>;<Samstag ist Werktag?>{;<Anzahl Tage>{;<Betriebs-Nr>}})

Liefert das Datum des nächsten Werktags.

Parameter:
Datum(Datum):
Samstag ist Werktag?(Wahrheitswert): FALSE=Werkfrei TRUE=Werktag
Anzahl Tage(Ganzzahl)-optional: Soll der 1., 2., 3., usw. Werktag danach errechnet werden
Betriebs-Nr.(Ganzzahl)-optional: Nummer des Betriebs

Rückgabewert:
Datum

Beispiele:
(02.04.2021=Feiertag/Karfreitag;03.04.2021=Samstag)

Datum_Naechster_Werktag(!01.04.2021!;TRUE)
Ergebnis: 03.04.2021

Datum_Naechster_Werktag(!01.04.2021!;FALSE)
Ergebnis: 06.04.2021

Datum_Naechster_Werktag(!01.04.2021!;FALSE;2)
Ergebnis: 07.04.2021 (Also der 2. Werktag danach)

Tag

Day of(<Datum>)

Liefert eine Zahl, die dem Tag von Datum entspricht.

Parameter:
Datum (Datum): Datum als Datenbankbezug oder per Direkt-Eingabe

Rückgabewert:
Zahl

Beispiele.:
Day of(!18.06.14!)
Ergebnis = 18

Day of(!01.03.1910!)
Ergebnis = 1

Tag einer Kalenderwoche

Kalender_Woche_Tag(<Jahr>;<Woche>;<Wochentag (Montag = 1, Dienstag = 2,...)>)

Liefert ein Datum im Bezug auf einen Wochentag in einer Kalenderwoche

Parameter:
Jahr (Ganzzahl): Jahr des Datums
Woche (Ganzzahl): Woche des Datums
Wochentag (Montag = 1, Dienstag = 2,...) (Ganzzahl): Tag als Zahl

Rückgabewert:
Datum

Beispiele:
Kalender_Woche_Tag(2014; 17; 1)
Ergebnis = 27.04.2014

Kalender_Woche_Tag(2014; 12; 5)
Ergebnis = 20.03.2014

Text nach Datum

Date(<Ausdruck>)

Liefert ein Datum. Bei falscher Eingabe wird das Null-Datum zurückgegeben mit Wert !00.00.00!.

Date(<Ausdruck>)

Parameter:
Ausdruck (Zeichenfolge): Datum als Text formatiert

Rückgabewert:
Datum

Beispiele:
Date ("19.12.1899")
Ergebnis = !19.12.1899!

ungültiges Datum ->
Date ("00.13.99")
Ergebnis = !00.00.00! -> Nulldatum

Text nach Datum

Date(<Datumstext>)

Liefert ein Datum. Bei falscher Eingabe wird das Null-Datum zurückgegeben mit Wert !00.00.00!.

Date(<Ausdruck>)

Parameter:
Ausdruck (Zeichenfolge): Datum als Text formatiert

Rückgabewert:
Datum

Beispiele:
Date ("19.12.1899")
Ergebnis = !19.12.1899!

ungültiges Datum ->
Date ("00.13.99")
Ergebnis = !00.00.00! -> Nulldatum

Umwandeln in Text

String(<Ausdruck>{;<Format>})

Liefert den übergebenen Ausdruck (kann sein: Zahl, Datum, Uhrzeit, Wahrheitswert) als Text, wobei optional ein Format angegeben werden kann.

Parameter:
Ausdruck (Zahl), Datum, Uhrzeit, Wahrheitswert): Ausdruck, der in Text umgewandelt werden kann
Format (Format)-optional: wie die Ausgabe des Textes erfolgen soll

Rückgabewert:
Text


Beispiele mit Ausdruck vom Typ Datum:
String (Current Date)
Ergebnis = "08.08.2014"

String (Current Date; 3)
Ergebnis = "Dienstag, 19. August 2014"


Beispiel mit Ausdruck vom Typ Wahrheitswert:
String (ist_Feiertag(!09.02.11!)
Ergebnis = "false"


Beispiel mit Ausdruck vom Typ Zahl:
Zahl ist 47110815,42
String([Spalte 1 (Zahl)];"###.###.##0,00 EUR;-###.###.##0,00 EUR")
Ergebnis = "47.110.815,42 EUR"


Hinweis für Zahlen:
Zahlenformatierung:
-in "" anzugeben.
- es ist sowohl ein Format für positive als auch für negative Zahlen an zu geben, getrennt durch ein ;
- # steht für jeweiles eine Stelle, falls die führende Stelle eine 0 ist wird die Stelle nicht angezeigt
- 0 steht ebenfalls für jeweils eine Stelle, falls die führende Stelle 0 ist wird diese auch als 0 angezeigt


Hinweis für Datum:
Datumsformate
1 15.12.2015
2 Di,15.Dez.2015
3 Dienstag, 15. Dezember 2015
4 15.12.2015
5 Dienstag, 15. Dezember 2015
6 Di,15.Dez.2015
7 Dienstag
8 15
9 Dezember
10 15
11 2015
12 Dienstag, 15. Dezember 2015

Wenn dann sonst (Datum)

If_Date(<Wahrheitswert>{;<dann Datum>;<sonst Datum>})

Gibt abhängig von der Bedingung ein Datum zurück, wenn Anweisung "wahr" oder "falsch" ist.

Parameter:
Wahrheitswert (Wahrheitswert): Bedingung, die geprüft wird, damit Anweisungen darunter ausgeführt werden
dann Datum (Datum): Anweisung ist true, dann nehme dieses Datum
sonst Datum (Datum):Anweisung ist false, dann nehme dieses Datum

Rückgabewert:
Datum

Beispiele:
Postlauf ist um 16:00 Uhr. Wenn vor 16.00 Uhr soll das heutige Datum auf den Brief, ansonsten das morgige.

If_Date(Current time < ?16:00:00?;Current Date;Current Date +1)

Hinweis:
Anstatt bei mehr als 2 Bedingungen mehrere If_Date zu Verschachteln bitte Case_Of_Date nutzen.

Wenn dann sonst (Zeit)

If_Time(<Wahrheitswert>{;<dann Zeit>;<sonst Zeit>})

Gibt abhängig von der Bedingung eine Uhrzeit zurück, wenn Anweisung "wahr" oder "falsch" ist.

Parameter:
Wahrheitswert (Wahrheitswert): Bedingung, die geprüft wird, damit Anweisungen darunter ausgeführt werden
dann Zeit (Zeit): Anweisung ist true, dann nehme diese Uhrzeit
sonst Zeit (Zeit):Anweisung ist false, dann nehme diese Uhrzeit

Rückgabewert:
Uhrzeit

Beispiele:
Wenn der Name der Rolle Frühschicht ist, dann soll 05.30 Uhr ausgegeben werden, ansonsten 08.00 Uhr

If_Time([Rolle(Text)]="Frühschicht";?05:30:00?;?08:00:00?)

Hinweis:
Anstatt bei mehr als 2 Bedingungen mehrere If_Time zu Verschachteln bitte Case_Of_Time nutzen.

Wochentag

Datum_Nach_Wochentag(<Datum>)

Liefert den Wochentag eines Datums.

Parameter:
Datum (Datum): Datumsfeld als Datenbank-Bezug oder direkte Eingabe eines Datums

Rückgabewert:
Text

Beispiele:
Datum_nach_Wochentag (!04.06.2014!)
Ergebnis = "Mittwoch"

Datum_nach_Wochentag ([Datum (VA_Datum) ] )
Ergebnis = Wochentag der VA_Startdatum, "Montag"

Wochentag Nummer

Day Number(<Datum>)

Liefert eine feste Nummer je Wochentag

Parameter:
Datum(Datum): Datum zu dem die Wochentagnummer ausgegeben werden soll

Rückgabewert:
Zahl

Beispiele:
Day Number(!01.11.1993!)
Ergebnis 2

Hinweis:
0 Samstag
1 Sonntag
2 Montag
3 Dienstag
4 Mittwoch
5 Donnerstag
6 Freitag

Zeitbereich bestimmen

Zeitbereich_Berechnen(<Kürzel|Name|Nr>;<Start-Datum>;<Start-Zeit>{;<Ende-Datum>;<Ende-Zeit>{;<Betriebsnummer>}})

 
Zeitbereich in Stunden

Zeitbereich_In_Stunden(<Von Datum>;<Von Zeit>;<Bis Datum>;<Bis Zeit>)

 
Zeitbereiche Abdeckung bestimmen

Zeitbereich_Abdeckung_Bestimmen(<Kürzel|Name;Kürzel|Name;...>;<Start-Datum>;<Start-Zeit>{;<Ende-Datum>;<Ende-Zeit>{;<Betriebsnummer>}})

 
Zeitbereiche aufzählen

Zeitbereich_Aufzählen(<Kürzel|Name|Nr>;<Start-Datum>;<Start-Zeit>{;<Ende-Datum>;<Ende-Zeit>{;<Betriebsnummer>{;<Mindestdauer in Stunden>}}})

 
Zeitbereiche bestimmen

Zeitbereich_Alle_Berechnen(<Kürzel ausgeben>;<Start-Datum>;<Start-Zeit>{;<Ende-Datum>;<Ende-Zeit>{;<Betriebsnummer>}})

 
Zeitraum in Stunden

Zeitraum_In_Stunden(<VonZeit>;<BisZeit>{;<GeschnittenMitVonZeit>;<GeschnittenMitBisZeit>})

Errechnet eine Zeitspanne in h zwischen 2 Zeiten. Durch Angabe von Geschnitten mit Zeiten wird die Schnittmenge zwischen 2 Zeiten errechnet.

Parameter:
VonZeit(Zeit): Wann beginnt der zu überprüfende Zeitraum
BisZeit>(Zeit): Wann endet der zu überprüfende Zeitraum
GeschnittenMitVonZeit(Zeit)-optional: Wann beginnt der Zeitraum mit dem die Schnittmenge errechnet werden soll
GeschnittenMitBisZeit(Zeit)-optional: Wann endet der Zeitraum mit dem die Schnittmenge errechnet werden soll

Rückgabewert:
Zahl

Beispiele:
Veranstaltung geht von 17:00 - 22:00 Uhr

Zeitraum_In_Stunden([Von Uhrzeit (Zeit)];[Bis Uhrzeit (Zeit)])
Ergebnis: 5h (Zeitspanne)
***
Zeitraum_In_Stunden([Von Uhrzeit (Zeit)];[Bis Uhrzeit (Zeit)];?19:00:00?;?21:30:00?)
Ergebnis: 2,5h (Überschneidung der beiden Zeiträume)

Zeitstempel

Zeitstempel(<Datum>;<Uhrzeit>)

Liefert zu einem gegebenen Zeitpunkt einen Zeitstempel als Ganzzahl zurück.

Der Wert entspricht den Sekunden seit dem 01.01.2038 00:00:00 und kann positiv (Zeitpunkte nach dem 01.01.2038) oder negativ (Zeitpunkte vor dem 01.01.2038) sein.

Wird kein Datum übergeben, so wird des aktuelle Datum und die aktuelle Zeit verwendet.

Parameter:
Datum (Datum)-optional: Datenbankbezug oder Direkteingabe als Datum
Uhrzeit (Uhrzeit)-optional: Datenbankbezug oder Direkteingabe als Uhrzeit

Rückgabewert:
Zahl

Beispiele:
Zeitstempel von "jetzt" holen:
Zeitstempel(current date; current time)
Ergebnis = -736.777.285

Zeitstempel erstellen:
Zeitstempel(!01.03.2014!; ?12:13:14?)
Ergebnis = -752.240.806

Manuellen Zeitstempel für VA-Datum mit Ende-Zeit
Zeitstempel ([VA_Datum (Datum)]; [Ende (Zeit)])
Ergebnis = -736.740.000

Zeitstempel nach Datum

Zeitstempel_Nach_Datum(<Zeitstempel>)

Liefert zu einem gegebenen Zeitstempel (siehe Funktion "Zeitstempel") das zugehörige Datum zurück.

Parameter:
Zeitstempel (Lange Ganzzahl): Zeitstempel in der Form einer positiven oder negativen Zahl

Rückgabewert:
Datum

Beispiele:
[Ablaufzeitstempel (Lange Ganzzahl)] = 2.112.259

Zeitstempel_Nach_Datum([Ablaufzeitstempel (Lange Ganzzahl)])
Ergebnis = !25.01.2038!

Zeitstempel_Nach_Datum(-747.268.665)
Ergebnis = !28.04.2014!

Zeitstempel nach Uhrzeit

Zeitstempel_Nach_Zeit(<Zeitstempel>)

Liefert zu einem gegebenen Zeitstempel (siehe Funktion "Zeitstempel") die zugehörige Uhrzeit zurück.

Parameter:
Zeitstempel (Ganzzahl): Zeitstempel in der Form einer positiven oder negativen Zahl

Rückgabewert:
Zeit

Beispiele:
Erstellungszeitstempel, ausführlich= 12.08.2014 13:10:16
Erstellungszeitstempel, als Ganzzahl = -738.067.746

Zeitstempel_Nach_Zeit([Erstellungszeitstempel (Lange Ganzzahl)])
Ergebnis = ?13:10?

Zeitstempel seit Serverstart

Server_Get_Startup_Timestamp

Liefert den Zeitstempel an dem der Server gestartet wurde.

Parameter:
--

Rückgabewert:
Zahl

Beispiele:
--

Hinweis:
Zeitstempel_Nach_Datum(Server_Get_Startup_Timestamp) gibt das Datum des Zeitstempels aus
Zeitstempel_Nach_Zeit(Server_Get_Startup_Timestamp) gibt die Uhrzeit des Zeitsempels aus

Dokumente

Dateien auflisten

Document_List_Files(<Ordnerpfad>{;<Dateiname>{;<Unterordner durchsuchen>{;<Dateigröße ausgeben>{;<Minimale Größe in MB>{;<Ausgabezahlformat>}}}}})

Fragt die Größe eines Ordners (inklusive aller Unterordner) ab.

Parameter:
Ordnerpfad(Text): Inhalt welchen Ordners soll aufgelistet werden Hinweis: \ müssen mit \\ angegeben werden
Dateiname(Text): Welche Dateien sollen aufgelistet werden (*.exe nur EXE; *.pdf nur PDF usw.)
Unterordner durchsuchen(Wahrheitswert): TRUE = durchsuchen; FALSE/Standard = nicht durchsuchen
Dateigröße ausgeben(Wahrheitswert): TRUE = ausgeben, False/Standard = nicht ausgeben
Minimale Größe in MB(Zahl): Es sollen nur Dateien berücksichtigt werden, die größer als die angegeben Größe sind.
Ausgabezahlformat(Format): Beispiel: "###.##0,00 MB" Gibt die Zahl im Format "123.456,89 MB" aus

Rückgabewert:
Text

Beispiel:
Document_List_Files("c:\\Bp Event\\")
Listet alle Dateien im Ordner C:\Bp Event auf

Document_List_Files("c:\\Bp Event\\";"*.exe";TRUE;TRUE;10,5;" ###.##0,000 MB")
Zeigt alle Dateien im Ordner C:\Bp Event und dessen Unterordnern an die eine EXE - Endung haben, gibt die Dateigröße mit aus filtert jedoch
Dateien die kleiner gleich 10,5 MB sind heraus. Das Format fügt nach dem Dateinamen 2 Leerzeichen ein und gibt dann die Größe aus und versieht diese
zum Schluss noch mit der Bezeichnung MB.

Dateigröße

Document_Get_File_Size(<Dateipfad>)

Fragt die Größe einer Datei ab.

Parameter:
Ordnerpfad(Text): die Größe welches Ordners soll abgefragt werden.

Rückgabewert:
Zahl (in Byte)

Beispiel:
Document_Get_File_Size("C\\Bp Event\Client\\Application\\Bp Event Client.exe")

Die Formel liefert dann die Größe des Ordners in KB.

Datendateigröße

Get_Datafile_Size

Gibt die Größe der Datenbank-Datei in MB an.

Parameter: keine

Rückgabewert:Zahl

Ordnergröße

Document_Get_Folder_Size(<Ordnerpfad>)

Fragt die Größe eines Ordners (inklusive aller Unterordner) ab.

Parameter:
Ordnerpfad(Text): die Größe welches Ordners soll abgefragt werden.

Rückgabewert:
Zahl (in Byte)

Beispiel:
Document_Get_Folder_Size("C:\Bp Event\Bp Event Client")/1024
Die Formel liefert die Größe des Ordners mit Unterordnern in KB.

Document_Get_Folder_Size("C:\Bp Event\Bp Event@")/(1024*1024)
Die Formel liefert die Größe aller Ordner die mit Bp Event beginnen mit Unterordnern in MB.

Document_Get_Folder_Size("C:\Bp Event\") / (1024*1024*1024)
Die Formel liefert die Größe des Ordners in Gigabyte.


Gedrückte Tasten

Macintosh Cmd

Macintosh Command down

 
Macintosh Option

Macintosh Option down

 
Umschalter

Shift Down

 
Windows Alt

Windows Alt down

 
Windows Strg

Windows Ctrl down

 

Räume

Raum belegt?

Raum_Belegt(<Raum-Nr>;<Datum>;<Uhrzeit Von>;<Uhrzeit Bis>{;<Täglich bis Datum>{;<Buchungen aus VA-Nr ignorieren>}})

Prüft ob ein Raum in einem bestimmten Zeitraum belegt ist.

Parameter:
Raum-Nr(Zahl): Datensatz-Nr. des zu prüfenden Raums
Datum(Datum): ab welchem Datum beginnt der zu überprüfende Zeitraum
Uhrzeit Von(Uhrzeit): wann beginnt der zu prüfende Zeitraum
Uhrzeit Bis(Uhrzeit): wann endet der zu prüfende Zeitraum
Täglich bis Datum(Datum): wann ist der letzte zu prüfende Tag
Buchungen aus VA-Nr ignorieren(Zahl): Wenn Raum in dieser Veranstaltungsnr. gebucht ist, trotzdem nicht als belegt melden

Rückgabewert:
Wahrheitswert

Beispiele:
Raum_Belegt(30;Current date;?09:00:00?;?20:00:00?;Current date; 4465)

Überprüft ob der Raum mit der Nr. 30 am heutigen Tag zwischen 09. und 20.00 Uhr durch eine andere als die Veranstaltung mit der Nummer 4465 belegt ist.

Räume unabhängig voneinander?

Räume_Unabhängig(<Raum-Nr 1>;<Raum-Nr 2>)

Liefert einen Wahrheitswert, der angibt, ob zwei Veranstaltungs-Räume unabhängig voneinander sind.

Parameter:
Raum-Nr 1 (Ganzzahl): Datensatz-Nr. von Raum 1
Raum-Nr 2 (Ganzzahl): Datensatz-Nr. von Raum 2

Rückgabewert:
Wahrheitswert

Beispiele:
Räume_Unabhängig(28;19)
Ergebnis = true

Raumname

Raum_Name(<Raum-Nr>{;<Kürzel ausgeben>})

Liefert den Raumnamen, bei Angabe der Datensatz-Nr. des Raumes.

Parameter:
Raum-Nr (Ganzzahl): Datensatz-Nr. des Raums oder Datenbank-Bezug
Optional: Kürzel ausgeben (Wahrheitswert): true = gibt nur das Kürzel des Raumes aus; false = gibt den Namen des Raums an

Rückgabewert:
Text

Beispiele:
mit Datenbank-Bezug
Raum_Name([Nr (Lange Ganzzahl)]; false)
Ergebnis = Raumname ausgeben, z.B. "Domkeller"

mit Datensatz-Nr.
Raum_Name(35; false)
Ergebnis = Raumname ausgeben, z.B. "Domkeller"

Raum_Name([Nr (Lange Ganzzahl)]; true)
Ergebnis = Raumkürzel ausgeben, z.B. "DK"

Raumübersicht

Raumübersicht_Listenwesen(<Typ: 1 Kalender, 2 Zeitstrahl mit Überschriften, 3 Zeitstrahl mit Zeilenbeschriftungen>;<Startdatum>;<Anzahl Tage>;<Betriebsmaske>;<Breite in Pixel>{;<Ausgabeliste>{;<Raumnamen>}})

Erstellt Info Center Raumübersichten als Bilddatei vom Format SVG.

Parameter:
Typ(Zahl): 1=Kalender, 2=Zeitstrahl mit Überschrift, 3=Zeitstrahl mit Zeilenbeschriftung
Startdatum(Datum): Startdatum für die Übersicht
Anzahl Tage(Ganzzahl): wieviel Tage sollen ausgegeben werden
Betriebsmaske(Ganzzahl): welche Betriebsnummer sollen berücksichtigt werden
Breite in Pixel(Ganzzahl): Wunschbreite des Bilds in Pixel
Ausgabeliste(Ganzzahl)-optional: Listennummer ansonsten wird die Standardliste Ausgegeben
Raumnamen(Text)-optional: auf spezielle Räume einschränken (Raumnamen getrennt mit ;) oder default alle Räume

Rückgabewert:
Bild

Beispiel:
Raumübersicht_Listenwesen(1;!31.12.2019!;2;1;500)

Sonstiges

Aktuelle Benutzer Nr

Aktuelle_Benutzer_Nr

Liefert die Benutzer Nummer des angemeldeten Benutzers.

Rückgabewert:
Zahl

Beispiele:
Aktuelle_Benutzer_Nr.
Ergebnis = 59

Aktuelle Benutzer Vertreter für Benutzer

Aktueller_Benutzer_Vertretung(<Vertreter für Benutzer Nr>;<Vertrauliche Datenvertretung>)

Prüft ob und in welchem Umfang eine Vertretung vorliegt.

Parameter:
Vertreter für Benutzer Nr (Ganzzahl): Datensatz-Nr des zu prüfenden Benutzers
Vertrauliche Datenvertretung (Wahrheitswert): Auch vertrauliche Mitprüfen

Aktuelle Sprache

Current_Language

Aktuelle Sprache das Datensatzes oder die Betriebssystem-Sprache.
Verwendbar mit dem Modul "Mehrsprachigkeit". Wird gebraucht bei der Funktion "Dictionary_Translate".

Rückgabewert:
Text

Beispiele:
Current_language
Ergebnis = z.B. "deutsch"

Aktueller Benutzer: Vertreter für Benutzer-Nrn.

Aktuelle_Benutzervertretung_Nrn({<Auch vertraulich>{;<Inkl. eigener Nummer>}})

Gibt aus, für welche Benutzer der aktuelle Benutzer Vertreter ist.

Parameter:
Auch vertraulich(Text)-optional: TRUE = zusätzlich zur Arbeitsvorratsvertretung auch vertrauliche Datensätze
inkl. eigener Nummer(Text)-optional: TRUE = die eigene Benutzernummer wird mit aufgeführt

Rückgabewert:
Text


Beispiele:
Aktuelle_Benutzervertretung_Nrn(TRUE;TRUE)

Ausgabe:
3;5;-75

Aktueller Stichtag

Stichtag

Liefert den zu der Stichtag zum aktuellen Kontext.

Wird eine Liste z. B. innerhalb einer Veranstaltung aufgerufen, so ist das Veranstaltungsdatum der Stichtag. Bei Listen z. B. für die Artikelauswahl kann somit der Preis zum Zeitpunkt der Veranstaltung Berücksichtigung finden.

Gibt es keinen speziellen Stichtagskontext, so liefert die Funktion das aktuelle Datum.

Alphanummerischer Zufallswert generieren

Random_Alpha_Num(<Anzahl Stellen (4-32)>{;<Prüftabellenname>;<Prüffeldname>{;<Wert enthalten>}})

Liefert einen eindeutigen Zufallswert, optional mit Prüfung auf bereits vorhandene Werte, so dass Doppelungen ausgeschlossen werden.

Parameter:
Anzahl Stellen (4-32) (Zahl): Gewünschte Länge der Zufallszahl
Prüftabellenname(Text)-optional: Auf welcher Tabelle liegt das zu prüfende Feld
Prüffeldname(Text)-optional: Welches Feld soll auf Doppelungen geprüft werden.

Rückgabewert: (Text)

Beispiel:
Random_Alpha_Num(4;"Vorgangsartikel";"Vorgangsartikel_Freifeld_1")
Erstellet eine 4 stellige Zufallskombination aus Ziffern und Buchstaben, prüft ob diese auf der Tabelle Vorgangsartikel im Feld Vorgangsartike_Freifeld_1 vorhanden ist, falls diese vorhanden ist zieht er neu.

Ausdruck auswerten

Ausdruck_Auswerten(<Ausdruck>)

Wertet einen 4D Ausdruck aus, der im Text-Format vorliegt. Damit ist es z.B. möglich eine Formel je nach Bedarf zusammenzusetzen.

Parameter:
Ausdruck(Text): Welcher Ausdruck ist auszuwerten; beginnend mit der Art des Ausdrucks um die es sich handelt gefolgt von einem : und dem Ausdruck)

Rückgabewert:
Je nach auszuwertendem Ausdruck

Beispiel:
Ausdruck_Auswerten("Formel:string("+Funktion("FormelsammlungHS";"ineinerWoche")+";7)")

Erzeugt einen String aus der In der Funktion FormelsammlungHS unter ineinerWoche hinterlegten Formel und versieht diese mit einem Format.

Auswahlliste ergänzen

Auswahlliste_Ergänzen(<Auswahllist>;<Zusätzlicher Wert>)

Fügt einen Wert einer Auswahlliste hinzu.

Parameter:
Name der Auswahlliste(Text): Welche Auswahlliste soll ergänzt werden
Zu ergänzender Wert(Text): Welcher Wert soll hinzugefügt werden.

Rückgabewert:
Ergänzung der Auswahlliste

Hinweis:
- ist der Wert bereits in der Auswahlliste, so passiert nichts weiter
- Hat der ausführende Benutzer keine Rechte zum Ändern von Auswahllisten erfolgt eine Meldung, es wird nichts geändert

Auswahlliste setzen

ChoiceList_Set_Values(<Auswahllist>;<Alle Werte>)

Importiert eine Liste von Werten in eine Auswahlliste

Parameter:
Auswahllistennamen(Text): Name der zu füllenden Auswahlliste
Alle Werte(Text): Auflistung der Werte, getrennt durch char(13)

Rückgabewert:
""

Hinweis:
Bereits existierende Werte der Auswahlliste werden komplett überschrieben.

Auswahllistenwerte

Field_Get_Choice_List_Values(<Tabellenname>;<Feldname>{;<Wertetrenner>})

Erstellt eine Liste mit allen im Feld gefundenen Werten.

Parameter:
Tabellenname(Text): Auf welcher Tabelle befinden sich die Werte
Feldname (Text): Auf welchem Feld befinden sich die Werte
Wertetrenner(Text)-optional: Standardmäßig wird ein Wert je Zeile ausgegeben, durch diese Option ist auch eine Trennung mit anderen Zeichen möglich

Beispiel:
Field_Get_Choice_List_Values("Adressen";"Adr_Anrede")

Ergibt eine Liste mit:
Familie

Frau
Herr
Herr und Frau

Field_Get_Choice_List_Values("Adressen";"Adr_Anrede";"--")

Ergibt eine Liste mit:
--Familie--Frau--Herr--Herr und Frau

Benutzer in Berechtigungsgruppe

Benutzer_In_Gruppe(<Benutzer-Nr>;<Option 1: Gruppe-Nr>{;<Option 2: Gruppe-Name>})

Liefert einen Wahrheitswert, der angibt, zu welcher Gruppe/Gruppen ein Benutzer gehört.
Optional kann der Gruppenname angegeben werden, dann wird der zweite Parameter "Gruppe-Nr" ignoriert und stattdessen der dritte Parameter "Gruppenname" ausgewertet .

Parameter:
Benutzer-Nr (Ganzzahl): Datensatz-Nr. des Benutzers
Option 1: Gruppe-Nr (Ganzzahl): Datensatz-Nr. der Gruppe
Option 2: Gruppe-Name (Text): kann statt Option 1 angegeben werden
Entweder Option 1 oder Option 2 angeben.

Rückgabewert:
Wahrheitswert

Benutzer_In_Gruppe([Benutzer-Nr. (Lange Ganzzahl)]; [Gruppen-Nr. (Lange Ganzzahl)])
Ergebnis = prüft jeden Nutzer auf eine Gruppenzugehörigkeit

Benutzer_In_Gruppe(3;25)
Ergebnis = false;
Benutzer "Administrator" gehört nicht zu Gruppe "Projekte"

Benutzer_In_Gruppe(6; 48; "Operativ")
Ergebnis = prüft Benutzer, ignoriert dabei die Gruppen-Nr. und liest nur "Operativ" aus

Benutzer-Anmeldename nach Nr

Benutzer_Login_Nach_Nr(<Anmeldename>)

Liefert anhand des Login-Namens die Datensatznummer

Parameter:
Name(Text): Loginname

Rückgabewert:
Ganzzahl

Beispiele:
Benutzer_Login_Nach_Nr("Administrator")
Ergebnis = 3

Hinweis:
Falls der Login-Name nicht existiert wird -1 ausgegeben.

Benutzer-Nrn. in Gruppe

Benutzer_Nrn_In_Gruppe(<Benutzergruppennname>)

Liefert alle Benutzer-Nummern die Mitglied in einer Benutzergruppe sind.
Benutzer_Nr.n_In_Gruppe(<Benutzergruppennname>)

Parameter:
Benutzergruppenname: Name der Benutzergruppe als Text

Rückgabewert:
Text

Beispiel:
Benutzer_Nr.n_In_Gruppe("Expedia-Berechtigung")
Gibt eine Liste mit allen Benutzer-Nummern aus die der Benutzergruppe „Expedia-Berechtigung“ angehören.

Benutzergruppenname

Gruppe_Name(<Benutzergruppen-Nr>)

Liefert anhand der Nummer den Namen der Benutzergruppe.

Parameter:
Benutzergruppen-Nr(Ganzzahl): Nummer der Benutzergruppe

Rückgabewert:
Text

Beispiele:
Gruppe_Name(11)
Ergebnis = "Buchhaltung"

Benutzergruppennummer

Gruppe_Name_Nach_Nr(<Benutzergruppennname>)

Liefert anhand des Namens die Nummer einer Benutzergruppe

Parameter:
Benutzergruppenname(Text): Name der Benutzergruppe als Text

Rückgabewert:
Zahl

Beispiel:
Gruppe_Name_Nach_Nr.("Rechnungs-Berechtigung")
=> 5

Benutzername

Benutzer_Name(<Benutzer-Nr>{;<Vorname-Nachname>})

Liefert anhand der Nummer den Namen eines Benutzers.

Parameter:
Benutzer-Nr(Zahl): Nummer des Benutzers
Vorname-Nachname(Wahrheitswert)-optional: TRUE: Gibt Vorname und Nachname des Benutzers aus

Rückgabewert:
Text

Beispiele:
Benutzer_Name(3;TRUE)
Ergebnis = "Vorname Nachname"

Benutzername nach Nr

Benutzer_Name_Nach_Nr(<Benutzername>)

Liefert anhand des Vor- und Nachnamens eines Benutzers die Nummer

Parameter:
Benutzername(Text): Vorname und Nachname

Rückgabewert:
Ganzzahl

Beispiele:
Benutzer_Name_Nach_Nr("Carolin Fleiß")
Ergebnis = 66

Hinweis:
Falls der Name nicht existiert wird -1 ausgegeben.

Bp Event Version

Version_Lesen

Liefert die aktuelle Bp Event Version
Parameter:
--

Rückgabewert:
Text

Datenblatt: Datensatznummer

Datenblatt_Datensatz_Nr

Um Kombi-Listen in Datenblätter verwenden zu können, wird die Datensatznummer in deren Kontext man sich befindet benötigt, also z. B. die Adressnummer zu der das Datenblatt aufgebaut wird.
Diese muss nun als Filter in einer SSL verwendent werden, die dann über Kombi-Listen mit anderen Daten verbunden wird.
Diese dann im Filterbereich der entsprechenden Listen verwenden.

Datensatz in Transaktion sperren

Lock_Record_In_Transaction(<Tabellenname>;<Datensatznummer>)

Prüft im Jobschritt ob Datensätze gesperrt sind und deshalb nicht geändert werde können. Sperrt diese dann auch direkt während des Transaktionsjobs.

Parameter:
Tabellenname(Text): auf welcher Tabelle befindet sich der zu prüfende Datensatz?
Datensatz-Nr.(Ganzzahl): des zu prüfenden Datensatzes

Rückgabewert:
Text
"" = keine Sperre ansonsten
die Sperrinformation, die auch beim Öffnen des Datensatzes erscheint, also wer den Datensatz sperrt.

Beispiele:
Die VA 4465 ist bereits geöffnet.

Record_In_Transaction("Veranstaltungen";4465)

Bringt nun als Ausgabe (wenn anderweitig bearbeitet wird):
„Der Datensatz wird bearbeitet"

Bringt nun als Ausgabe (wenn NICHT anderweitig bearbeitet wird):
""

Datensätze geändert seit

Table_Modified_Records(<Tabellenname>;<Zeitstempel ab wann>)

Liefert die Datensatznummern der seit einem anzugebenden Zeitpunkt geänderten Datensätze.

Parameter:
Tabellenname (Text): auf welcher Tabelle sollen die Datensätze überprüft werden
Zeitstempel ab wann (Ganzzahl): ab welchem Zeitpunkt sollen die geänderten Datensätze aufgelistet werden

Rückgabewert:
Text - Datensatznummern durch ; getrennt

Beispiele:
Veranstaltungsliste Liste der in den letzten 3 Tagen geänderten VAs:
- Veranstaltungs Liste bauen
- Veranstaltungs-Nr.-Feld filtern auf "Formel:Table_Modified_Records("Veranstaltung";zeitstempel(current date-3;?00:00:00?))"
=> Es werden nur die Veranstaltungen an denen in den letzten 5 Tagen Änderungen gemacht wurden angezeit

Seit der letzten Ausführung einer Import Transaktion geänderte Daten:
- Filter auf das Datensatzfeld mit
"Formel: Table_Modified_Records(<Tabellenname>;Job_Last_Execution (num(Job_Parameter_Wert("JobLogKetteJobNr"));"Beendet"))

Siehe auch:
=> Funktion: Zeitstempel

Datensatzsperre prüfen

Record_Get_Lock_Info(<Tabellenname>;<Datensatznummer>)

Prüft ob Datensätze gesperrt sind und deshalb nicht geändert werde können.

Parameter:
Tabellenname: auf welcher Tabelle befindet sich der zu prüfende Datensatz?
Datensatz-Nr.: des zu prüfenden Datensatzes

Rückgabewert:
Text
"" = keine Sperre ansonsten
die Sperrinformation, die auch beim Öffnen des Datensatzes kommt, also wer den Datensatz sperrt.

Beispiele:
Die VA 4465 ist bereits geöffnet.

Record_Get_Lock_Info("Veranstaltungen";4465)

Bringt nun als Ausgabe:
„Der Datensatz wird bearbeitet"

Einmalige Nummer ziehen

Unique_Number(<ID>{;<Auswerten>})

Funktion im Rahmen des Imports; erstellt eine eindeutige Nummer unabhängig von anderen Nummern in der Anwendung.

Parameter:
ID(Text): Aus welchem Text heraus soll die Nummer generiert werden.
Auswerten(Wahrheitswert): ermöglicht das filtern von Datensätzen durch eine anzugebende Bedingung, ist diese dann False wird eine 0 ausgegeben, ist diese
TRUE eine Nummer generiert.

Rückgabewert:
Zahl

Beispiel:
<Mitarbeiter DL Nummer> + Unique_Number("PDL-"+<DL Kürzel>;<Mitarbeiter DL Nummer>=0)

Hiermit könnte man z.B. die Mitarbeiter innerhalb eines Personaldienstleisters eindeutig nummerieren. Wird der Mitarbeiterdatensatz im Rahmen des Imports nun nicht neu angelegt, sondern nur aktualisiert, so möchte man keine neue Nummer vergeben; hier kommt der 2. Parameter ins Spiel. Ist dieser false, liefert die Funktion den Wert 0 und es wird keine neue Nummer gezogen.

Die Formel liefert also entweder die bereits vergebene Personalnummer oder - falls noch keine vergeben - eine Neue.

Formel auswerten

Formel_Auswerten(<Formeltext>)

Wertet eine Formel aus, die im Text-Format vorliegt. Damit ist es z.B. möglich eine Formel je nach Bedarf zusammenzusetzen.

Parameter:
Formeltext(Text): Welche Formel ist auszuwerten


Rückgabewert:
Text


Beispiel:

Formel_Auswerten("string("+Funktion("FormelsammlungHS";"ineinerWoche")+";7)")

Erzeugt einen String aus der In der Funktion FormelsammlungHS unter ineinerWoche hinterlegten Formel und versieht diese mit einem Format.

Freier Datenzugriff: Anzahl Datensätze

Feldwerte_Nach_Anzahl(<Tabellenname>;<Feldname>;<Feldwert>;<Feldname n>;<Feldwert n>)

Auf beliebigen Tabellen bestimmen wie oft in einem Feld ein bestimmter Wert vorhanden ist.

Feldwerte_Nach_Anzahl(<Tabellenname>;<Feldname 1>; <Feldwert 1>;<Feldname n>;<Feldwert n>)

Besonderheiten:
Beim Einfügen der Formel via Funktionen-Feld wird über ein Menü die gewünschte Tabelle und der gewünschte Feldname 1 abgefragt und dann automatisch in der Formel befüllt-

Parameter:
Tabellenname: auf welche Tabelle soll zugegriffen werden.
Feldname: welches Feld soll überprüft werden
Feldwert 1: welchen Wert soll das zu prüfende Feld enthalten
Feldname n; Feldwert n: es können weitere Felder und Werte angegeben werden

Rückgabewert:
Zahl

Beispiele:
Feldwerte_Nach_Anzahl("Album";"Album_Kategorie"; "Räume")
Ergebnis: 8

Im Feld Album_Kategorie auf der Tabelle Album steht wie oft der Begriff Räume? 8x

Wieviele Veranstaltungen gibt es am 29.06.2013?
Feldwerte_Nach_Anzahl ("Veranstaltung";"VA_Wann";string(!29.06.2013!;7))
Ergebnis = 8

Wieviele Veranstaltungen gibt es am Tag der jeweiligen VA schon?
Feldwerte_Nach_Anzahl ("Veranstaltung";"VA_Wann";string;([VA_Datum (Datum)]7))
Ergebnis = Anzahl wird pro Tag ausgegeben; Tag 01.06. -> 4; Tag 03.06. -> 9; usw.

Freier Datenzugriff: Datensätze auswählen

Select_Records(<Titel>;<Tabellenname>;<Listenname>{;<Suchdialog>{;<Mehrfachauswahl>{;<Bei nur 1 Datensatz direkt übernehmen>{;<Feldname>|<Variable:Variablenname>;<Feldwert>;<Feldname n>|<Variable:Variablenname>;<Feldwert n>}}}})

Möchte man im Listenwesen in einer eigenen Liste z. B. den Veranstalter per Liste auswählen lassen, so gibt man bei der Filterspalte zum Feld VA_AdrNr. einfach "Eingabe:Veranstalter auswählen". Beim Ausführen kommt dann die Adresssuche mit der zuletzt verwendeten Listendefinition.
Das ist schön einfach und funktioniert super, nur muss der Benutzer immer suchen.


Parameter:
Titel(Text): Titel des Auswahldialogs
Tabellenname(Text): Auf welcher Tabelle
Listenname(Text): anhand welcher Liste
Suchdialog(Wahrheitsert)-optional: False = kein Suchdialog, True = Suchdialog
Mehrfachauswahl(Wahrheitsert)-optional: False = keine Mehrfachauswahl, True = Mehrfachauswahl
Bei nur 1 Datensatz direkt übernehmen(Wahrheitsert)-optional: False = nicht übernehmen, True = übernehmen
Feldname 1(Text)
Feldwert 1(Text)
Feldname n(Text)
Feldwert n(Text


BEISPIEL:
Gib mir alle Veranstaltungen ab heute vom Anlass Empfang mit der Liste "AG VA-Text Vereinbarung" zur Auswahl und lasse mich mehrere Datensätze auswählen entspricht.

Select_Records ("VAs auswählen";"Veranstaltung";"AG VA-Text Vereinbarung";False;True;\"VA_Anlass";"Empfang";"VA_Wann>=";String(Current date))

Freier Datenzugriff: Datensatznummer

Feldwerte_Nach_Satz_Nr(<Tabellenname>;<Feldname>;<Feldwert>;<Feldname n>;<Feldwert n>)

Von einer beliebigen Tabelle die Datensatznummer eines Felds mit bestimmten Inhalt erhalten.

Besonderheiten:
Beim Einfügen der Formel via Funktionen-Feld wird über ein Menü die gewünschte Tabelle und der gewünschte Feldname 1 abgefragt und dann automatisch in der Formel befüllt.

Parameter:
Tabellenname: auf welche Tabelle soll zugegriffen werden.
Feldname: welches Feld soll überprüft werden
Feldwert 1: welchen Wert soll das zu prüfende Feld enthalten
Feldname n; Feldwert n: es können weitere Felder und Werte angegeben werden

Rückgabewert:
Zahl

Beispiele:
Feldwerte_Nach_Satz_Nr. ("Adressen";"Adr_NachName";"Bauer")
Ergebnis: 430

Im Feld Adr_NachName auf der Tabelle Adresse steht im Datensatz 430 „Bauer“.

Freier Datenzugriff: Feldwert

Feldwerte_Nach_Feldwert(<Tabellenname>;<Rückgabefeld-Name{(MIN|MAX|SUM|AVG|CONCAT|DISTINCT|CHOICE|MIN|MAX|COUNT|COUNT0)}>{;<Feldname>;<Feldwert>;<Feldname n>;<Feldwert n>})

Mit beliebigen Feldwerten einen geeigneten Datensatz einer beliebigen Tabelle finden bzw. Werte davon abgreifen.

Parameter:
Tabellenname (Zeichenfolge): Tabellenname, auf die zugegriffen werden soll
Rückgabefeld-NameOptional: (MIN|MAX|SUM|AVG|CONCAT|MIN|MAX|COUNT|COUNT0):
Optional: Feldname 1:
Feldwert 1:
Feldname n:
Feldwert n:

Rückgabewert:
Text

Beispiele:
Pax der Tischreservierung an einem bestimmten Tag? Feldwerte_Nach_Feldwert("Veranstaltung";"VA_bisPersonen";"VA_Typ";"Tischreservierung";"VA_Wann";string([!mein Datum!;7))
Ergebnis = ??

Hinweis:
Ab der Version 110G03a wird auch folgender Wert unterstützt:

Feldwerte_Nach_Feldwert("Adressen";"Adr_Name2";"Adr_Name2";"a\\;b\\;c"), um den Wert "a;b;c" zu finden.

Feldwerte_Nach_Feldwert("Adressen";"Adr_Name2";"Adr_Name2";
Replace String( "a;b;c" ; ";" ; "\\;" ) ),
um den Wert "a;b;c" zu finden.

Hashcode erzeugen

Generate digest(<Text>;<0 = MD5, 1 = SHA1, 3 = SHA256, 4 = SHA512>)

Spezielle Formel, nur im Rahmen von Importen genutzt.

Werden verwendet um Passwörter zu prüfen, ohne das Passwort selbst zu
übertragen. Es wird dabei ein Hashwert erzeugt. Hashwerte sind eine Art
Fingerabdruck für das Urbild (Quelltext) und sind so konstruiert, dass es
möglichst selten "Kollisionen" gibt, d.h. 2 Werte haben den gleichen Hashwert.

Parameter:
Text(Text): Für diesen Text soll der Hashcode erzeugt werden
0 oder 1 (Zahl): 0= MD5; 1 = SHA1
MD5 ist eine Serie von 16 Byte als String von 32 hexadezimalen Zeichen.
SHA-1 ist eine Serie von 20 Byte als String mit 40 hexadezimalen _Zeichen.

Rückgabewert:
Text

Beispiele:
Generate digest("Never ignore coincidence. Unless, of course, you’re busy. In
which case, always ignore coincidence.";0)

Ergebnis:
7986ee815b46075291c444e2f8aae966

Passwortgenerator

Passwort_Generator({<Login Name>})

Generiert für den angegebenen Login-Namen ein Passwort nach den vorgegebenen Passwort-Einstellungen.

Parameter:
Login Name (Zeichenfolge)-optional: Login-Name als Zeichenfolge oder aus Datenbankfeld

Rückgabewert ist Text.

Beispiele:
für alle Nutzer das selbe Passwort erstellen
Password_Generator
Ergebnis = "42OJ1KeR"

Password_Generator ("Demo")
Ergebnis = "uQ6e)P3Q"

Passwort_Generator([AktuellerNutzerLogin (Text)])
Ergebnis = Passwort für "AktuellenNutzer"

Referenz in Textverarbeitung direkt fixieren

Freeze_Reference(<Ausdruck>)

Wertet Formel nur bei Erstellung des Briefs aus (um z.B. lediglich 1x eine Nutzereingabe abzufragen). Erzeugt somit nicht die "Referenz" im Brief sondern
ein festes Abbild des Datenbestands zu diesem Zeitpunkt.

Parameter:
Ausdruck(Text): Welche Formel ist auszuwerten

Rückgabewert:
Text


Hinweis:
- Regulär bleibt der Ausdruck erhalten und wird z.B. bei Erstellung
des Briefs, einer PDF etc. neu ausgewertet

RGB Werte in Ganzzahl wandeln

RGB_To_Longint(<Rot (0 bis 255)>;<Grün (0 bis 255)>;<Blau (0 bis 255)>)

Wandelt einen im RGB Format vorliegenden Farbwert in eine wie z.B. in der Formel TexttoSVG benötigten Dezimalwert um.

Parameter:
Rot (0 bis 255) Rotanteil
Grün (0 bis 255)Grünanteil
Blau (0 bis 255) Blauanteil

Rückgabewert:
Zahl

Beispiele:
RGB_To_Longint(255;0;0)
Ergebnis: 16711680
(=rot)

Hinweis:
Die Formel berechnet einen 8 stelligen Dezimalwert:
RGB = (R*65536)+(G*256)+B

Schachtelungstiefe der Liste

Liste_Schachtelungstiefe

Werden Listen z. B. mittels Verschachtelung von Angebotsgeneratorvorlagen oder Listen (Liste_In_Liste) verwendet, so liefert diese Funktion die Schachtelungstiefe der Listen zurück.

Rückgabewert:
Zahl

Beispiel:
Ausgabe von Rezepturen. Ruft man eine Artikelvorlage auf und in dieser befindet sich eine Artikelkomponentenlisten, die wiederum selbst die Artikelvorlage enthält, so wird die Rezeptur eines Artikels mehrstufig - bis es nicht mehr geht - abgearbeitet.
Mittels der "Liste_Schachtelungstiefe" ist es möglich die Einrückung der Artikel mit deren Mengen gemäß der "Rezeptur in Rezeptur Tiefe" auszugeben, so dass zu jedem Artikel die jeweilige Rezeptur dazu eingerückt ist.

Serie: Nächster Zeitstempel

Series_Next_Timestamp(<Serie-Nr>{;<Datum>{;<Uhrzeit>}})

Liefert den Zeitstempel an dem eine Serie nach dem angegebenen Zeitpunkt ausgeführt wurde.

Parameter:
Serien-Nr(Zahl): Nummer der Serie
Datum(Datum)-optional: Datum von dem aus geprüft werden soll
Uhrzeit(Uhrzeit)-optional: Uhrzeit von der aus geprüft werden soll

Rückgabewert:
Zahl

Serie: Vorheriger Zeitstempel

Series_Previous_Timestamp(<Serie-Nr>{;<Datum>{;<Uhrzeit>}})

Liefert den Zeitstempel an dem eine Serie vor dem angegebenen Zeitpunkt ausgeführt wurde.

Parameter:
Serien-Nr(Zahl): Nummer der Serie
Datum(Datum)-optional: Datum von dem aus geprüft werden soll
Uhrzeit(Uhrzeit)-optional: Uhrzeit von der aus geprüft werden soll

Rückgabewert:
Zahl

Unix Zeitstempel

Util_Unixtime({<Datum>{;<Uhrzeit>}})

Rechnet einen Zeitstempel aus Datum / Uhrzeit.

Parameter:
Datum: welches Datum soll umgerechnet werden
Uhrzeit: welche Uhrzeit soll umgerechnet werden

Rückgabewert:
Text

Beispiel:
Util_Unixtime(Current date;Current time)

Liefert einen Zeitstempel vom heutige Datum und der jetzigen Zeit.

UUID generieren

Util_UUID

Errechnet eine UUID (Universally Unique Identifier / ein Standard für Identifikatoren) zur eindeutigen Kennzeichnung von Informationen. Wird vor allem im Bereich der WebApp benötigt um neue Datensätz eindeutig anzulegen.

Util_UUID

Parameter:
-

Rückgabewert:
Text

Weitere Informationen:
Eine UUID ist eine 32 stellige weltweit eindeutige ID (mit - als Formatierung 36 stellig), die auch zwischen Datenbanken ausgetauscht werden kann oder als IDs in Fremdsystemen ohne Risiko von Kollisionen verwendet werden kann.

Ein UUID besteht aus einer 16-Byte-Zahl, die hexadezimal notiert und in fünf
Gruppen unterteilt wird. In ihrer Normalform sieht eine UUID beispielsweise so aus:
550e8400-e29b-11d4-a716-446655440000

Vorlagenverschachtelung

Template_Stack_Get

Gibt an in welchem Kontext die Liste aufgerufen wird und liefert in diesem Zusammenhang die Objektnamen der Vorlagen als Text mit Umbrüchen nach jedem Namen.

Parameter:
--
Ausgabe:
(Text)

Beispiel:
Text_Get_Lines(Template_Stack_Get;1;1)
- Gibt dem Namen z.B. des Datenblatts an in dem eine Liste ausgeführt wird. Liefert in diesem Zusammenhang den Objektnamen der obersten Vorlagen (z.B. Veranstaltungsblattvorlage).

Vorlagenverschachtelungstiefe

Template_Stack_Size

Gibt an in welchem Kontext die Liste aufgerufen wird und liefert in diesem Zusammenhang die Schachtelungstiefe.

Parameter:
--
Ausgabe:
(Text)

Beispiel:
Text_Index_Of_Line(Template_Stack_Get;"abc")>0
- Um festzustellen ob man unterhalb der Vorlage "abc" aufgerufen wird.

Zahlung: Externe ID -> Nr

Zahlung_ExterneID_Nr(<Externe ID>)

Liefert anhand der externen ID eine interne Nummer um im Rahmen eines Imports direkt den richtigen Satz zu wählen.
Wird vor allem im Rahmen von Import Export benötigt.

Parameter:
Externe ID(Text): Externe ID der Zahlung in Textform

Rückgabewert:
Zahl

Zeichenkettenbereich überschreiben

String_Record_Set_Field(<Text>;<Neuer Wert>;<Start-Position>;<Ende-Position>;<Füllzeichen>;<Vor dem Wert auffüllen>)

Überschreibt Zeichen einer Zeichenkette

Parameter:
Text(Text): Text in dem die Zeichen ersetzt werden sollen
Neuer Wert(Text): Zeichenfolge, die eingesetzt werden soll
Start-Position(Zahl): Zeichenposition an der das Einsetzen beginnen soll
Ende-Position(Zahl): Zeichenposition an der das Einsetzen enden soll
Füllzeichen(Text): Zeichen mit dem aufgefüllt werden soll, falls die Zeichen aus Neuer Wert nicht ausreichen
Vor dem Wert auffüllen(Wahrheitswert): FALSE: Erst mit Neuer Wert, dann mit Füllzeichen ersetzen; TRUE: erst mit Füllzeichen beginnen, dann mit Ner Wert ersetzen


Rückgabewert:
Text

Beispiele:

String_Record_Set_Field("abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz";"ERSETZT";15;25; "-";FALSE)
abcdefghijklmnERSETZT----zabcdefghijklmnopqrstuvwxyz

String_Record_Set_Field("abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz";"ERSETZT";15;25; "-";TRUE)
abcdefghijklmn----ERSETZTzabcdefghijklmnopqrstuvwxyz

Text

Anzahl Zeilen

Text_Count_Lines(<Text>)

Zählt die Anzahl Zeilen eines Textes.

Parameter:
Text (Zeichenfolge oder Text): Datenbankfeld vom Typ Text oder übergebener Wert

Rückgabewert ist:
Zahl

Beispiele:
Mitarbeiter spricht vier Sprachen
Text_Count_Lines([Sprachen (Text)])
Ergebnis = 4

Anzahl der Zeilen aus Adresse -> Basis -> Wichtig_Text auslesen
Text_Count_Lines([Wichtig (Text)])
Ergebnis = 8

Wieviel Zeilen hat der VA-Ablauf-Text?
Text_Count_Lines([Ablauf komplett (Text)])
Ergebnis = 15

Aufzählung enthält Wert

Text_Enum_Contains_Value(<Aufzählungstext>;<Wert>{;<Trennzeichen>{;<Exakter Wert>}})

Überprüft eine Aufzählung auf einen bestimmten Wert und gibt einen Wahrheitswert aus.

Parameter:
Aufzählungstext(Text): Zu durchsuchende Aufzählung, Trennzeichen muss zwingend ; sein
Wert(Text): Nach welchem Text soll der Aufzählungstext durchsucht werden (Achtung Teile von Texten werden nicht unterstützt( bei der Suche nach blau wird hellblau nicht als Treffer gewertet))
Trennzeichen(Text): muss angegeben werden sobald man Exakter Wert nutzen möchte, ist dann mit ";" anzugeben
Exakter Wert(Wahrheitswert): FALSE (Standard)- es wird unabhängig von Groß und Kleinschreibung gesucht. / TRUE - es wird nur als Treffer gewertet wenn diese auch stimmt

Rückgabewert:
Wahrheitswert

Beispiel:
Text_Enum_Contains_Value("rot;Grün;gelb;blau";"grün")
Ergebnis: TRUE

Text_Enum_Contains_Value("rot;Grün;gelb;blau";"grün";";";true)
Ergebnis: FALSE

Bedingungen aufzählen (Text)

Case_Of_Text(<Sonst-Wert>;<Bedingung 1>;<Wert 1>{;<...>{;<Bedingung 20>;<Wert 20>}})

Hat man mehr als ein einfaches "Wenn dann sonst", so schachtelt man die If_Text Formel.
if_Text(<B1>;<W1>; if_Text(<B2>;<W2>;if_Text(<B3>;<W3>;<W-Sonst>)))
Hat man mehr als 2 Bedingungen wird dies schnell unübersichtlich.

Mit Case_Of_Text wird die Anzahl an Klammern reduziert und die Formel kann übersichtlicher und damit einfacher wartbar angelegt werden.

Die Funktion erhält als erstes den "Sonst-Wert" und dann im Wechsel "Bedingung (Wahrheitswert)" und korrespondierenden Wert.

Parameter:
Sonst-Wert (Text): Text, der als Sonst-Wert verwendet wird (wenn alle anderen Bedingungen NICHT zutreffen)
Bedingung 1 (Wahrheitswert): Wahrheitswert, der zutreffen muss, damit Wert 1 ausgegeben wird
Wert 1 (Text): auszugebender Text, wenn Bedingung 1 zutrifft
Bedingung 2 (Wahrheitswert)-Optional: es können nun bis zu 20 weitere Bedingungen und Werte angegeben werden.
Wert 2 (Text)-Optional: es können nun bis zu 20 weitere Bedingungen und Werte angegeben werden.

Rückgabewert:
Text

Beispiel:
Case_Of_Text(“E“;
Auswahl(Text)=a;
“A“;
Auswahl(Text)=b;
“B“
Auswahl(Text)=c;
“C“;
Auswahl(Text)=d;
“D“)

Die Formel gibt “A“ als Text aus wenn das Feld Auswahl(Text) a enthält, “B“ wenn das Feld b enthält und so weiter. Wenn das Feld Auswahl(Text) weder a, b, c oder d enthält wird das “E“ ausgegeben.

Dokument als Base64 auslesen

Document_To_Base64(<Dateipfad>)

Dokument als Base64 auslesen.

Parameter:
Dateipfad(Text): Pfad an dem das Dokument als Base64 gespeichert werden soll

Ersten Buchstaben groß schreiben

FirstLetterUpperCase(<Text>)

Gibt einen Text mit dem ersten Buchstaben als Großbuchstaben aus.

Parameter:
Text(Text): welcher Text soll verändert werden

Rückgabewert:
Text

Beispiel:
FirstLetterUpperCase("großbuchstabe")
Ergebnis: Großbuchstabe

Formatierten Text pro Zeile einzeln formatieren

Text_Format_Markers_Split_Lines(<Text>)

Verteilt die Formatierungsmarker so um, dass jede Zeile einzeln formatiert wird. (Somit bleibt auch beim auseinanderschneiden von Zeilen das Format erhalten.)

Parameter:
Text(Text): Text indem die Formatierung erweitert werden soll.

Rückgabewert:
Text

Beispiel:
Text ist wie folgt formatiert:
<b>FETT
<i>FETTKURSIV</i></b><i>
<u>KURSIV</u></i><u> UNTERSTICHEN
UNTERSTRICHEN</u>

Durch
Text_Format_Markers_Split_Lines([(Text)])
Werden die Marker nun so verteilt, dass diese auch noch Sinn machen, wenn jede Zeile für sich steht.
<b>FETT</b>
<i><b>FETTKURSIV</b></i>
<i><u>KURSIV</u></i><u> UNTERSTICHEN</u>
<u>UNTERSTRICHEN</u>

Formatierter Text nach Html konvertieren

Text_Format_Markers_To_Html(<Text>)

Ersetzt im Text (der bereits html Marker für fett, unterstrichen etc. enthält) die <dec> 4711 </dec> Tags mit den Kürzeln der ausweisungspflichtigen Inhaltsstoffe / Allergene zum Artikel.

Parameter:
Text(Text): zu bearbeitender Text

Rückgabewert:
Text

Formatierung entfernen

Text_Format_Markers_Apply(<Text>)

Liefert denselben Text, entfernt jedoch eventuell vorhandene Formatierungen

Parameter:
Text: Text aus dem die Formatierung entfernt werden soll.

Rückgabewert:
Text

Beispiel:
Artikeltext ist:
Fett (Fett formatiert)
Fett (Fett formatiert)
Kursiv (Kursiv formatiert)
Kursiv (Kursiv formatiert)

Text_Format_Markers_Apply([Artikeltext (Text)])
Ergibt:
Fett (ohne Formatierung, nur noch reiner Text)
Fett (ohne Formatierung, nur noch reiner Text)
Kursiv (ohne Formatierung, nur noch reiner Text)
Kursiv (ohne Formatierung, nur noch reiner Text)

Grossbuchstaben

Uppercase(<Zeichenfolge>)

Liefert den selben Text in GROSSBUCHSTABEN mit optionaler Berücksichtigung von Akzenten.

Parameter:
Zeichenfolge (Zeichenfolge): Text der bearbeitet wird
Akzente übernehmen-optional: * = Akzente werden mit übernommen; ““-Akzente werden nicht mit umgewandelt.

Rückgabewert:
Text

Beispiele:
Uppercase(“café“;*)
Ergebnis = CAFÉ

ohne Akzente:

Uppercase(“café“)
Ergebnis = CAFE

Kleinbuchstaben

Lowercase(<Zeichenfolge>)

Wandelt den selben Text in Kleinbuchstaben um, mit optionaler Berücksichtigung von vorhandenen Akzenten.

Parameter:
Zeichenfolge (Zeichenfolge): Text der bearbeitet wird
Akzente übernehmen-optional: * = Akzente werden mit übernommen; ““-Akzente werden nicht berücksichtigt.

Beispiele:
Lowercase(“CAFÉ“,*)
Ergebnis = café

Lowercase("café")
Ergebnis = cafe

ohne Akzente:
Lowercase(“CAFÉ“)
Ergebnis = cafe

Länge

Length(<Text>)

Liefert die Länge eines Textes. Die Anzahl der Buchstaben inkl. Leerzeichen wird addiert.

Parameter:
Text (Zeichenfolge oder Text): Text als Klartext oder Datenbankbezug, der einen Text enthält

Rückgabewert:
Zahl

Beispiele:
Length([Angebotstext (Text)])
Ergebnis = Länge des Textes, hier 184

Length([Angebotstext (Text)])
Ergebnis = Länge des Textes, hier 0

Leerraum entfernen

String_Strip_CR_Space(<Text>;<Führende Zeilenumbrüche>;<Führende Leerzeichen>;<Nachfolgende Zeilenumbrüche>;<Nachfolgende Leerzeichen>)

Entfernt Leerzeichen und Zeilenumbrüche am Anfang und Ende eines Strings.

Parameter:
Text(Text): Zu bearbeitender Text
Führende Zeilenumbrüche(Wahrheitswert): Zeilenumbrüche die vor dem ersten Zeichen stehen entfernen
Führende Leerzeichen(Wahrheitswert): Leerzeichen die vor dem ersten Zeichen stehen entfernen
Nachfolgende Zeilenumbrüche(Wahrheitswert): Zeilenumbrüche die nach dem ersten Zeichen stehen entfernen
Nachfolgende Leerzeichen(Wahrheitswert): Leerzeichen die nach dem ersten Zeichen stehen entfernen

Rückgabewert:
Text

Beispiele:
String_Strip_CR_Space("<Leerzeichen><Zeilenumbruch>
<Leerzeichen><Leerzeichen>abcd<Leerzeichen>ef<Zeilenumbruch>
ghi<Leerzeichen><Leerzeichen><Leerzeichen>j<Zeilenumbruch>
<Leerzeichen><Leerzeichen>";
true;
true;
true;
true
)

Ergibt einen Text mit:
abcd<Leerzeichen>ef<Zeilenumbruch>
ghi<Leerzeichen><Leerzeichen><Leerzeichen>j

Leerraum entfernen erweitert

String_Strip_Whitespace(<Text>;<Tab und Zeilenumbruch als Leerzeichen werten>;<Führende Leerzeichen>;<Nachfolgende Leerzeichen>;<Mehrere Leerzeichen zwischen Worten>)

 
Levenshtein Distanz (Editierdistanz)

String_Levenshtein_Distance(<Text 1>;<Text 2>)

Bestimmt die Anzahl der Editier-Schritte die benötigt würden, um aus einem Text einen anderen zu machen (wird z.B. im Rahmen von Duplikaterkennung genutzt).

Parameter:
Text1 (Text): Erster zu vergleichender Text
Text2 (Text): Zweiter zu vergleichender Text

Beispiel:
String_Levenshtein_Distance("Tür";"Tier")
Ergebnis: 2
Warum? 1. Editier-Schritt: aus ü wird ein i gemacht
2. Editier-Schritt: vor dem r wird noch ein e eingefügt

Liste in Liste

Liste_in_Liste(<Tabellenname>;<Listenname>;<Spaltenüberschrift>{;<Wertetrenntext>{;<Feldname>|<Variable:Variablenname>;<Feldwert>;<Feldname n>|<Variable:Variablenname>;<Feldwert n>}})

Führt eine Liste aus und liefert als Ergebnis die Werte der angegebenen Spalte zurück.

Optional können Filter und Variable an die Liste übergeben werden.
Werden Filter oder Variablen übergeben, so muss die komplette Datenselektion über diese und / oder die Liste erfolgen.
Werden keine Filter und Variablen angegeben, wird kontextspezifisch automatisch abgeleitet, z. B. bei einer Vorgangsartikelliste innerhalb einer Vorgangsliste.
Angegebene Variablen können in der aufgerufenen Liste abgerufen werden und z. B. in Filtern oder Formeln verwendet werden.

Parameter:
Tabellenname (Zeichenfolge): Technischer Datenbanktabellenname (siehe Einrichtung> Kataloge > Feldkatalog )
Listenname (Zeichenfolge): Name der Liste
Spaltenüberschrift (Zeichenfolge): Spaltenüberschrift, der Spalte, die zurück gegeben werden soll.
Wertetrenntext (Zeichenfolge)-optional: Trennzeichen für die Werte, falls das Ergebnis der Liste mehr als eine Zeile ist. Wird der Parameter nicht übergeben, so wird ", " verwendet.
Feldname 1-optional|Variable:Variablenname: Technischer Feldname (siehe Einrichtung> Kataloge > Feldkatalog) oder Variablenname
Feldwert 1 (Zeichenfolge): Filterwert (bei Feld) oder Variablenwert
...
Feldname n|Variable:Variablenname (Zeichenfolge): Weitere Feldnamen oder Variablen
Feldwert n (Zeichenfolge): Weitere Werte

Feldnamen, die mit ">", "<", ">=", "<=", "=" oder "#" enden führen zu entsprechenden Datenselektionen.

Rückgabewert:
Text

Beispiel:
Liste_in_Liste("Veranstaltung";"meineListe";"Anlass";";";"VA_Wann>=";string(current date);"VA_Wann<";string(current date+7);"VA_Status#";"Storno";"Variable:meineVariable";"abc")
liefert alle Anlässe (mit ";" abgetrennt) von nicht stornierten Veranstaltungen der nächsten 7 Tage ab heute zurück.
Der inneren Liste die Variable "meineVariable" mit dem Wert "abc" übergeben.

Liste in Liste Xml

Liste_in_Liste_Xml(<Tabellenname>;<Listenname>{;<Feldname>|<Variable:Variablenname>;<Feldwert>;<Feldname n>|<Variable:Variablenname>;<Feldwert n>})

Erstellt für den XML / Json Export eine Unterliste.
Der Datenbaum definiert durch die angegebene Liste wird am angegebenen xPath eingehängt.

Optional können Filter und Variable an die Liste übergeben werden.
Werden Filter oder Variablen übergeben, so muss die komplette Datenselektion über diese und / oder die Liste erfolgen.
Werden keine Filter und Variablen angegeben, wird kontextspezifisch automatisch abgeleitet, z. B. bei einer Vorgangsartikelliste innerhalb einer Vorgangsliste.
Angegebene Variablen können in der aufgerufenen Liste abgerufen werden und z. B. in Filtern oder Formeln verwendet werden.

Parameter:
Tabellenname: Technischer Datenbanktabellenname (siehe Einrichtung> Kataloge > Feldkatalog)
Listenname: Name der Liste
Optional: Feldname 1|Variable:Variablenname: Technischer Feldname (siehe Einrichtung> Kataloge > Feldkatalog) oder Variablenname
Feldwert 1: Filterwert (bei Feld) oder Variablenwert
...
Feldname n|Variable:Variablenname: Weitere Feldnamen oder Variablen
Feldwert n: Weitere Werte

Rückgabewert:
XML Referenz (Text)

Feldnamen, die mit ">", "<", ">=", "<=", "=" oder "#" enden führen zu entsprechenden Datenselektionen.

Beispiel:
Liste_in_Liste_Xml("Veranstaltung";"meineListe";"VA_Wann>=";string(current date);"VA_Wann<";string(current date+7);"VA_Status#";"Storno";"Variable:meineVariable";"abc")
fügt eine Veranstaltungsliste mit den nicht stornierten Veranstaltungen der nächsten 7 Tage ab heute ein und übergibt der inneren Liste die Variable "meineVariable" mit dem Wert "abc".

n-te Position

String_Position(<Text>;<Exakter Suchtext>;<n-te Wiederholung (negativ = von hinten)>)

Liefert die Position eines Textes als Zahl innerhalb eines Textes.
Diese Position ist die Stelle, an der der Text gefunden wird. Gezählt werden Buchstaben, Leerzeichen und ACHTUNG auch Formatierungsmarken.

Parameter:
Text (Text): Text der durchsucht werden soll
Exakter Suchtext-optional: *=exakter Suchtext
n-te Wiederholung (Zahl): die Position der wievielten Wiederholung soll ausgegeben werden? Positive Zahl: gezählt von vorn, negative Zahl gezählt von hinten

Rückgabewert:
Zahl

Beispiele:
String_Position(“The only water in the forest is the River.”;"i";1)
Ergebnis: 16

String_Position(“The only water in the forest is the River.”;"i";-2)
Ergebnis: 30

n-te Position Zeichenauswahl

String_Position_Chars(<Text>;<Zeichenliste>;<n-te Wiederholung (negativ = von hinten)>)

An welcher Position ist eine bestimmtes Zeichen in einem Text zu finden.

Parameter:
n-te Position Zeichenauswahl
String_Position_Chars(<zu durchsuchender Text>;<zu suchende Zeichen>;<n-te Wiederholung (negativ = von hinten>)

Rückgabewert:
Position des im Text gefundenen Zeichens als Zahl

Beispiele:
Gib mir die Position an der das erste Mal das Zeichen 4 gefunden wird:
String_Position_Chars("abc4def4ghi4";"4";1)
Ergebnis = 4
Es wurde an 4. Stelle gefunden (taucht also das 1. Mal zwischen c und d auf).
--------------
Gib mir die Position an der das zweite Mal das Zeichen 4 gefunden wird:
String_Position_Chars("abc4def4ghi4";"4";2)
Ergebnis = 8
Es wurde an 8. Stelle gefunden (taucht also das 2. Mal zwischen f und g auf).
--------------
Gib mir die Position an der das letzte Mal das Zeichen 4 gefunden wird:
String_Position_Chars("abc4def4ghi4";"4";-1)
Ergebnis = 12
Es wurde an 12. Stelle gefunden (taucht also das letzte Mal nach i auf).

Anwendungsbeispiel:
Es können mit dieser Funktion z.B. unnötige Leerzeichen in Textfeldern gesucht werden und dann
über die Formeln Teilstring, String ersetzten, String in Textzeile einfügen zum Beispiel um unnötige Leerzeichen
bereinigt werden.

Nur Ziffern

Ziffern(<Text>{;<Zusätzlich erlaubte Zeichen>})

Filtert einen Text auf Ziffern und gibt nur diese in einem neuen Text aus.

Parameter:
Text (Text): Text der gefiltert werden soll
Zusätzlich erlaubte Zeichen: weitere Zeichen die nicht ausgefiltert werden sollen.

Rückgabewert:
Text

Beispiele:

Ziffern("1a2b3c4d5e6f7g8h9i0j-k-")
Ergebnis: 1234567890

Ziffern("1a2b3c4d5e6f7g8h9i0j-k-";"de")
Ergebnis: 1234d5e67890

Position

Position(<Suchtext>;<Text>)

Liefert die Position einer Zeichenfolge innerhalb eines Textes.
Diese ist die Stelle, an der die Zeichenfolge das erste Mal gefunden wird. Gezählt werden Buchstaben und Leerzeichen.

Rückgabewert:
Zahl

Parameter:
Suchtext (Zeichenfolge): Text, den man im Text finden möchte
Text (Text oder Zeichenfolge): Text als Datenbankbezug

Beispiele:
Position("x";"abxcdexfghijklmnopqrstuvw")
Ergebnis=3

Achtung:
Es wird nur die 1te gefundene Position ausgegeben.

Sprachenkürzel

Dictionary_Map_Language_Names(<Name oder Titel>)

Gibt anhand des Namens oder des alternativen Namens einer Sprache das Kürzel der Sprache aus
Mit dem Modul Mehrsprachigkeit kann man aus Brief, Artikel und Textvorlage die "Dictionary Palette" aufrufen und Übersetzungen zu Begriffen selbst

Parameter:
Name oder Tiel (Zeichenfolge oder Text): Name oder alternativer Name der Sprache

Rückgabewert:
Text

Beispiele:
Dictionary_Map_Language_Names("Portugiesisch")
Ergebnis = "Por"

String einfügen

Insert string(<Zeichenfolge>;<Neuer Zeichenfolge>;<Position>)

Liefert einen Text, der aus dem "alten Text" plus dem "eingefügten Text" an der angegebenen Position besteht.

Parameter:
Zeichenfolge (Zeichenfolge): welche Zeichenfolge als Quelle dient
Neue Zeichenfolge (Zeichenfolge): welche Zeichenfolge an der Stelle eingefügt wird
Position (Ganzzahl): an welcher Stelle eingefügt wird

Rückgabewert:
Text

Beispiele:
Insert String("Hut";"a";2)
Ergebnis = "Haut"

Insert String("Auto";"mobil";5)
Ergebnis = "Automobil"

String ersetzen

Replace string(<Zeichenfolge>;<Alte Zeichenfolge>;<Neuer Zeichenfolge>{;<Häufigkeit>})

Liefert einen Text, der sich ergibt, wenn an der Stelle des alten Textes einzelne Zeichen ausgetauscht werden.

Parameter:
Zeichenfolge (Text): Text der geändert werden soll
Alte Zeichenfolge (Text): dieser Teilstring soll gelöscht werden
Neue Zeichenfolge (Text): dieser Teilstring soll anstelle des gelöschten eingefügt werden
Häufigkeit (Ganzzahl) - optional: wie oft ersetzt werden soll

Rückgabewert:
Text

Beispiele:
Replace string("roter Bindfaden, blauer Bindfaden, grüner Bindfaden";"ndf";"ldl";2)
Ergebnis = "roter Bildladen, blauer Bildladen, grüner Bindfaden"

Replace string("Haut";"a";"")
Ergebnis = "Hut"

String in Textzeilen einfügen

Text_Insert_String_Per_Line(<Text>;<Neue Zeichenfolge>;<Position>{;<Erste Zeile>{;<Letzte Zeile>}})

Liefert einen Text, der sich ergibt, wenn Zeichen an zu bestimmender Position eingefügt werden.
Berücksichtigt im Gegensatz zu Insert_string bei Mehrzeiligen Texten auf Wunsch die Zeile

Parameter:
Text (Text): Text der geändert werden soll
Neue Zeichenfolge (Text): dieser Teilstring soll eingefügt werden.
Position(Nummer): An welcher Position in der Zeile soll der der Zeile soll
Erste Zeile (Nummer) - optional: ab welcher Zeile soll eingesetzt werden.
Letzte Zeile (Nummer) - optional:bis zu welcher Zeile soll eingesetzt werden.
Häufigkeit (Ganzzahl) - optional: wie oft ersetzt werden soll

Rückgabewert:
Text

Beispiele:
Der Text:
Rheinallee 1
67436 Speyer
Wird durch:
Text_Insert_String_Per_Line([Anschrift mehrzeilig (Text)];"äüö";2;2;2

zu:
Rheinallee 1
67äüö436 Speyer

String in Textzeilen ersetzen

Text_Replace_String_Per_Line(<Text>;<Alte Zeichenfolge>;<Neue Zeichenfolge>{;<Exakte Übereinstimmung>{;<Erste Zeile>{;<Letzte Zeile>}}})

Liefert einen Text, der sich ergibt, wenn an der Stelle des alten Textes einzelne Zeichen ausgetauscht werden, berücksichtigt im Gegensatz zu Replace_string bei Mehrzeiligen Texten auf Wunsch die Zeile.

Parameter:
Text (Text): Text der geändert werden soll
Alte Zeichenfolge (Text): dieser Teilstring soll gelöscht werden
Neue Zeichenfolge (Text): dieser Teilstring soll anstelle des gelöschten eingefügt werden
Exakte Übereinstimmung(Wahrheitswert)-optional: TRUE=Ja; FALSE=Nein
Erste Zeile (Nummer) - optional: ab welcher Zeile soll ersetzt werden
Letzte Zeile(Nummer) - optional:bis inklusive welcher Zeile soll ersetzt werden
Häufigkeit (Ganzzahl) - optional: wie oft ersetzt werden soll

Rückgabewert:
Text

Beispiele:
Der Text:
Rheinallee 1
67436 Speyer
Wird durch:
Text_Replace_String_Per_Line([Anschrift mehrzeilig (Text)];"e";"ä";true;2;2)

zu:
Rheinallee 1
67436 Späyär

Teilstring

Substring(<Zeichenfolge>;<Startposition>{;<Anzahl an Zeichen>})

Liefert einen Text, die einem Teil des Ursprungstextes entspricht.

Parameter:
Zeichenfolge (Zeichenfolge): Zeichenfolge oder Datenbankbezug, die als Quelle dient
Startposition (Ganzzahl): Position, ab der der neue String gebaut werden soll
Anzahl an Zeichen (Ganzzahl) - optional: wie lang soll der neue Text sein

Rückgabewert:
Text

Beispiele:
Substring ("Hilfestellung";1;5)
Ergebnis = "Hilfe"

Substring ("Hilfestellung";4)
Ergebnis = "festellung"

Teilstring löschen

Delete string(<Text>;<Position>;<Anzahl Zeichen>)

Liefert einen Text, der sich ergibt, wenn an einer Stelle eine Anzahl an Zeichen gelöscht wird.

Parameter:
Text (Zeichenfolge oder Text): Text, der bearbeitet wird
Position (Ganzzahl): Stelle, ab der im Text gelöscht wird
Anzahl Zeichen (Ganzzahl): Anzahl an Zeichen, die gelöscht werden, ab der Position

Rückgabewert:
Text

Beispiele:
Delete string("Haut"; 2; 1)
Ergebnis = "Hut"

-> Löscht ab 1. bis zum 4. Zeichen
Delete string("Kopfzeile"; 1; 4)
Ergebnis = "zeile"

Teilstring von Textzeilen löschen

Text_Delete_String_Per_Line(<Text>;<Position>;<Anzahl Zeichen>{;<Erste Zeile>{;<Letzte Zeile>}})

Liefert einen Text, der sich ergibt, wenn an einer bestimmten Position der Zeile eine gewisse Anzahl an Zeichen gelöscht wird.
Berücksichtigt im Gegensatz zu Delete_String auf Wunsch die Zeile.

Parameter:
Text (Text): Text der geändert werden soll
Position (Nummer): ab dieser Stelle beginnt das Löschen
Anzahl Zeichen(Nummer: wie viele Zeichen sollen gelöscht werden?
Erste Zeile (Nummer) - optional: ab welcher Zeile soll gelöscht werden
Letzte Zeile(Nummer) - optional:bis inklusive welcher Zeile soll gelöscht werden

Rückgabewert:
Text

Beispiele:
Der Text:
Rheinallee 1
67436 Speyer
Wird durch:
Text_Delete_String_Per_Line([Anschrift mehrzeilig (Text)];1;6;2;2)
zu:
Rheinallee 1
Speyer

Text auf erlaubte Zeichen filtern

Text_Filter_Supported_Chars(<Text>;<erlaubte Zeichen>;<Alternativzeichen>)

Prüft einen Text auf erlaubte Zeichen und gibt einen neuen Text aus, der nur erlaubte Zeichen enthält.

Parameter:
Text(Text): Text der geprüft wird
erlaubte Zeichen(Text): welche Zeichen sind weiterhin erlaubt
Alternativzeichen(Text): durch welche Zeichen sollen nicht erlaubte Zeichen ersetzt werden

Rückgabewert:
Text

Beispiele:
Der Text:
New York, Rio, Tokio, Speyer, München, Köln

Wird durch:
Text_Filter_Supported_Chars([1 (Text)];"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ, ;";"-")
zu:
New York, Rio, Tokio, Speyer, M-nchen, K-ln

Wird durch:
Text_Filter_Supported_Chars([1 (Text)];"abcdefghijklmnopqrstuvwxyz";"")
zu:
eworkiookiopeyernchenln

Text aus Dokument lesen

Document_To_Text(<Dateipfad>{;<Kodierung des Texts>})

Über die Funktion "Text aus Dokument lesen" kann man den Inhalt einer Datei im weiter verarbeiten. Damit kann man z. B. zuvor erzeugtes XML auslesen und um weitere Deklarationen ergänzen


Parameter:
Datei(Text): Dateipfad als auch Name des zu lesenden Files. Hinweis: \ müssen mit \\ angegeben werden
Kodierung(Text)-optional: Welche Codierung wurde verwendet

Rückgabeswert:
Text

Beispiel:
Steht in der exportierten Datei

<?xml version="1.0" encoding="UTF-8"?>
<Termin_List>
<screen>eml</screen>
...

so kann man mit
Formel 1: Document_To_Text("Pfad der Datei";"UTF-8")
Formel 2: insert string(Formel 1;position("?>";Formel 1)+2;"
<?xml-stylesheet type=\"text/xsl\" href=\"http://172.16.200.31/leitsystem/xml/format.xs\l"?>")

folgenden Inhalt in Formel 2 erhalten, der dann wieder in eine Datei exportiert werden kann.

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="http://172.16.200.31/leitsystem/xml/format.xsl"?>
<Termin_List>
<screen>eml</screen>
...


WEITERE ANWENDUNGSMÖGLICHKEIT:

Wird ein Import Job gestartet, so werden die Daten für den Import immer über eine Datei geladen.
Wird zuvor ein Web Service oder ein Http Request ausgeführt, so wird trotzdem temporär eine Datei für den Import auf der Festplatte erzeugt.

Über die Variable "Import_Datei" kann der Pfad zu dieser Datei abgefragt werden.

Über

Document_To_Text(Variable_Get("Import_Datei"))
bekommt man somit den Inhalt der Datei während des Imports.

Das kann hilfreich zur Fehleranalyse oder zum Erstellen von automatisierten Softwaretests sein.

Text aus PDF-Dokument lesen

PDF_Document_To_Text(<Dateipfad>)

Gibt den textuellen Inhalt einer PDF Datei aus.

Parameter:
Dateipfad(Text): Vollständiger Dateipfad
Rückgabewert:
Text

Beispiele:
PDF_Document_To_Text("C:\\Bp Event\\test.pdf")

Hinweise:
- \ müssen im Dateipfad verdoppelt werden
- Auch die Dateiendung muss mit angegeben werden

Text in Dokument speichern

Text_To_Document(<Text>;<Dateipfad>{;<Kodierung des Texts>})

Um Anforderungen von Schnittstellen an das Format einer Datei umsetzen zu können.

Parameter:
Text (Text): auszugebender Text
Dateipfad(Text): wohin soll die neue Datei gespeichert werden
Kodierung des Texts(Text): In welchem Dateiformat soll der Text gespeichert werden

Rückgabewert:
Textdatei

Beispiele:
Text_To_Document( "Hallo Welt";"c:\ mp\\NeueWelt.txt";"UTF-8")
speichert eine Datei mit dem Namen NeueWelt.txt im Format UTF 8 nach C: mp mit dem Inhalt Hallo Welt


Text_To_Document(replace string(Document_To_Text("c:\ mp\\myDoc.txt";"UTF-8");char(13);char(13)+char(10));
"c:\ mp\\myNewDoc.txt";"UTF-8")

Ersetzt im Dokument myDoc alle CR (Carriage Return) durch CR LF (Carriage Return Line Feed) und speichert dies als myNewDoc.

Hinweis:
Die \ im Dateipfad müssen verdoppelt werden, so dass die Formel diese umsetzen kann.
Aus C:\TMP wird also in der Formel C:\\TMP

Text umbrechen

Text_Umbrechen(<Text>;<Schriftart>;<Schriftgröße>;<Schriftstil:FettKursivUnterstrichen>;<Textbreite in Pixeln>)

Bricht den Text auf Basis einer zu definierenden Schriftart/-größe/-stil für eine bestimmte Breite um.

Parameter:
Text(Text): umzubrechender Text
Schriftart(Text): Name der Schriftart
Schriftgröße(Zahl): Schriftgröße
Schriftstil(Text): (Fett / Kursiv/ Unterstrichen / Normal )
Textbreite in Pixeln(Zahl): Breite des für den Text zur Verfügung stehenden Bereichs in Pixel

Rückgabewert:
Gibt den umgebrochenen Text aus.

Beispiele:
Text_Umbrechen(“Dies ist ein Text zum umbrechen“;"Arial“;8;“Normal“;50)

Ausgabe:

Dies ist ein Text
zum umbrechen

Texte exakt gleich

String_Equals(<Text 1>;<Text 2>)

Vergleicht ob 2 Texte im Detail gleich sind

Parameter:
Text1(Text): Zu vergleichender Text
Text2(Text): zu vergleichender Text

Rückgabewert:
Wahrheitswert

Beispiele:
String_Equals("Dies ist ein Test";"Dies ist ein Test")
Ergebnis: False
String_Equals("Dies ist ein Test";"dies ist ein Test")
Ergebnis: False
String_Equals("Dies ist ein Test";"Dies ist ein Test")
Ergebnis: True

Texte vergleichen

Text_Diff(<Text 1>;<Text 2>{;<Kennzeichen neue Zeile>{;<Kennzeichen entfernte Zeile>}})

Vergleicht 2 Texte und liefert die unterschiedlichen Zeilen.

Parameter:
Text 1: Originaltext
Text 2: zu vergleichender Text
Kennzeichen neue Zeile - optional: Standard: >002>
Kennzeichen gelöschte Zeile - optional: Standard <002<
Rückgabewert:
Text

Beispiele:
Text 1:
Rheinallee 1
67436 Speyer
Wird verglichen mit Text2:
Rheinallee 1
Deutschland 67436 Speyer
:
Text_Diff([Text1 (Text)];[Text2 (Text)])
Rückgabewert sind die 2 Versionen der unterschiedlichen Zeile:
<002< 67346 Speyer
>002> Deutschland67346 Speyer

Texte verketten

String_Concat(<Trennzeichen>;<Auch leere Strings>;<Text 1>;<Text 2>{;<...>{;<Text n>}})

Verbindet einzelne Texte zu einem String.

Parameter:
Trennzeichen(String): Zeichen, das zwischen die einzelnen Texte eingefügt werden soll
Auch leere Strings(Wahrheitswert): TRUE= auch leere Texte in den String integrieren; FALSE= nicht integrieren
Text 1;Text 2; Text n: einzelne zu verbindende Texte

Rückgabewert:
String

Beispiele:

String_Concat(" und "; FALSE; "Eins";"";"Drei")
Ergebnis: "Eins und Drei"

String_Concat(" und "; TRUE; "Eins";"";"Drei")
Ergebnis: "Eins und und Drei"

Textzeilen

Text_Get_Lines(<Text>;<Ab Zeile>{;<Bis Zeile>})

Liefert den Text "ab" einer Zeile. Optional kann der Text "von - bis" zu einer Zeile geliefert werden. (Liegt der Text ohne Umbruch vor, dann wird alles geliefert.)

Parameter:
Text (Text oder Zeichenfolge): zu bearbeitender Text
Ab Zeile (Ganzzahl): ab dieser Zeile soll der Text berücksichtigt werden
Optional: Bis Zeile (Ganzzahl): bis zu dieser Zeile soll der Text berücksichtigt werden

Rückgabewert:
Text

Beispiele:
Text_Get_Lines([Menükartentext (Text)]; 6; 9)
Ergebnis = Menükartentext von Zeile "6 bis Zeile 9" ausgeben

Text_Get_Lines([Angebotstext (Text)]; 14)
Ergebnis = Angebotstext von Zeile 14 ab ausgeben bis letzte Zeile

Hinweis:
Falls es sich um formatierten Text handelt (z.B. formatierten Artikeltext), kann eine evt. Aufspaltung der Formatmarken passieren.
Diese kann mit "Formatierten Text pro Zeile einzeln formatieren" behoben werden.

Textzeilen entfernen

Text_Lines_Difference(<Text 1>;<Text 2>)

 
Textzeilen extrahieren

Text_Extract_Lines(<Text>;<Zeilenmuster>{;<Ausschließen>})

Liefert die Zeilen eines mehrzeiligen Textes, die eine Zeichenfolge enthalten.

Parameter:
Text (Text): Text der geändert werden soll
Zeilenmuster (Text): nach welchem Teilstring soll gesucht werden
Ausschließen (Wahrheitswert): Keine Angabe oder FALSE= es werden die Zeilen in denen etwas gefunden wird ausgegeben; TRUE = die Zeilen werden herausgefiltert

Rückgabewert:
Text

Beispiele:
Der mehrzeilige Text:
Speyer, Hauptstraße 5
Dudenhofen, Hauptstraße 3
Speyer, Maximilianstraße 6
Haßloch, Langgasse 103

Wird durch:
Text_Extract_Lines([text (Text)];"@Speyer@")
zu:
Speyer, Hauptstraße 5
Speyer, Maximilianstraße 6
(alle Zeilen die Speyer enthalten)

Wird durch:
Text_Extract_Lines([text (Text)];"@Speyer@", TRUE)
Zu:
Dudenhofen, Hauptstraße 3
Haßloch, Langgasse 103
(alle Zeilen die Speyer nicht enthalten)

Textzeilen löschen (Muster)

Text_Delete_Lines_Using_Pattern(<Text>;<Löschmuster>)

Löscht ganze Zeilen aus einem mehrzeiligen Text, sofern diese das angegebene Suchmuster enthalten.

Parameter:
Text (Text): der (mehrzeilige) Quelltext
Löschmuster(Text): welche Zeichenfolge ist in den zu löschenden Zeilen vorhanden

Rückgabewert ist:
Text

Beispiel:
Der Text ist:
A Zeile 1 Dies ist ein Test.
B Zeile 2 Dies ist ein Test.
B Zeile 3 Dies ist ein Test.
A Zeile 4 Dies ist ein Test.
B Zeile 5 Dies ist ein Test.
B Zeile 6 Dies ist ein Test.
A Zeile 7 Dies ist ein Test.

Durch:
Text_Delete_Lines_Using_Pattern([Spalte 2 (Text)];"@A Zeile@")

Werden alle Zeilen entfernt die A Zeile enthalten.
B Zeile 2 Dies ist ein Test.
B Zeile 3 Dies ist ein Test.
B Zeile 5 Dies ist ein Test.
B Zeile 6 Dies ist ein Test.

Textzeilen Schnittmenge

Text_Lines_Intersect(<Text 1>;<Text 2>)

 
Textzeilen sortieren

Text_Sort(<Text>{;<Absteigend=true>})

Liefert einen alphabetisch sortierten Text. Hilfreich für Auswahllisten.

Parameter:
Text (Text): zu sortierender Text
Optional: Absteigend=true (Wahrheitswert):
ohne Angabe des Parameters = aufsteigende Sortierung
false = aufsteigende Sortierung
true = absteigende Sortierung

Rückgabewert:
Text

Beispiele:
Text_Sort([Menükartentext (Text)])
Ergebnis = Alphabetische aufsteigende Sortierung des Textes
"a
b
c"

Text_Sort([Menükartentext (Text)]; true)
Ergebnis = Alphabetische absteigende Sortierung des Textes
"c
b
a"

Übersetzung

Dictionary_Translate(<Text>{;<Bemerkung>{;<Quellsprache>{;<Zielsprache>}}})

Mit dem Modul Mehrsprachigkeit kann man aus Brief, Artikel und Textvorlage die "Dictionary Palette" aufrufen und Übersetzungen zu Begriffen selbst bearbeiten. Auf diese kann man mittels Formel (Text -> Übersetzung) zugreifen.

Wird die Quellsprache nicht angegeben, so wird die Haussprache verwendet.
Wird die Zielsprache nicht angegeben, so wird die "Current_Language" verwendet, also die Haussprache oder die Sprache in der das Angebot gezogen wird.
Wird Kommentar angegeben, so wird bei mehreren Möglichkeiten im Dictionary zum gleichen Text dann der Text mit dem gleichen Kommentar gewählt. Beispiel "Mo" mit Kommentar "Wochentag".
Wird keine Übersetzung für den Text gefunden und der Text besteht aus mehreren Worten, so wird wortweise versucht zu übersetzen: Beispiel "Angebot 5" oder "70. Geburtstag".

Rückgabewert:
Text

Parameter:
Text (Zeichenfolge oder Text): Quelltext
Kommentar (Zeichenfolge)- optional: ??
Quellsprache (Zeichenfolge)-optional: Sprache aus der übersetzt wird
Zielsprache (Zeichenfolge)-optional: Sprache in die übersetzt wird

Beispiele:
Dictionary_Translate("Datum";"mein Kommentar";"deutsch";"englisch")
Ergebnis = "date"

Übersetzung (Kurzschreibweise)

Dict(<Text>{;<Bemerkung>{;<Quellsprache>{;<Zielsprache>}}})

Kurzvariante von Dictionary_Translate.

Mit dem Modul Mehrsprachigkeit kann man aus Brief, Artikel und Textvorlage die "Dictionary Palette" aufrufen und Übersetzungen zu Begriffen selbst bearbeiten. Auf diese kann man mittels Formel (Text -> Übersetzung) zugreifen.

Wird die Quellsprache nicht angegeben, so wird die Haussprache verwendet.
Wird die Zielsprache nicht angegeben, so wird die "Current_Language" verwendet, also die Haussprache oder die Sprache in der das Angebot gezogen wird.
Wird Kommentar angegeben, so wird bei mehreren Möglichkeiten im Dictionary zum gleichen Text dann der Text mit dem gleichen Kommentar gewählt. Beispiel "Mo" mit Kommentar "Wochentag".
Wird keine Übersetzung für den Text gefunden und der Text besteht aus mehreren Worten, so wird wortweise versucht zu übersetzen: Beispiel "Angebot 5" oder "70. Geburtstag".

Rückgabewert:
Text

Parameter:
Text (Zeichenfolge oder Text): Quelltext
Bemerkung (Zeichenfolge)-optional: Bemerkung die ich intern mitgeben möchte
Quellsprache (Zeichenfolge)-optional: Sprache aus der übersetzt wird
Zielsprache (Zeichenfolge)-optional: Sprache in die übersetzt wird

Beispiele:
Dict("Datum";"mein Kommentar";"deutsch";"englisch")
Ergebnis = "date"

Umlaute (äöüÄÖÜß) ersetzen

Umlaute_Ersetzen(<Text>)

Ersetzt die im Text enthaltenen Umlaute durch die ausgeschriebene Variante und liefert den geänderten Text.
Ä -> Ae, Ü ->Ue, Ö -> Oe, ß -> ss.

Parameter:
Text (Zeichenfolge oder Text): Text, der Umlaute enthalten kann, nicht muss

Rückgabewert:
Text

Beispiele:
Umlaute_Ersetzen("ä-ü-ö-ß-Ä-Ü-Ö")
Ergebnis = "ae-ue-oe-ss-Ae-Ue-Oe"

Umlaute_Ersetzen([Artikel-Angebotstext (Text)])
Ergebnis = "Angebotstext ohne Umlaute"

Umwandeln in Wahrheitswert

String_To_Boolean(<Text>{;<Format:Wahr;Falsch>})

Prüft einen Text darauf, ob er eine Zeichenfolge enthält und gibt dann einen Wahrheitswert aus.

Parameter:
Text(Text): zu prüfender Text; dieser enthält entweder ein x, TRUE oder 1 dann wird er in TRUE umgewandelt (Beispiel 1), oder es erfolgt die Prüfung einer Textes auf eine Zeichenfolge (Beispiel 2)
Format(optional): Wert entweder TRUE oder FALSE

Rückgabewert:
Wahrheitswert

Beispiel: Prüfen eines Textes auf eine Zeichenfolge:
String_To_Boolean("Horst";"Horst;Walther")
Ergibt TRUE

Beispiel: Umwandeln von TRUE, x oder 1 in einen Wahrheitswert
String_To_Boolean("x")
Ergibt TRUE

Umwandeln in Zahl

Num(<Ausdruck>{;<Dezimaltrenner>})

Liefert den numerischen Zahlenwert eines Textes, einer Zahl oder eines Wahrheitswertes mit optionalem Trenner für Dezimalwerte.

Parameter:
Ausdruck (Text, Zahl, Wahrheitswert): Text der Zahlen enthalten kann, Zahl, oder Wahrheitswert

Rückgabewert:
Zahl

Beispiele:
num("67346 Speyer")
Ergebnis = 67346

positive Zahl mit Exponentialwert = 1 x (10 hoch 2)
num("1e2")
Ergebnis = 100

150 / 100
num("150e-2")
Ergebnis = 1,50

150 x 100
num("150e2")
Ergebnis = 15.000

num ([S Liste (Wahrheitswert)])
Ergebnis = 0 oder 1

Umwandeln in Zahl (erweitert)

String_To_Number(<Ausdruck>{;<Dezimaltrenner>{;<Tausendertrenner>}})

Wandelt eine Zahl die als Text vorhanden ist in eine richtige Zahl um.

Parameter:
Ausdruck (Zahl): umzuwandelnde Zahl
Dezimaltrenner(Text)-optional: Zeichen, das im Text den Dezimaltrenner abbildet
Tausendertrenner(Text)-optional-optional: Zeichen das im Text den Tausendertrenner abbildet

Beispiel:
String_To_Number("-1t234t567k89";"k";"t")
Ergebniss:
-1.234.567,89 als Zahl

Unterschiedliche Textzeilen

Text_Distinct_Rows(<Text>{;<Keine Leerzeilen>{;<Zeilen sortieren>}})

Durchsucht einen Quelltext auf unterschiedliche Zeilen und gibt nur diese als neuen Text aus.

Parameter:
Text (Zeichenfolge oder Text): Quelltext
Optional: Keine Leerzeilen (Wahrheitswert): Leerzeilen nicht berücksichtigen.
Optional: Zeilen sortieren (Wahrheitswert): Ergebniszeilen alphabetisch sortieren.

Rückgabewert:
Text

Beispiel:
Text_Distinct_Rows ( [Verkettete Artikelgruppen]; true; true)
liefert alle verschiedenen Artikelgruppen alphabetisch sortiert.

Der Quelltext sieht wie folgt aus:
Riesling
St. Laurent
Riesling
Chardonnay
Lemberger
Lemberger
Chianti
Pinot Grigio
Chianti
Riesling
Riesling

Text_Distinct_Rows ( [WeinQuelltext]; true; true)
Gibt aus:
Chardonnay
Chianti
Lemberger
Pinot Grigio
Riesling
St. Laurent

Variablen per Liste setzen

Liste_Variablen_Setzen(<Tabellenname>;<Listenname>{;<Feldname>|<Variable:Variablenname>;<Feldwert>;<Feldname n>|<Variable:Variablenname>;<Feldwert n>})

Alternative zu Listen kombinieren.
Mit Listen kombinieren können verschieden Datentöpfe übereinander gestapelt werden und über Statistikverarbeitung dann synchronisiert werden.
Das ist sehr flexibel, hat aber auch einige Nachteile:
- Hilfsspalten zur Identifikation von Schlüsseln werden benötigt
- Statistikverarbeitung wird schon für die "Synchronisation" von Zeilen benötigt, möchte man danach weiter rechnen, dann muss man diese Liste nochmal in einer "Liste kombinieren" Liste verpacken.
- Bestehende Listen lassen sich oft nur schwer um weitere Daten ergänzen (Filter sind schwierig zu konfigurieren), oft ist ein Neubau der Liste nötig.

Aus diesem Grund gibt es diesen Mechanismus, der Listen nun einfach um andere Daten erweitert
- weniger Konfigurationsaufwand hat
- einfachere Strukturen hat
- leichter zu warten ist
- modularer ist
- schneller in der Ausführung ist

Hierzu werden die Daten die Zusatzdaten im Gegensatz zu Liste kombinieren nicht direkt in die "Hauptliste" übernommen
sondern in Variablen gespeichert, die dann über die Hauptliste abgeriffen werden können.

Dazu gibt es 2 neue Features:

1) Zur Formel: Variablen per Liste setzen
Ähnlich zu Liste_in_Liste, nur dass kein Text zurück gegeben wird, sondern nach Ausführen der Funktion, die in der Liste gesetzten Variablen weiterhin verfügbar sind.
In der Hauptliste wird zunächst sichergestellt, dass die "Liste für Zusatzdaten" per "Liste_Variablen_Setzen" Variablen setzt.
Diese werden dann in der Hauptliste per Variable_Get abgefragt.

2) In der Listendefinition kann man nun unter Details eine Formel hinterlegen,
die vor der Listenberechnung ausgeführt wird und z.B. die benötigten Variablen setzt.

Wenn dann sonst (Text)

If_Text(<Wahrheitswert>{;<dann Text>;<sonst Text>})

Gibt abhängig von der Bedingung einen Text zurück, wenn die Anweisung "wahr" oder "falsch" ist.

Parameter:
Wahrheitswert (Wahrheitswert): Bedingung, die geprüft wird, damit die Anweisungen darunter ausgeführt werden
dann Text (Text): Führt diesen Bereich der Anweisung aus, wenn Bedingung wahr ist
sonst Text (Text): Führt diesen Bereich der Anweisung aus, wenn Bedingung falsch ist

Rückgabewert:
Text

Beispiel:
If_Text( [Adr.Name (Zeichenfolge (50))] #""; "Telefon: "+ [Adressen Telefon (Zeichenfolge (30))] +Char(13); "")

Ergebnis
Wenn "Adresse Nachname" nicht leer ist wird folgender Text ausgegeben: Telefon + Adresse Telefon + nächste Zeile

Hinweis:
Anstatt bei mehr als 2 Bedingungen mehrere If_Text zu Verschachteln bitte Case_Of_Text nutzen.

Wert auslesen

Text_Get_Value(<Text>;<Wertname>{;<Werttrenner>{;<Wert vor Name?>}})

Durchsucht eine Liste nach Wertname und gibt den unter Wert hinterlegten Wert aus.

Parameter:
Text(Text): Welche Liste soll ausgewertet werden
Wertname(Text): Nach welchem Wert wird in der Liste gesucht
Werttrenner(Text)-optional: Mit welcher Zeichenfolge sind der Wertname und der Wert getrennt
Wert vor Name?(Wahrheitswert): FALSE / Standard = Wert steht in 2. Spalte; TRUE = Wert steht in 1. Spalte

Beispiel:
Es ist die folgende Liste hinterlegt:
Wertname ; Wert
Apfel ; Obst
Orange ; Obst
Radieschen ; Gemüse
Pflaume ; Obst
Himbeere ; Obst
Karotte ; Gemüse

Mit der Formel:
Text_Get_Value([Werte (Text)]; "Radieschen";" ; ")

Ermittelt man nun das Ergebnis:
Gemüse

Wert eingeben

Wert_Eingeben(<Titel>{;<Vorschlagswert>{;<Auswahllistenwerte mit ; getrennt|Datentyp(Date,Boolean,Text,...)>{;<Mehrfachauswahl>{;<Wert abfragen>}}}})

Öffnet ein Eingabefenster indem eine Eingabe durch den Nutzer erwartet wird.

Parameter:
Titel(Text): Beschreibung der zu tätigenden Eingabe. / Frage
Vorschlagswert(Text)-optional: Wert der vorbelegt wird
Auswahllistenwerte(Text)-optional: Werte die in einer Auswahlliste Angeboten werden sollen (siehe Beispiel 1) diese mit ; trennen (Nicht für TextArea möglich).
Datentyp(Text)-optional: Text(Standard), Date, Boolean, TextArea (großes Eingabefeld für Text, keine Auswahlliste möglich)
Mehrfachauswahl(Wahrheitswert)-optional: TRUE-es ist eine Mehrfachauswahl möglich / FALSE(Standard)- es ist ggf. 1 Auswahl aus Liste möglich
Rückgabewert:
Text (wenn nicht anders in Datentyp angegeben)

Beispiele:
Beispiel 1 – Öffnet Dialogfenster mit der Frage Welcher Monat, Januar ist bereits eingetragenm es ist eine Mehrfachauswahl möglich.
Wert_Eingeben("Welcher Monat?"; "Januar";"Januar;Februar;März;April;Mai;Juni";TRUE)

Beispiel 2 – Öffnet ein Dialogfenster in Form eines Kalenders mit der Frage Welches Datum; der 24.12.2017 ist bereits vorbelegt
Wert_Eingeben("Welches Datum"; "24.12.2017";"Date")

Beispiel 3 – Öffnet ein Dialogfenster mit der Frage auch mit Akonto Rechnungen?, einem Ja und einem Nein-Button
Wert_Eingeben("Auch mit Akonto Rechnungen?";"";"Boolean")

Weiteres:
Möchte man beim Ausführen einer Liste eine Auswahl aus einer Liste mit festen Werten realisieren, so geht dies einfacher über:
Auswahl:Jahr auswählen//2013;2014;2015;2016;2017;2018;2019;2020

Falls aber dynamische Werte genutzt werden sollen, so ist dies weiterhin über:
Formel:Wert_Eingeben und die passende Formel realisierbar.

Wert setzen

Text_Set_Value(<Text>;<Wertname>;<Wert>{;<Werttrenner>{;<Wert vor Name?>}})

Setzt in einer Werteliste einen Wert zu einem Wertnamen/Kategorie. Ist der Wert "", dann wird die Zeile gelöscht, ist es eine neue Kategorie, dann wird sie angefügt.
Generell wird die bisherige Zeile gelöscht und der neue Wert angefügt.


Parameter:
Text(Text): Welche Liste soll geändert werden
Wertname(Text): Nach welchem Wert wird in der Liste gesucht
Wert(Text): Welcher Wert soll gesetzt werden
Werttrenner(Text)-optional: Mit welcher Zeichenfolge sind der Wertname und der Wert getrennt
Wert vor Name?(Wahrheitswert)-optional: FALSE / Standard = Wert steht in 2. Spalte; TRUE = Wert steht in 1. Spalte

Beispiel:

Z.B. kann man in einem Text Umsätze zu beliebigen Kategorien ablegen und dann per Job nun auch manipulieren,
um z.B. Abschreibungen oder ähnliches vorzunehmen:

Kategorie1:250,00
Kategorie2:12

Nun
Text_Set_Value(<Text>;"Kategorie2";"35";":")
und schon hat man

Kategorie1:250,00
Kategorie2:35

Wertezähler

Werte_Zaehler(<Wert>{;<Auswerten>})

Zählt die Anzahl gleicher Werte in einem Textfeld.

Parameter:
Wert (Textfeld): Feld in dem die Anzahl der enthaltenen Werte bestimmt werden soll
Auswerten (Wahrheitswert)-optional: Durch diesen können Werte gefiltert werden, die nicht gezählt werden sollen, diese erhalten dann den Wert -1

Rückgabewert:
Zahl

Beispiele:
Es sind die folgenden Adressen hinterlegt:
Landau, D-
Neustadt, D-
Landau, D-
Leipzig, D-
Little Town, C-

Werte_Zaehler([Ort (Zeichenfolge (80))];[NKZ (Zeichenfolge (5))]="D-")

Ergebnis:
Landau 1
Neustadt 1
Landau 2
Leipzig 1
Little Town -1

Zeichen

char(<Zeichencode (Unicode)>)

Liefert eine Zeichenfolge. Der Text ist in der Unicode UTF-16-Zeichentabelle definiert und kann dort nachgeschaut werden.
Dadurch lassen sich in einer Function einfach Text oder Zeichen über den Code einfügen.

Parameter:
Zeichencode (Unicode) (Ganzzahl): Zahl von 1 und 65535

Rückgabewert:
Text

Beispiele:
char(13)
Ergebnis = Carriage Return -> Nächste Zeile

char(9)
Ergebnis = Horziontaler Tabulator nach rechts

char(791)
Ergebnis = ","


SONDERFALL Seitenumbruch:
Es gibt zwar keinen Code für einen Seitenumbruch, dieser kann aber doch über den folgenden Weg eingefügt werden.
Man benötigt eine Formel, die als Text "Seitenumbruch" ausgibt. Diese Spalte fügt man in der Textverarbeitung als Ausdruck ein.

Beispiel:
In einer Vorgangsliste soll nach jedem Vorgang ein Seitenumbruch gesetzt werden.
Neue Spalte mit: If_Text ([Vorgangs-Nr.]#"";"Seitenumbruch";""
Diese Spalte fügt man nun in den Text als Ausdruck ein.

Zeichen ersetzen

Text_Replace_Chars(<Text>;<Suchzeichen>;<Ersetzungszeichen oder leer>{;<Exakte Übereinstimmung>{;<Alles außer Suchzeichen ersetzen>}})

Sucht in einem Text nach einem Zeichen und ersetzt oder löscht dieses.

Parameter:
Text(Text): Text der bearbeitet werden soll
Suchzeichen(Text): nach welchem Zeichen soll der Text durchsucht werden
Ersetzungszeichen oder leer(Text): durch welches Zeichen soll das Suchzeichen ersetzt werden (oder “ für leer“)
Exakte Übereinstimmung(Wahrheitswert) – optional:
Alles außer Suchzeichen ersetzen(Wahrheitswert) optional: TRUE=ersetzt alle Zeichen die NICHT mit dem Suchzeichen übereinstimmen.

Rückgabewert:
Text

Beispiele:
Text:
Rheinallee 1
67436 Speyer

Text_Replace_Chars(Text;"e";"";true;true)
eeeee


Text_Replace_Chars([Anschrift mehrzeilig (Text)];"e";"")
Rhinall 1
67436 Spyr

Zeichen zählen

String_Count(<Zeichenfolge>;<Suchzeichen>{;<Nur bis Position>{;<Maximale Treffer>}})

Zählt in einer Zeichenfolge wie oft das Suchzeichen vorkommt

Parameter:
Zeichenfolge(Text): Text der zu betrachten ist
Suchzeichen(Text): nach welchem Zeichen soll der Text durchsucht werden
Nur bis Position (Zahl): Bis an welche Stelle soll der Text durchsucht werden?
Maximale Treffer (Zahl): Wie viele Treffer sollen maximal gefunden werden.

Rückgabewert:
Zahl

Beispiele:
Text:
Rheinallee 1
67436 Speyer

String_Count([Anschrift mehrzeilig (Text)]; "e")
5

Zeichencode

Character code(<Zeichen>)

Liefert genau eine Zahl zwischen 1 und 65535 im Code Unicode UTF-16. (Mehr als ein Zeichen wird nicht ausgewertet.)

Parameter:
Zeichen (Text oder Zeichenfolge): genau ein Buchstabe oder eine Zahl

Rückgabewert:
Zahl

Beispiele:
Character_Code("A")
Ergebnis = 65

Character_Code("ABC")
Ergebnis = 65

Character_Code("3")
Ergebnis = 51

Zeichenkette in Textzeilen aufteilen

String_Split_Into_Rows(<Text>;<Max. Zeilenlänge 1>{;<...>{;<Max. Zeilenlänge n>}})

Teilt Zeichenketten in Textzeilen auf

Parameter:
Text (Text): aufzuteilender Text
Max.Zeilenlänge 1(Zahl): Gewünschte Zeilenlänge. Sollte ein Wort kürzer sein, so wird es zu einer Zeile. Sollte ein Wort länger sein, so wird es zerschnitten
Max.Zeilenlänge n(Zahl): Bis zu 30 verschiedene Zeilenlängen können angegeben werden, eine 0 als letzte Zeilenlänge packt den restlichen Text in einen Zeile


Rückgabewert:
Text

Beispiel:
String_Split_Into_Rows("Das ist das Haus vom Nikolaus.";10;8;0) liefert

Das ist
das Haus
vom Nikolaus.

String_Split_Into_Rows("Das ist das Haus vom Nikolaus.";12) liefert

Das ist das
Haus vom
Nikolaus.

Passt ein Wort länger als eine komplette Zeile, dann wird es zerschnitten

String_Split_Into_Rows("Das ist das Haus vom Nikolaus.";5) liefert

Das
ist
das
Haus
vom
Nikol
aus.



Hinweis:
Umbrüche und Tabs im Text werden vor der Aktion in " " verwandelt.
Den Ergebnistext kann man z.B. in Import Jobs verwenden, um z.B. sehr lange Namen beim Import von Adressen auf mehrere Felder (Nachname, Name_2 und Name_3) zu verteilen, Text_Get_Lines(<...>;1;1) für die erste Zeile.

Zeile einfügen

Text_Insert_Line(<Text>;<Zeilennummer>;<Neue Zeile>)

Setzt eine neue Zeile in einen Text ein.

Parameter:
Text(Text): zu verändernder Text
Zeilennummer(Nummer): in welcher Zeile soll die neue Zeile eingesetzt werden
Neue Zeile (Text): einzusetzende Zeile

Rückgabewert:
Text

Beispiele:
Zeile 1
Zeile 2
Zeile 3
Zeile 4
Zeile 5

Wird durch:
Text_Insert_Line([Text(Text)];2;"Neue Zeile")
Zu:

Zeile 1
Neue Zeile
Zeile 2
Zeile 3
Zeile 4
Zeile 5

Zeile ersetzen

Text_Replace_Line(<Text>;<Zeilennummer>;<Ersetzungzeile>)

Ersetzt eine Zeile in einem mehrzeiligen Text.

Parameter:
Text(Text): zu verändernder Text
Zeilennummer(Nummer): welche Zeile soll ersetzt werden
Ersetzungszeile (Text): ein zu setzende Zeile

Rückgabewert:
Text

Beispiele:
Zeile 1
Zeile 2
Zeile 3
Zeile 4
Zeile 5

Wird durch:
Text_Replace_Line([Text (Text)];3;"Ersetzte Zeile")
Zu:

Zeile 1
Zeile 2
Ersetzte Zeile
Zeile 4
Zeile 5

Zeilenindex

Text_Index_Of_Line(<Text>;<Zeilenmuster>{;<Ab Zeile>})

Gibt die Zeilennummer aus, in der der Wert gefunden wird.

Parameter:
Text(Text): mehrzeiliger zu durchsuchender Text
Zeilenmuster (Text): nach welchem Muster soll durchsucht werden.
Ab Zeile (Nummer): ab welcher Zeile soll die Suche beginnen?

Rückgabewert:
Zahl

Beispiele:
EINS
ZWEI
DREI
VIER
FÜNF

Text_Index_Of_Line(Text;"VIER";2)

Der Text wird ab der 2. Zeile nach "VIER" durchsucht.
Als Ergebnis kommt Zeile 4 zum tragen.

Veranstaltung

Externe VA ID -> Nr

VA_ExterneID_Nach_Nr(<VA Externe ID>)

Gibt die passende VA Nummer anhand der externen VA ID aus.

Parameter:
VA Externe ID(Text): Externe VA ID

Rückgabewert:
Zahl

Beispiele:
Va hat die VA Nr. 4711, die externe VA ID ABC0815

VA_ExterneID_Nach_Nr(“ABC0815“)

Ergibt nun:

4711

Kassenbeleg (Text) -> Vorgang Nr

Kassenbeleg_Nach_Vorgang_Nr(<Beleg Nr>)

Gibt die Vorgangsnummer zu einer bestimmten Belegnummer aus.

Parameter:
Beleg Nr.(Nummer): Nummer im Vorgang Feld Kassenbeleg bei Buchhaltung

Mehrtagesdatum formatieren

VA_MT_Datum_Formatieren(<VA-Nr>;<Datumsformat>{;<einzeilig>{;<nur externe Tage>{;<nur interne Tage>}}})

Gibt einen Text aus der enthält von wann bis wann eine MT-Veranstaltung stattfindet.

Parameter:
VA-Nr.(Nummer): von welcher Veranstaltung soll das Datum ausgegeben werden
Datumsformat (Text): Format indem das Datum im Text ausgegeben werden soll
Einzeilig(Wahrheitswert): TRUE oder nicht angegeben = wird als einzeiliger Text ausgegeben; FALSE und der Zeitraum der VA ist nicht zusammenhängen = wird als Auflistung ausgegeben
nur externe Tage (Wahrheitswert): TRUE = nur externe Tage berücksichtigen, FALSE oder nicht angegeben = alle Tage berücksichtigen
nur interne Tage (Wahrheitswert): TRUE = nur interne Tage berücksichtigen, FALSE oder nicht angegeben = alle Tage berücksichtigen

Rückgabewert:
Text

Beispiel :
Veranstaltung findet statt am 24., 25., 26.,30.12. mit einem externen Tag am 31.12.17.

VA_MT_Datum_Formatieren([Nr. (Lange Ganzzahl)];"TTEMMEJJ";TRUE;TRUE)
ergibt:
24.12.17 bis 26.12.17, 30.12.17


Veranstaltung findet statt am 24., 25., 26.,30.12. mit einem externen Tag am 31.12.17.


VA_MT_Datum_Formatieren([Nr. (Lange Ganzzahl)];"W. TTEN JJJJ";FALSE)
ergibt:
So. 24.Dez 2017
Mo. 25.Dez 2017
Di. 26.Dez 2017
Sa. 30.Dez 2017
So. 31.Dez 2017


Datumsformate für Formatmaske
Parameter Ausgabe Anmerkung
TT 07 Tag
T 7 Tag ohne führende Null
E . oder st Punkt oder st bei Englischübersetzung
TTE 07.
WW Sonntag Wochentag ausgeschrieben
W So Wochentag Abkürzung
MM 09 Monatsnummer
M 9 Monatsnummer ohne führende Null
NN September Monatsname
N Sep Monatsname Abkürzung
JJJJ 2011 Jahr voll
JJ 11 Jahr abgekürzt

Raum Personenzahl

VA_Raum_Pax(<VA-Raum-Nr>)

Gibt die gebuchten PAX zum jeweiligen als Veranstaltungsraum hinterlegten Räumen aus.

Parameter:
Va-Raum-Nr(Nummer): Auf der Veranstaltungsräume Tabelle Feld Nr.[Lange Ganzzahl]

Rückgabewert:
Zahl

Beispiel:

Veranstaltung mit der Nummer 0815 am 24.(20 Personen/Wintergarten) und 25.12.2016 (30
Personen Saal).

VA_Raum_Pax(<[Veranstaltungsraum Nr.Kombinieren mit (Veranstaltungsräume)VA-Nr.->Nr. (Lange Ganzzahl)>)

Liefert 2 Zeilen:
20
30

Raum TR von bis

MT_TR_Tisch_von_bis(<VA Nr>;<Raumname>;<Tischkürzel>;<"Min" oder "Max">)

Sucht bei Veranstaltungen mit Tischplan und Gästen anhand der VA Nummer ob ein Gast vorhanden ist.
ACHTUNG: Das genutzte Feld [Gaeste]Gast_VARaum_VA_Nr wird nur gefüllt wenn a) wenn in einer regulären Reservierung einer Tischreservierungsveranstaltung über den Umwandel-Button eine Veranstaltung angelegt wurde oder b) aus einer regulären Veranstaltung heraus ein Tisch reserviert wurde.

Parameter:
VA_Nr (Nummer): Datum oder Datenbankbezug zu Datum
Raumname(Text): In welchem Raum wird gesucht
Tischkürzel(Text): An welchem Tisch soll gesucht werden
"Min" oder "Max"(Text): Minimales / Maximales Vorgangsdatum an dem der passende Vorgang angelegt ist

Rückgabewert:
(Datum)

Raumkürzel -> Raum Nr

Raum_Kürzel_Nach_Nr(<Raumkürzel>)

Liefert die Datensatz-Nummer des Raumes, bei Angabe des Kurznamens des Raums.

Parameter:
Raumkürzel (Zeichenfolge): im Raum angegebener Kurzname

Rückgabewert:
Zahl

Beispiele: Domkeller = "DK"
Raum_Kürzel_Nach_Nr.("DK")
Ergebnis = 35

Terrasse = "Ter"
Raum_Kürzel_Nach_Nr.("ter")
Ergebnis = 55

Rechenblattübertragswert

Write_Subtotal_Add_Value(<Gruppen-ID>;<Beschriftung>;<Anzeigewert>;<Wert 1>{;<Wert 2>{;<...>}})

Mit Hilfe einer Textvorlage vom Typ Seitenumbruch und Anpassungen an Ihrer Vorgangsartikelliste des Rechenblatts, können sie unterschiedliche manuelle Umbrüche im Rechenblatt verwenden.

Über den neuen Textvorlagentyp "Seitenumbruch" können Muster für Seitenumbrüche (Zwischensummeninformation, Umbruch, Übertragswert und neuer Tabellenkopf) formuliert werden und in der Rechnung und (neu) auch in Briefen über den "Seite umbrechen" Button eingefügt werden.
Der Benutzer legt selbst fest, wo er die Umbrüche haben möchte und welche der Seitenumbruchsvorlagen zum Einsatz kommen.

Diese Formel liefert die dazugehörigen Werte.

Parameter:
Beschriftung: z.B. aktueller Vorgangsname und Datum
Anzeigewert: anzuzeigender Wert

Beispiel:
Write_Subtotal_Add_Value (\"\";\""+"\";\""+string([Gesamtpreis];"##.###.##0,00€")+"\";"+string(if_number([ArtGruppe]>0;[Gesamtpreis];0))+")

Diese Formel nun anstelle des Gesamtpreis als "Ausdruck" in die Textverarbeitung einfügen, bewirkt, dass bei gezogener Vorlage z.B.
Write_Subtotal_Add_Value ("";"";"297,50€";297,5) -> Artikel mit Gesamtpreis von 297,50€.

oder

Write_Subtotal_Add_Value ("";"";"3500,50€";0) -> Zwischensumme von 3500,50€ aber ohne Berücksichtigung für den Übertrag (4 Parameter ist leer).
In der gezogenen Rechnung wird somit der 3. Parameter angezeigt und der 4. Parameter für den Umbruchbereich aufsummiert.


Hinweis:
NUR in Kombination mit Rechenblättern auf auf Basis Textvorlage.

Schweizer Prüfziffer EZS

Schweiz_Pruefziffer_EZS(<Ziffern Zeichenfolge>)

Erstellt die Schweizer Einzahlungsschein Prüfziffer.

Rückgabewert:
Text

VA Anlass übersetzen

VA_Anlass_Übersetzen(<Sprache>;<Anlasstext>)

Mit dem Modul Mehrsprachigkeit kann aus Brief, Artikel und Textvorlage die "Dictionary Palette" aufgerufen und Übersetzungen zu Begriffen selbst bearbeitet werden. Auf diese wird mittels Formel (Text -> Übersetzung) zugegriffen.
Hier wird der bereits übersetzte Text aus der Übersetzungstabelle Artikel-Einheit abgefragt. Ist keine Übersetzung eingetragen, dann wird der Originaltext in deutsch zurückgegeben.

Parameter:
Sprache (Zeichenfolge): zu übersetzende Sprache, deutsch, englisch oder französisch
Anlasstext (Zeichenfolge): Text, der in der Übersetzungspalette unter Original steht

Rückgabewert:
Text

Beispiele:
VA_Anlass_Übersetzen("englisch";"Hochzeit")
Ergebnis = "wedding"

VA_Anlass_Übersetzen("französisch";"Hochzeit")
Ergebnis = "noce"

VA Anlassgruppe übersetzen

VA_Anlassgruppe_Übersetzen(<Sprache>;<Anlassgruppentext>)

Mit dem Modul Mehrsprachigkeit kann aus Brief, Artikel und Textvorlage die "Dictionary Palette" aufgerufen und Übersetzungen zu Begriffen selbst bearbeitet werden. Auf diese wird mittels Formel (Text -> Übersetzung) zugegriffen.
Hier wird der bereits übersetzte Text aus der Übersetzungstabelle Artikel-Einheit abgefragt. Ist keine Übersetzung eingetragen, dann wird der Originaltext in deutsch zurückgegeben.

Parameter:
Sprache (Zeichenfolge): zu übersetzende Sprache, deutsch, englisch oder französisch
Anlassgruppentext(Zeichenfolge): Text, der in der Übersetzungspalette unter Original steht

Rückgabewert:
Text

Beispiele:
VA_Anlassgruppe_Übersetzen("englisch";"Verleih")
Ergebnis = "rental"

VA_Anlassgruppe_Übersetzen("französisch";"Firmenfeier")
Ergebnis = "fête d'entreprise"

VA Status übersetzen

VA_Status_Übersetzen(<Sprache>;<Statustext>)

Mit dem Modul Mehrsprachigkeit kann aus Brief, Artikel und Textvorlage die "Dictionary Palette" aufgerufen und Übersetzungen zu Begriffen selbst bearbeitet werden. Auf diese wird mittels Formel (Text -> Übersetzung) zugegriffen.
Hier wird der bereits übersetzte Text aus der Übersetzungstabelle Artikel-Einheit abgefragt. Ist keine Übersetzung eingetragen, dann wird der Originaltext in deutsch zurückgegeben.

Parameter:
Sprache (Zeichenfolge): zu übersetzende Sprache, deutsch, englisch oder französisch
Statustext(Zeichenfolge): Text, der in der Übersetzungspalette unter Original steht

Rückgabewert:
Text

Beispiele:
VA_Status_Übersetzen ("englisch";"Definitiv")
Ergebnis = "Definite"

VA_Status_Übersetzen ("französisch";"Tendenz")
Ergebnis = "Tendance"

Vorgang enthält Artikel aus Artikelgruppenpaket

Vorgang_Mit_Artikel_Aus_Paket(<Vorgang-Nr>;<Artikelgruppenpaket>)

Überprüft ob ein bestimmter Vorgang in einem Artikelgruppenpaket enthalten ist.

Parameter:
Vorgang-Nr.(Nummer): Welcher Vorgang soll überprüft werden
Artikelgruppenpaket (Text): Die Zugehörigkeit zu welchem Artikelgruppenpaket soll überprüft werden.

Rückgabewert:
Wahrheitswert

Beispiele:

Vorgang_Mit_Artikel_Aus_Paket([VG NR (Lange Ganzzahl)];"@technik") Überprüft ob der im Zugriff befindliche Vorgang sich in einer Artikelgruppe befindet, in deren Namen “technik“ enthalten ist.

Vorgangsname -> Vorgang Nr

Vorgang_Name_Nach_Nr(<VA Nr>;<Vorgangstyp>;<Vorgangsname>{;<Vorgangsdatum>})

Gibt zu einem Vorgangsnamen die Vorgangsnummer aus.

Parameter:
VA Nr.(Nummer): In welcher Veranstaltungsnummer ist der Vorgang enthalten
Vorgangstyp(Text): Welchen Vorgangstyp hat der Vorgang?
Vorgangsname: Wie ist der Name des Vorgangs?
Vorgangsdatum(Datum)-optional: Welches Datum hat der Vorgang

Rückgabewert:
Nummer

Beispiele:

Vorgang_Name_Nach_Nr([4848;"Angebot";"Speisen")

Gibt in der Veranstaltung mit der Nummer 4848 die Nummer des Vorgangs mit dem Namen Speisen in Angebote aus.

Vorgangsname übersetzen

VG_Name_Übersetzen(<Sprache>;<Vorgangsname>)

Mit dem Modul Mehrsprachigkeit kann aus Brief, Artikel und Textvorlage die "Dictionary Palette" aufgerufen und Übersetzungen zu Begriffen selbst bearbeitet werden. Auf diese wird mittels Formel (Text -> Übersetzung) zugegriffen.
Hier wird der bereits übersetzte Text aus der Übersetzungstabelle Artikel-Einheit abgefragt. Ist keine Übersetzung eingetragen, dann wird der Originaltext in deutsch zurückgegeben.

Parameter:
Sprache (Zeichenfolge): zu übersetzende Sprache, deutsch, englisch oder französisch
Statustext(Zeichenfolge): Text, der in der Übersetzungspalette unter Original steht

Rückgabewert:
Text

Beispiele:
VG_Name_Übersetzen("englisch";"Abendveranstaltung")
Ergebnis = "evening event"

VG_Name_Übersetzen("französisch";"Mittagessen")
Ergebnis = "déjeuner"

Vorgangstyp-Nr -> Vorgang Nr

Vorgang_TypNr_Nach_Nr(<Vorgangstyp>;<TypNummer>{;<Betrieb-Nummer (Multibetriebe)>})

Gibt anhand der Vorgangstyp Nummer die Vorgangs-Nummer aus.

Parameter:
Vorgangstyp(Text): Um welchen Vorgangstyp handelt es ich
TypNummer (Nummer): Um welche Vorgangstyp-Nummer handelt es sich (bei Rechnungen wird diese z.B. als Rechnungsnummer genutzt.
Betrieb-Nummer (Multibetriebe)(Nummer)-optional: Betrieb-Nummer des zu suchenden Betriebs

Rückgabewert:
Nummer

Beispiele:
Vorgang_TypNr._Nach_Nr.(“Rechnung“;123)
Gibt die Vorgangsnummer des Rechnungs-Vorgangs mit der Vorgangstyp-Nummer 123 aus.

Wahrheitswerte

Falsch

False

Liefert den Wahrheitswert "false" oder prüft einen Ausdruck auf diesen Wahrheitswert.

Parameter:
-

Beispiele:

true = false
false

false = false
true

true & false = false
true

true | false = false
false

Logisches Oder

<Wahrheitswert> | <Wahrheitswert>

Logisches ODER von Wahrheitswerten.
Das Ergebnis ist "true", wenn mindestens ein beteiligter Wahrheitswerte "true" ist.

Beispiele:
true | true = true
false | false = false
true | false = true
true | true & false = true

Logisches Und

<Wahrheitswert> & <Wahrheitswert>

Logisches UND von Wahrheitswerten.
Das Ergebnis ist nur dann "true", wenn alle beteiligten Wahrheitswerte "true" sind.

Beispiele:
true & true = true
true & false = false
true & true & false = false

Nicht

Not(<Ausdruck>)

Negiert einen Ausdruck.
"Wahr" wird zu "falsch" und "falsch" wird zu "wahr".

Parameter:
Ausdruck (Bedingung): Ausdruck, der negiert werden soll

Beispiele:
Not (true) = false
Not (false) = true

not([S Liste (Wahrheitswert)])
Ergebnis = abhängig von Wahrheitswert "true" oder "false"

Wahr

True

Liefert den Wahrheitswert "true" oder prüft einen Ausdruck auf diesen Wahrheitswert.
"Wahr" bleibt wahr und "falsch" bleibt "falsch".

Parameter:
-

Beispiel:

false = true
Ergebnis: false

true = true
Ergebnis: true

false & true = true
Ergebnis: false

false | true = true
Ergebnis: true

Währungen

Hauswährung

Währungen_Hauswährung

Liefert die Datensatz-Nr. der Hauswährung.

Parameter:
keine

Rückgabewert:
Zahl

Beispiele:
Währungen_Hauswährung
Ergebnis = 1

Kennzeichen -> Nr

Währungen_Nr(<Kennzeichen>)

Liefert die Datensatz-Nr. der Währung zum gegebenen Währungskennzeichen. Handelt es sich um eine "nicht aktuelle" Währung, dann wird "0" zurückgegeben.

Parameter:
Kennzeichen (Zeichenfolge): Kennzeichen der Währung oder Datenbankbezug zur Währung

Rückgabewert:
Zahl

Beispiele:
Währungen_Nr("EUR")
Ergebnis = 1

Währungen_Nr("USD")
Ergebnis = 9

mit Datenbankbezug
Währungen_Nr([Kennzeichen (Zeichenfolge (3))])
Ergebnis = entspr. Zahl des Datensatzes der Währung

Nr -> Kennzeichen

Währungen_Kürzel(<Nr>)

Liefert das Währungskennzeichen der Währung zur gegebenen Datensatz-Nr.

Parameter:
Nr. (Zahl): Datensatz Nr. der Währung

Rückgabewert:
Text

Beispiele:
Währungen_Kürzel(1)
Ergebnis = €

Nr -> Kennzeichen

Währungen_Kennzeichen(<Währung-Nr>)

Liefert das Kennzeichen der Währung, wenn dieses "aktuell" ist.

Parameter:
Währungs-Nr.: Datensatz-Nr. der Währung

Rückgabewert:
Text

Beispiele:
Währungen_Kennzeichen (4)
Ergebnis = "CHF"

Währungen_Kennzeichen (1)
Ergebnis = "EUR"

Umrechnung

Währungen_Umrechnung(<Von WährungNr>;<Nach WährungNr>;<Stichtag>;<Betrag>)

Rechnet einen Betrag von einer Währung in eine andere um.

Parameter:
Von WährungNr.(Nummer): Nummer der Währung in der der Betrag vorliegt.
Nach WährungNr.(Nummer): Nummer der Währung in die der Betrag umgerechnet werden soll.
Stichtag(Datum): Datum zu dem die Umrechnung im Kontext steht. (Tag des Wechselkurses)
Betrag(Nummer): umzurechnender Betrag

Rückgabewert:
Nummer

Beispiele:
Währungen_Umrechnung(1;9;Current date;[Gesamt-Pers. aller Angebote (Zahl)])
Der Gesamtpreis aller Angebote pro Person soll aus EUR (1) nach US$(9) mit dem Wechselkurs des heutigen Tages umgerechnet werden.

Währung runden

Währungen_Runden(<Währungsnummer>;<Betrag>)

Rundet eine Zahl gemäß der ausgewählten Währung.

Parameter:
Währungsnummer: Nummer der Währung
Betrag: Zahlbetrag

Beispiele:

Währungen_Runden ( Währungen_Nr. ("EUR"); 123,456) liefert 123,46, weil Euro auf 0,01 gerundet wird.

Währungen_Runden ( Währungen_Nr. ("CHF"); 7,777) liefert 7,80, weil Schweizer Franken auf 0,05 gerundet wird.

Web

Base64 Dekodierung

Web_Base64_Decoding(<Text>{;<Zeichensatz>})

Dekodiert einen Text aus Base64.

Parameter:
Text(Text): zu decodierender Text
Zeichensatz(Text)-optional: Aus welchem Zeichensatz soll dekodiert werden?

Rückgabewert:
Text

Hinweis:
Base64 ist ein Verfahren zur Kodierung von 8-Bit-Binärdaten (z. B. ausführbare Programme, ZIP-Dateien oder Bilder) in eine Zeichenfolge, die nur aus lesbaren, Codepage-unabhängigen ASCII-Zeichen besteht.

Zeichensätze: UTF-32, UTF-32BE, UTF-32LE, UTF-16, UTF-16BE, UTF-16LE, UTF-8, UTF-7, US-ASCII, ANSI_X3.4-1968, ANSI_X3.4-1986, ASCII, cp367, csASCII, IBM367, iso-ir-6, ISO_646.irv:1991, ISO646-US, us, IBM437, cp437, 437, csPC8CodePage437, ebcdic-cp-us, cp037, csIBM037, ebcdic-cp-ca, ebcdic-cp-n, ebcdic-cp-wt, IBM037, MacRoman, x-mac-roman, mac, macintosh, csMacintosh, windows-1252, MacCE, x-mac-ce, windows-1250, x-mac-cyrillic, windows-1251, x-mac-greek, windows-1253, x-mac-turkish, windows-1254, x-mac-arabic, windows-1256, x-mac-, ebrew, windows-1255, x-mac-ce, windows-1257, Shift_JIS, csShiftJIS, MS_Kanji, Shift-JIS, ISO-2022-JP, csISO2022JP, Big5, csBig5, EUC-KR, csEUCKR, KOI8-R, csKOI8R, ISO-8859-1, CP819, csISOLatin1, IBM819, iso-ir-100, ISO_8859-1, ISO_8859-1:1987, l1, latin1, ISO-8859-2, csISOLatin2, iso-ir-101, ISO_8859-2, ISO_8859-2:1987, l2, latin2, ISO-8859-3, csISOLatin3, ISO-8859-3:1988, iso-ir-109, ISO_8859-3, l3, latin3, ISO-8859-4, csISOLatin4, ISO-8859-4:1988, iso-ir-110, ISO_8859-4, l4, latin4, ISO-8859-5, csISOLatinCyrillic, cyrillic, ISO-8859-5:1988, iso-ir-144, ISO_8859-5, ISO-8859-6, arabic, ASMO-708, csISOLatinArabic, ECMA-114, ISO-8859-6:1987, iso-ir-127, ISO_8859-6, ISO-8859-7, csISOLatinGreek, ECMA-118, ELOT_928, greek, greek8, iso-ir-126, ISO_8859-7, ISO_8859-7:1987, ISO-8859-8, csISOLatinHebrew, hebrew, iso-ir-, 138, ISO_8859-8, ISO_8859-8:1988, ISO-8859-9, csISOLatin5, iso-ir-148, ISO_8859-9, ISO_8859-9:1989, l5, latin5, ISO-8859-10, csISOLatin6, iso-ir-157, ISO_8859-10, ISO_8859-10:1992, l6, latin6, ISO-8859-13, ISO-8859-15, Latin-9, GBK, GB2312, csGB2312, x-mac-chinesesimp, Windows-31J, GB_2312-80, csISO58GB231280

Base64 Kodierung

Web_Base64_Encoding(<Text>{;<Zeichensatz>})

Kodiert einen Text nach Base64.

Parameter:
Text(Text): zu codierender Text
Zeichenstatz(Text)-optional: In welchen Zeichensatz soll kodiert werden?

Rückgabewert:
Text

Hinweis:
Base64 ist ein Verfahren zur Kodierung von 8-Bit-Binärdaten (z. B. ausführbare Programme, ZIP-Dateien oder Bilder) in eine Zeichenfolge, die nur aus lesbaren, Codepage-unabhängigen ASCII-Zeichen besteht.

Zeichensätze: UTF-32, UTF-32BE, UTF-32LE, UTF-16, UTF-16BE, UTF-16LE, UTF-8, UTF-7, US-ASCII, ANSI_X3.4-1968, ANSI_X3.4-1986, ASCII, cp367, csASCII, IBM367, iso-ir-6, ISO_646.irv:1991, ISO646-US, us, IBM437, cp437, 437, csPC8CodePage437, ebcdic-cp-us, cp037, csIBM037, ebcdic-cp-ca, ebcdic-cp-n, ebcdic-cp-wt, IBM037, MacRoman, x-mac-roman, mac, macintosh, csMacintosh, windows-1252, MacCE, x-mac-ce, windows-1250, x-mac-cyrillic, windows-1251, x-mac-greek, windows-1253, x-mac-turkish, windows-1254, x-mac-arabic, windows-1256, x-mac-, ebrew, windows-1255, x-mac-ce, windows-1257, Shift_JIS, csShiftJIS, MS_Kanji, Shift-JIS, ISO-2022-JP, csISO2022JP, Big5, csBig5, EUC-KR, csEUCKR, KOI8-R, csKOI8R, ISO-8859-1, CP819, csISOLatin1, IBM819, iso-ir-100, ISO_8859-1, ISO_8859-1:1987, l1, latin1, ISO-8859-2, csISOLatin2, iso-ir-101, ISO_8859-2, ISO_8859-2:1987, l2, latin2, ISO-8859-3, csISOLatin3, ISO-8859-3:1988, iso-ir-109, ISO_8859-3, l3, latin3, ISO-8859-4, csISOLatin4, ISO-8859-4:1988, iso-ir-110, ISO_8859-4, l4, latin4, ISO-8859-5, csISOLatinCyrillic, cyrillic, ISO-8859-5:1988, iso-ir-144, ISO_8859-5, ISO-8859-6, arabic, ASMO-708, csISOLatinArabic, ECMA-114, ISO-8859-6:1987, iso-ir-127, ISO_8859-6, ISO-8859-7, csISOLatinGreek, ECMA-118, ELOT_928, greek, greek8, iso-ir-126, ISO_8859-7, ISO_8859-7:1987, ISO-8859-8, csISOLatinHebrew, hebrew, iso-ir-, 138, ISO_8859-8, ISO_8859-8:1988, ISO-8859-9, csISOLatin5, iso-ir-148, ISO_8859-9, ISO_8859-9:1989, l5, latin5, ISO-8859-10, csISOLatin6, iso-ir-157, ISO_8859-10, ISO_8859-10:1992, l6, latin6, ISO-8859-13, ISO-8859-15, Latin-9, GBK, GB2312, csGB2312, x-mac-chinesesimp, Windows-31J, GB_2312-80, csISO58GB231280

Html Escape

Web_Html_Escape(<Text>)

Funktion um HTML-Code der als Text hinterlegt ist auch tatsächlich als einfaches HTML auszugeben.

Parameter:
Text(Text): als Text hinterlegter HTML Code

Rückgabewert:
HTML

Logon Ticket generieren

Web_Generate_Logon_Ticket(<Login>{;<Ablauf in Sekunden>{;<Mehrfachnutzbar>}})

Erstellt ein Logon-Ticket eines bestehenden Benutzerprofils für den Zugriff per WebApp.
Optional sind eine zeitliche Begrenzung der Nutzung und die Möglichkeit es innerhalb der Zeitspanne mehrfach zu nutzen.

Parameter:
Login (Zeichenfolge): bestehendes Benutzerprofil in der Anwendung
Optional: Ablauf in Sekunden (Ganzzahl): Zahl, die die Login-Zeit angibt
Optional: Mehrfachnutzbar (Wahrheitswert): true oder false; Mehrfache Anmeldung ja oder nein

Beispiele:
Web_Generate_Logon_Ticket ("Demo"; 360; false)
Ergebnis = Nutzer "Demo" kann sich 6min lange genau 1x per WebApp anmelden; meldet er sich vor Ablauf der Dauer ab, kann er sich nicht mehr anmelden

Web_Generate_Logon_Ticket ("Demo"; 900; true)
Ergebnis = Nutzer "Demo" kann sich 15min lange mehrfach per WebApp anmelden, bevor das Ticket abläuft

Web_Generate_Logon_Ticket ("Agentur")
Ergebnis = Nutzer "Agentur" kann sich ohne Einschränkung anmelden

Parameterwert lesen

Web_Get_Parameter(<Name>{;<Header-Field>})

Den Wert eines URL-Parameters abrufen um eine Liste zu filtern.

Url abfragen

Http_Get_Text(<Url|SyncServerName>{;<Benutzer>;<Passwort>})

Zum abfragen von Daten aus dem Web, außerhalb einer Schnittstelle.

Parameter;
URL(Text): URL
Benutzer(Text)-optional: Benutzer
Passwort(Text)-optional: Passwort


Rückgabewert:
Returncode:URL-Inhalt

Beispiel:
Http_Get_Text("https://api.wetteronline.de/geo?name=speyer")
liefert das aktuelle Wetter in Speyer.
Die ersten 3 Zeichen sind der Http Return Code. Z. B. bedeutet 200, dass alles OK ist, 4xx dass Berechtigungen fehlen etc.

Url Dekodierung

Web_Url_Decoding(<Text>)

Funktion um einen Web-URL zu dekodieren.

Rückgabewert:
Text

Url Kodierung

Web_Url_Encoding(<Text>)

Funktion um einen Web-URL zu kodieren.

Rückgabewert:
URL

Web Adresse Abkürzung generieren

Web_Generate_Shortener(<Url>{;<Ablauf in Sekunden>{;<Mehrfachnutzbar>}})

Erstellt eine Web Adresse Abkürzung unter Angabe einer eindeutigen Webadresse.

Parameter:
URL (Zeichenfolge): Eindeutige Webadresse, auch im lokalen Netzwerk
Optional: Ablauf in Sekunden (Ganzzahl): wie lange die Abkürzung gültig ist
Optional: Mehrfachnutzbar (Wahrheitswert): true oder false; Mehrfache Anmeldung ja oder nein

Beispiele:
Web_Generate_Shortener("www.bp-event-software.com";600;false)
Ergebnis = auf die Abkürzung der Webadresse "www.bp-event-software.com" kann 10 Minuten mehrfach zugegriffen werden

Wert aus Json auslesen

Json_Text_Get_Value(<Json>;<Format:Json|Jdo>;<xPath>)

Liest Informationen aus einer Json Datei aus (die z.B. vorher per Http_Get_text aus dem Web geladen wurde)

Parameter:
Json (Text): Inhalt der Json
Format:Json|Jdo (Text): Angabe um welches der beiden Formate es sic handelt
xPath (Text): Pfad in dem die Information zu finden ist

Rückgabewert:
Text

Beispiel: Zahlungsschnittstelle
Aus einer Web App wird eine Bestellung ausgelöst, es muss aber zuvor bei einem Zahlungsdienstleister bezahlt werden.
Nun kann man - während man die Bestellung anlegt - über den Aufruf der Funktion "http_get_text" beim Zahlungsanbieter nachfragen, ob die Zahlung auch wirklich erfolgt ist.

Das Ergebnis des Http_Get_Text Aufruf ist ein Json, das nun direkt beim Import der Bestellung ausgelesen werden kann.

Wert aus XML auslesen

XML_Text_Get_Value(<XML>;<xPath>)

Liest Informationen aus einer XML Datei aus (die z.B. vorher per Http_Get_text aus dem Web geladen wurde)

Parameter:
XML (Text): Inhalt der XML
xPath (Text): Pfad in dem die Information zu finden ist

Rückgabewert:
Text

Beispiel: Zahlungsschnittstelle
Aus einer Web App wird eine Bestellung ausgelöst, es muss aber zuvor bei einem Zahlungsdienstleister bezahlt werden.
Nun kann man - während man die Bestellung anlegt - über den Aufruf der Funktion "http_get_text" beim Zahlungsanbieter nachfragen, ob die Zahlung auch wirklich erfolgt ist.

Das Ergebnis des Http_Get_Text Aufruf ist ein XML, das nun direkt beim Import der Bestellung ausgelesen werden kann.

Zahlen

Bedingungen aufzählen (Zahlen)

Case_Of_Number(<Sonst-Wert>;<Bedingung 1>;<Wert 1>{;<...>{;<Bedingung 20>;<Wert 20>}})

Hat man mehr als ein einfaches "Wenn dann sonst", so schachtelt man die If_Number Formel.
if_Number(<B1>;<W1>; if_Number(<B2>;<W2>;if_Number(<B3>;<W3>;<W-Sonst>)))
Hat man mehr als 2 Bedingungen wird dies schnell unübersichtlich.

Mit Case_Of_Number wird die Anzahl an Klammern reduziert und die Formel kann übersichtlicher und damit einfacher wartbar angelegt werden.

Die Funktion erhält als erstes den "Sonst-Wert" und dann im Wechsel "Bedingung (Wahrheitswert)" und korrespondierenden Wert.

Parameter:
Sonst-Wert (Zahl): Datum, das ausgegeben werden soll, wenn die folgenden Bedingungen nicht zutreffen
Bedingung 1 (Wahrheitswert): Wahrheitswert, der zutreffen muss, damit Wert 1 ausgegeben wird
Wert 1 (Zahl): Wert der ausgegeben wird, wenn Bedingung 1 zutrifft
Es können maximal 20 Bedingungen mit Werten hinterlegt werden.

Rückgabewert:
Zahl

Beispiel:
Case_Of_Number(4;
Month of(Current date)<= 3;
1;
Month of(Current date)<= 6;
2;
Month of(Current date)<= 9;
3
Gibt an, in welchem Quartal sich das aktuelle Datum befindet.

Benutzerspezifisches Zahlformat

Benutzer_Zahlformat(<Zahlformat>)

Passt das Format der Zahl an das auf dem Rechner eingestellte Landesformat an und ergänzt dieses um das Währungskürzel.

Besonderheiten:
Nur in Verbindung mit string() auf der Liste nutzbar

Parameter:
Format(Text): welches Format ist für die Zahl gewünscht

Rückgabewert:
Text

Beispiel:
string([Zahl (Zahl)];Benutzer_Zahlformat("###.###.##0,00 <HW>"))

Hinweis:
# - Die Stelle wird angezeigt sofern Sie nicht 0 ist
0 - Die Stelle der Zahl wird immer angezeigt
<HW> - Es wird das in Administration hinterlegte Währungskuerzel genutzt

Betrag

Abs(<Zahl>)

Entfernt das Vorzeichen einer Zahl, um den reinen Betrag zu ermitteln

Parameter:
Zahl(Zahl): Zahl

Beispiel:
Abs (-100)
ergibt 100

Abs (100)
ergibt 100

Cosinus

Cos(<Zahl>)

Bestimmt den Cosinus Wert.

Parameter:
Zahl(Zahl): Zahl

Beispiel:
Cos (1)
ergibt 0,54

Dezimalanteil

Dec(<Zahl>)

Gibt lediglich den Dezimalteil einer Zahl aus.

Parameter:
Zahl(Zahl): Zahl

Beispiel:
Dec (100,00)
ergibt 0,00

Dec (100,88)
ergibt 0,88

Division mit Rest

mod(<Zahl>;<Divisor>)

Modulo-Funktion: mathematische Funktion, die den Rest einer ganzzahligen Division bestimmt.

Parameter:
Zahl (Lange Ganzzahl): ganze Zahl, die geteilt werden soll
Divisor (Lange Ganzzahl): ganze Zahl, durch die geteilt wird

Rückgabewert:
Zahl

Beispiele:
mod (5;2) = 1
mod (200; 17) = 13
mod (100;10) = 0
mod (-123;10) = -3

Ganzzahlanteil

Int(<Zahl>)

Gibt den ganzzahligen Teil einer Zahl aus. Die Nachkommastellen werden abgeschnitten.

Parameter:
Zahl (Lange Ganzzahl): Zahl

Rückgabewert:
Zahl

Beispiele:
int(2,3445) Ergebnis: 2
int(104,99) Ergebnis: 104

Größte Ganzzahl

maxlong

Liefert die größte Ganzzahl

Parameter:
keine

Rückgabewert:
Zahl

Maximum

Num_Max(<Zahl 1>;<Zahl 2>{;<...>{;<0 überspringen>}})

Liefert den größten Wert aus einer Zahlenreihe.

Parameter:
Zahl 1 (Zahl): Erster zu vergleichende Zahl
Zahl 2 (Zahl): zweite zu vergleichende Zahl
0 überspringen(Wahrheistwerrt)-optional: Standard: False

Rückgabewert:
Zahl

Beispiel:
Num_Max(-30;-12;-19;-78;0;TRUE)
Ergebnis: -12

Num_Max(-30;-12;-19;-78;0)
Ergebnis: 0

Minimum

Num_Min(<Zahl 1>;<Zahl 2>{;<...>{;<0 überspringen>}})

Liefert den kleinsten Wert aus einer Zahlenreihe.

Parameter:
Zahl 1 (Zahl): Erster zu vergleichende Zahl
Zahl 2 (Zahl): zweite zu vergleichende Zahl
0 überspringen(Wahrheitswert)-optional: Standard: False

Rückgabewert:
Zahl

Beispiel:
Num_Min(30;12;19;78;0;TRUE)
Ergebnis: 12

Num_Min(30;12;19;78;0)
Ergebnis: 0

Runden

Round(<Zahl>;<Nachkommastellen>)

Liefert eine Zahl, die um die Anzahl von Nachkommastellen gerundet ist.

Parameter:
Zahl(Zahl): Zahl in englischer Notation mit Punkt für Million und Komma für Tausender
Nachkommastellen(Zahl): ab welcher Nachkommastelle gerundet wird (negativ rundet die Vorkommastellen)

Rückgabewert:
Zahl

Beispiele:
Round (134,7276; 1)
Ergebnis = 134,70

Round (134,7276; 3)
Ergebnis = 134,73

Round (134,7276; -2)
Ergebnis = 100

Sinus

Sin(<Zahl>)

Bestimmt den Sinus Wert.

Parameter:
Zahl(Zahl): Zahl

Beispiel:
Sin (1)
ergibt 0,84

Stellen

Trunc(<Zahl>;<Nachkommastellen>)

Behält nur einen vorzugebenede Anzahl von Nachkommastellen.

Parameter:
Zahl(Zahl): Zu bearbeitende Zahl
Nachkommastellen(Zahl): Anzahl der zu behaltenden Stellen

Beispiel:
Trunc (100,1234567890;3)
ergibt 100,123

Tangens

Tan(<Zahl>)

Errechnet den Tangens.

Parameter:
Zahl(Zahl): Zu bearbeitende Zahl

Beispiel:
tan (100,00)
ergibt -0,59

Umwandeln in Text

String(<Zahl>{;<Format>})

Liefert den übergebenen Ausdruck (kann sein: Zahl, Datum, Uhrzeit, Wahrheitswert) als Text, wobei optional ein Format angegeben werden kann.

Parameter:
Ausdruck (Zahl), Datum, Uhrzeit, Wahrheitswert): Ausdruck, der in Text umgewandelt werden kann
Format (Format)-optional: wie die Ausgabe des Textes erfolgen soll

Rückgabewert:
Text


Beispiele mit Ausdruck vom Typ Datum:
String (Current Date)
Ergebnis = "08.08.2014"

String (Current Date; 3)
Ergebnis = "Dienstag, 19. August 2014"


Beispiel mit Ausdruck vom Typ Wahrheitswert:
String (ist_Feiertag(!09.02.11!)
Ergebnis = "false"


Beispiel mit Ausdruck vom Typ Zahl:
Zahl ist 47110815,42
String([Spalte 1 (Zahl)];"###.###.##0,00 EUR;-###.###.##0,00 EUR")
Ergebnis = "47.110.815,42 EUR"


Hinweis für Zahlen:
Zahlenformatierung:
-in "" anzugeben.
- es ist sowohl ein Format für positive als auch für negative Zahlen an zu geben, getrennt durch ein ;
- # steht für jeweiles eine Stelle, falls die führende Stelle eine 0 ist wird die Stelle nicht angezeigt
- 0 steht ebenfalls für jeweils eine Stelle, falls die führende Stelle 0 ist wird diese auch als 0 angezeigt


Hinweis für Datum:
Datumsformate
1 15.12.2015
2 Di,15.Dez.2015
3 Dienstag, 15. Dezember 2015
4 15.12.2015
5 Dienstag, 15. Dezember 2015
6 Di,15.Dez.2015
7 Dienstag
8 15
9 Dezember
10 15
11 2015
12 Dienstag, 15. Dezember 2015

Umwandeln in Text (erweitert)

Number_To_String(<Zahl>{;<Dezimaltrenner>{;<Tausendertrenner>{;<Anzahl Nachkommastellen>}}})

Liefert eine Zahl als Text.

Parameter:
Ausdruck (Zahl): umzuwandelnde Zahl
Dezimaltrenner(Text): Zeichen, das als Dezimaltrenner dienen soll
Tausendertrenner(Text)-optional: Zeichen das als Tausendertrenner dienen soll


Rückgabewert:
Text

Beispiel:

Number_To_String(12334567,89;"-";".")

Text:
1.234.567,89

Wenn dann sonst (Zahlen)

If_Number(<Wahrheitswert>{;<dann Zahl>;<sonst Zahl>})

Gibt abhängig von der Bedingung eine Zahl zurück, wenn Anweisung "wahr" oder "falsch" ist.

If_Number(<Wahrheitswert>{;<dann Zahl>;<sonst Zahl>})

Parameter:
Wahrheitswert (Wahrheitswert): Bedingung, die geprüft wird, damit Anweisungen darunter ausgeführt werden
dann Zahl(Ganzzahl): Anweisung ist true, dann nehme diese Zahl
sonst Zahl (Ganzzahl): Anweisung ist false, dann nehme diese, andere Zahl

Rückgabewert:
Zahl

Beispiele.:
If_Number( [Stichwort (Zeichenfolge (80))] ="Reaktion Stammgastabend" ; 1; 0 )
Ergebnis: gibt eine 1 aus sobald das Tischwort Reaktion Stammgastabend gesetzt wurde; es lasen sich hierrüber gut Auswertungen realisieren


Hinweis:
Anstatt bei mehr als 2 Bedingungen mehrere If_Number zu Verschachteln bitte Case_Of_Number nutzen.

Wurzel

Square root(<Zahl>)

Zieht die Wurzel einer Zahl.

Parameter:
Zahl(Zahl): Nicht negative reelle Zahl aus der die Wurzel errechnet werden soll

Beispiel:
Square root (16)
ergibt 4

Zahlen aufzählen

Numbers_Enumerate(<Von-Zahl>;<Bis-Zahl>;<Trennzeichen>{;<Schrittweite>})

 
Zufallszahl

Random

Gibt eine Zufallszahl aus.

Parameter:
keine

Rückgabewert:
Zahl

Drucken
Drucken
Wir verwenden nur essentielle Cookies
Wir nutzen auf unserer Website KEINE Tracking- und Werbecookies, sondern ausschließlich solche, die für den Betrieb der Seite erforderlich sind.