Fallback-Wert / Bindings

Diesen Dialog erreichen Sie auf den folgenden Wegen:
Modul Applikationen Eingabefeld Eigenschaften Reiter "Binding" / Vorgabe bei neuen oder bestehenden Datensätzen / Bearbeiten

Eingebettet in den folgenden Dialogen:
Modul Applikationen Eingabe- und Ansichtsseiten Eigenschaften Reiter "Parameter" / Parameter / Neu / Fallbackwert
Modul Applikationen Schaltfläche Eigenschaften Reiter "Aktionen" / Keine Aktion, Speichern, Löschen, Datensatz hinzufügen (Frei gestaltete Tabelle) / Parameter / Neu / Fallbackwert
Modul Applikationen Portletcontainer Eigenschaften Reiter "Parameter" / Neu / Fallbackwert
Modul Applikationen E-Mail-Konfiguration aktivieren oder Konfiguration Reiter "Konfiguration" / Seite / Parameter bearbeiten Parameter / Fallback-Wert erstellen
Modul Applikationen Ansichtstabelle Eigenschaften Reiter Daten / Datenfeld hinzufügen / Spalte bearbeiten Reiter "Sprungziel" / Parameter / Neu / Fallbackwert
Modul Applikationen Frei gestalteten Tabelle Eigenschaften Reiter "Daten" / Seite für Datenansicht / Parameter bearbeiten Parameter / Fallback-Wert erstellen
Modul Applikationen Kalender- oder Ressourcen-Element Eigenschaften Reiter "Aktion" / Aktion bearbeiten Reiter "Aktionen" / Parameter / Neu / Fallbackwert
Modul Applikationen Kalender-Plugin erstellen oder bearbeiten Reiter "Sprungziel" / Sprungziel bearbeiten Parameter / Fallback-Wert erstellen
Modul Applikationen Diagramm Eigenschaften Reiter "Interaktion" / Sprung bei Klick auf Datenpunkt / Bearbeiten Parameter / Fallback-Wert erstellen
Modul Applikationen Element "Baum Ansicht" Eigenschaften Reiter "Daten" / Sprungziel bearbeiten Parameter / Fallback-Wert erstellen
Modul Prozesse E-Mail-Aktion Eigenschaften Reiter "Inhalt" / Seite aus Applikation / Bearbeiten Parameter / Fallback-Wert erstellen
Modul Prozesse Push-Nachrichten-Aktion Eigenschaften Reiter "Allgemein" / Weiter bis "Optionen" Reiter "Optionen" / Sprungziel für mobile bzw. Desktop-Ansicht bearbeiten Reiter "Sprungziel für mobile bzw. Desktop-Ansicht bearbeiten" / Seite / Parameter bearbeiten Parameter / Fallback-Wert erstellen

1. Allgemeines

Ein Binding ist die Verbindung von Datenquelle und Konsument. Die Datenquelle wird in der Binding-Notation angegeben (s. Syntax von Binding-Strings). Bindings können an verschiedenen Stellen in Intrexx definiert werden. Sie werden davon abhängig auch an verschiedenen Stellen im XML eingetragen. Bindings können wie folgt eingesetzt werden:


Hier wird z.B. bei einem Eingabefeld ein Datenfeld-Binding bei neuen Datensätzen als Vorgabe definiert.



Hier das entsprechende XML:
<textcontrol guid="5758A9C9EC60A724AC85B3CAE8F2EA28B23EFE45" name="textcontrol30057DD4" inputlength="255" label="false" readonly="false" rect="100,45,250,20" required="false" source="container['7338AC8FD8B5B5C39DBB2AD2F456529DD84A233A'].dataField['D6F55F095F2E5A5570EAB98A8773B0E2F193FBA1']">
    <property>
        <title de="Titel" en="Title"/>
    </property>
    <defaultvalue record="new" source="container['7338AC8FD8B5B5C39DBB2AD2F456529DD84A233A'].dataField['8860BBDFB02E3E9E43940D63A4A64A0AACAEF2DC']" sourceType="binding"/>
</textcontrol>

2. Datenfeld


Container

Wählen Sie hier den gewünschten Container aus, in dem das Datenfeld enthalten ist, dessen Wert als Fallback-Wert verwendet werden soll.

Datenfeld

Wählen Sie hier das gewünschte Datenfeld aus.

3. Session / Request / Verarbeitungskontext


Session / Request / Verarbeitungskontext

Tragen Sie hier jeweils den Namen des Requestparameters, der Sessionvariable bzw. der Variable aus dem Verabeitungskontext ein.

4. Statischer Wert


Statischer Wert

Tragen Sie hier einen statischen Wert ein. Dabei kann eine beliebige Zeichenfolge verwendet werden, solange sie zum verlangten Datentyp passt. Wenn z.B. ein Integerwert verlangt wird, kann "123" übergeben werden, nicht aber "ABC".

5. Velocity


Velocity

Hier kann Velocity-Skript eingetragen werden, das den Fallback-Wert liefert. Velocity kann bei Seiten-Parametern nur rudimentär eingesetzt werden. Objekte wie $DC, $drRecord stehen an dieser Stelle nicht zur Verfügung, if/else-Konstrukte können verwendet werden.

6. Aktueller Benutzer


Aktueller Benutzer

Hier kann ein Datenfeld aus der Benutzerverwaltung ausgewählt werden.

7. Systemdatengruppe


Applikation

Wählen Sie hier die Applikation aus, die die gewünschte Systemdatengruppe enthält.

Datenfeld

Wählen Sie hier das Datenfeld aus.

8. Parameter


Parameter

Wählen Sie hier den gewünschten Parameter aus, dessen Fallbackwerte verwendet werden sollen. Zur Auswahl stehen alle Parameter der aktuellen Seite.

9. Datum & Zeit




Ist ein Datenfeld mit Kontrolltyp Datum & Zeit, Datum oder Zeit als Anzeigewert ausgewählt, so kann hier das Datum angepasst werden. Alle Informationen zu den Einstellungen finden Sie hier.

10. Automatische Erhöhung




Ist ein Datenfeld mit Kontrolltyp Ganzzahl ausgewählt, so kann mit dieser Option ein Zähler eingerichtet werden. Bei der Anlage eines neuen Datensatzes wird dann der zuletzt erfasste Wert automatisch um 1 erhöht. Dieser neue Wert wird als Vorgabe verwendet.

11. Baum




Diese Option steht nur für Sprünge im Element "Baum Ansicht" zur Verfügung.

Wert des aktuellen Baumknotens

Als Wert können der Primärschlüssel, die Knoten-ID, Eltern-Knoten-ID oder der Titel für den aktuellen Baumknoten ausgewählt werden. Der Wert "Knoten-ID" ist ein kommaseparierter Wert, zusammengesetzt aus dem Schlüssel, dem übergeordneten Schlüssel und der Sortierung. Der Wert "Eltern-Knoten-ID" entspricht dem übergeordneten Schlüssel. Der Wert "Titel" ist der Titel des aktuellen Knotens.

12. Termin




Diese Option ist nur bei Kalender-Plugins wählbar. Hier sind alle Daten wählbar, die in den Plugin-Eigenschaften auf dem Reiter "Allgemein" definiert sind.

13. Ressource




Diese Option ist nur bei Kalender-Plugins wählbar, wenn auf dem Reiter "Optionen" die Einstellung "Ressourcendarstellung ermöglichen" gesetzt ist. Zur Auswahl stehen die Datenfelder, die auf dem Reiter "Optionen" als Titelfeld, Sortierfeld, Gruppierungsfeld oder Bild ausgewählt sind.

Ressource

Wählen Sie hier das gewünschte Ressourcen-Datenfeld aus.

14. Aktuelle Datengruppe




Diese Option ist nur wählbar, wenn kein ReadContainer unterstützt wird, wie z.B. in Prozessen.

Datenfeld

Wählen Sie hier das gewünschte Datenfeld aus.

15. Weitere




Hier können Bindings verwendet werden, die nicht mit den übrigen Optionen im Dialog abgedeckt sind.

Weitere

Tragen Sie hier das gewünschte Binding ein.

16. Bindings

Syntax von Binding-Strings

bindingType
bindingType['guid|name']
bindingType["guid|name"]
bindingType.guid
bindingType.name
bindingType['guid|name'].guid
bindingType["guid|name"].name
bindingType['guid|name'].subtype['guid|name']
bindingType["guid|name"].subtype["guid|name"]
bindingType["guid|name"].subtype["guid|name"].name
...
Nicht alle Bindings sind in jedem Kontext verfügbar.

compatibility

Wird für die Kompatibilität zu "alten" rq_RecId-Werten, die als Parameter verwendet wurden, eingesetzt (Intrexx Version 18.03). Ggfs. nach Patchvorgang vorhanden, sollte nicht selbst geschrieben werden.
compatibility.primaryKey
compatibility.primaryKey['name']
compatibility.foreignKey
compatibility.foreignKey['name']
compatibility.primaryOrForeignKey
compatibility.primaryOrForeignKey['name']

container

Liefert den Wert eines Read- oder WriteContainers. Dieses Binding kann mit der Option Datenfeld definiert werden. Es kann auch als Wert für die Option Weitere mit der folgenden Syntax eingetragen werden:
container['GUID|NAME'].dataField['GUID|NAME']
container['GUID|NAME'].member['GUID|NAME']
container['GUID|NAME'].recordOwner (The value of record owner field)
container['GUID|NAME'].userId (The value of userid field)
container['GUID|NAME'].key (The value of the single primary key)
container['GUID|NAME'].primaryKey (The value of the single primary key)
container['GUID|NAME'].key['GUID|NAME'] (The value of the primary key with the GUID or name)
container['GUID|NAME'].primaryKey['GUID|NAME'] (The value of the primary key with the GUID or name)
container['GUID|NAME'].foreignKey['GUID|NAME'] (The value of the foreign key with the GUID or name)
container['GUID|NAME'].foreignKey (The value of the single foreign key)
container['GUID|NAME'].combinedKey (The value of the single primary key or a formated Key string like "LID= 1, LANG= de")
container['GUID|NAME'].combinedPrimaryKey (The value of the single primary key or a formated Key string like "LID= 1, LANG= de")
container['GUID|NAME'].combinedForeignKey (The value of the single foreign key or a formated Key string like "LID= 1, LANG= de")

control

Liefert den Wert einer Kontrolle. Dieses Binding kann als Wert der Option Weitere mit der folgenden Syntax eingetragen werden:
control['GUID']
control['NAME']
control.guid['CONTROLGUID']
control.name['CONTROLNAME']
control.sysIdent['SYSIDENT']

currentDate

Liefert das aktuelle Datum ohne Uhrzeit.
currentDate
currentDate[Y,M,D]
currentDate[+1,2,-3] Adjust current date: Year +1, month = 2, day -3
Y=(|[+-]?\d+)
M=(|[+-]?\d+)
D=(|[+-]?\d+)
-> Rules definition: See p_adjust in de.uplanet.util.CalendarUtil.modifyCalendar(T, String p_adjust, boolean)

currentDateTime

Liefert das aktuelle Datum mit Uhrzeit.
currentDateTime
currentDateTime.%TIMEZONE%
currentDateTime[Y,M,D,H,m,S]
currentDateTime[+1,2,-3,2, +2, 0] Adjust current date: Year +1, month = 2, day -3, hour=3,min+2,sec=0
Y=(|[+-]?\d+)
M=(|[+-]?\d+)
D=(|[+-]?\d+)
H=(|[+-]?\d+)
m=(|[+-]?\d+)
S=(|[+-]?\d+)
-> Rules definition: See p_adjust in de.uplanet.util.CalendarUtil.modifyCalendar(T, String p_adjust, boolean)
currentDateTime[Y,M,D,H,m,S].%TIMEZONE%
%TIMEZONE% muss dabei eine gültige Zeitzonen-ID (wie z.B. UTC) sein.

currentTime

Liefert die aktuelle Uhrzeit.
currentTime
currentTime[H,m,S]
currentTime[+1,2,-3] Adjust current date: Hour +1, minute = 2, second -3
H=(|[+-]?\d+)
m=(|[+-]?\d+)
S=(|[+-]?\d+)
-> Rules definition: See p_adjust in de.uplanet.util.CalendarUtil.modifyCalendar(T, String p_adjust, boolean)

currentUser

Liefert den aktuellen Benutzer.
currentUser[FIELDGUID|NAME]
Ersetzen Sie "NAME" mit dem Bean name.

recId

Liefert einen Wert von "alten" rq_RecId oder qs_RecId-Argumenten mit dem Format: "LID= 1; LANG= de" (Intrexx Version 18.03). Dieses Binding wird aus Kompatibilitätsgründen verwendet und sollte nicht selbst geschrieben werden.
recId['LID'](gets the LID value out of the rec id string )
recId['LANG'](gets the LANG value out of the rec id string )

request

Dieses Binding kann mit der Option Request definiert werden. Es kann auch als Wert für die Option Weitere mit der folgenden Syntax eingetragen werden:
request['name']

sharedState

Dieses Binding kann mit der Option Verarbeitungskontext definiert werden. Es kann auch als Wert für die Option Weitere mit der folgenden Syntax eingetragen werden:
sharedState['name']

session

Dieses Binding kann mit der Option Session definiert werden. Es kann auch als Wert für die Option Weitere mit der folgenden Syntax eingetragen werden:
session['variable name']

staticText

Liefert statischen Text.
staticText['TEXT'] => TEXT will be returned

systemDataGroup

Liefert den Wert eines Datenfeldes aus einer Systemdatengruppe aus der aktuellen oder einer bestimmten Applikation.
systemDataGroup['APP_GUID'].dataField['FIELD_GUID']

target.argument, parameter

Liefert einen Parameterwert. target.argument[''] kann mit der Option Parameter definiert werden. Wird ein Binding selbst mit der Option Weitere erstellt, wird in der Regel eher "parameter['']" verwendet, da diese Schreibweise intuitiver ist und das Schlüsselwort "parameter" auch im Velocity- und Groovyumfeld verwendet wird.
parameter['NAME']
target.argument['NAME']

velocity

Liefert den Velocity-Text des Bindings. Es wird dabei versucht, den Text zu interpretieren. Dieses Binding kann als Wert der Option Velocity mit der folgenden Syntax eingetragen werden:
velocity['TEXT'] => The interpreted velocity TEXT will returned

17. Wert auflösen


Zeitpunkt zum Auflösen des Wertes

Falls möglich, kann hier der Zeitpunkt zum Auflösen des Wertes beim Laden der aktuellen Seite oder beim Laden der Zielseite konfiguriert werden.

18. Weitere Informationen

Parameter - eine Übersicht
Parameter, Fallback- und semantische Werte erstellen