| Auszug | ||
|---|---|---|
| ||
Nuclos Valuelist Provider (VLP): abhängige Comboboxen, Datenquelle, Layoutregel Werteliste aktualisieren, Status/Process/Parameters, $username/$mandator. |
Sprache: Deutsch · English
Abhängige Auswahllisten in Comboboxen – z.B. nur die Ansprechpartner des gewählten Kunden.
| Status | ||||
|---|---|---|---|---|
|
| Status | ||||
|---|---|---|---|---|
|
| Status | ||||
|---|---|---|---|---|
|
| Status | ||||
|---|---|---|---|---|
|
| Panel | ||||
|---|---|---|---|---|
| ||||
Auf dieser Seite
|
...
|
Ein Valuelist Provider (VLP) schränkt die Auswahl in einer Combobox/List-of
...
Fallbeispiel: Ansprechpartner je Kunde
In den Stammdaten einer Anwendung gibt es Ansprechpartner, die bestimmten Kunden zugeordnet sind.
Im Auftrag wird nun ein Kunde ausgewählt. Danach soll der Ansprechpartner des Kunden ausgewählt werden. Dabei sollen in der Combobox für die Auswahl des Ansprechpartners nur Ansprechpartner auswählbar sein, die auch zu diesem Kunden gehören.
-Values dynamisch ein – abhängig von einem anderen ausgewählten Wert. Typische Fälle: nur die Ansprechpartner eines gewählten Kunden anzeigen oder nur die Räume eines gewählten Gebäudes.
Fallbeispiel: Ansprechpartner je Kunde.
Menüaufruf: Administration → Datenquellen → Valuelist Provider. Definiere einen Übergabeparameter (z.B. intid_kunde), der die interne ID des auslösenden Datensatzes übermittelt.
| Tipp | ||
|---|---|---|
| ||
Heißt der Parameter |
Datenquelle des Valuelist Providers.
Im Layouteditor hängst du den Valuelist Provider über die Palette an das Zielfeld (hier: Ansprechpartner). Optional lässt sich ein Default-Flag nutzen, um beim Durchlaufen automatisch einen Standardwert (z.B. die Standardadresse) vorzuwählen.
Valuelist Provider im Layout.
Menüaufruf: (Administration) - (Datenquellen) - (Valuelist Provider)
...
| Tipp |
|---|
Wenn dieser Übergabeparameter intid heißt, dann übernimmt Nuclos hier automatisch die intid des Hauptdatensatzes (hier wäre das die des Kunden). |
Folgende Spaltendefinitionen können unterschieden werden
-> Valuelist Provider im Layout einfügen.
Im Layout wird der Valuelist Provider über die Palette(linke Seite siehe Mauszeiger) an des gewünscht Feld, in diesem Fall Ansprechpartner, gehängt.
Default (optional)
Wenn in der Datenquelle des Valuelist Provider ein Standardflag gesetzt wurde (z.B. Standardadresse), so kann das hier angegeben werden.
Ein Ja/Nein Feld mit dem Bestimmte Datensätze als Standard gekennzeichnet werden. Im Layout kann dies Verwendet werden um beim Durchsuchen der Liste automatisch einen Standard wie z.B. die Standardadresse auswählen zu lassen.
...
...
Definiere auf dem Ausgangsfeld
...
(hier Kunde)
...
eine Layoutregel:
| Feld | Wert |
|---|---|
| Ereignis |
...
| Wenn Wert sich ändert | |
| Aktionstyp |
...
| Werteliste aktualisieren | |
| Businessobjekt |
...
| BO der Zielkomponente (nur bei Unterformular; sonst leer) | |
| Zielkomponente | Combobox, deren Werte aktualisiert werden |
| Parameter | Parametername aus der Datenquelle |
Layoutregel „Werteliste aktualisieren“.
NuclosProcess).showValue).| Info | ||
|---|---|---|
| ||
Systemparameter in Bedingung/SQL: |
Um für ein Text-Attribut eine feste Werteliste anzubieten (ohne Referenz, z.B. für „Anrede“), wähle im Layouteditor eine Combobox mit Haken Zeige alle Attribute, hinterlege einen VLP (ID-Feld leer lassen). Mit Werteliste editierbar dürfen Nutzer auch eigene Werte eintragen.
Combobox mit Valuelist Provider für ein Text-Attribut.
Zielkomponente: Feld (Combobox), dessen Werte aktualisiert werden sollen.
Parameter: Parametername, der in der Datenquelle definiert wurde als Bedingung definiert wurde.
Dieser ValuelistProvider wird verwendet, um die Werteliste (Attribut für Status) des Statusfeldes auf bestimmte Businessobjekte einzugrenzen.
| Tipp | ||
|---|---|---|
| ||
$username kann in Bedingung oder Ihrem SQL Quelltext verwendet werden und gibt den aktuell angemeldeten Benutzer aus z.B. 'nuclos' $mandator gibt die UID des aktuellen Mandanten, welchen der Benutzer ausgewählt hat, aus, z.B. 'UFJNBNUH4UpFqcDEDzt0' $locale gibt die Datensprache der Session des aktuell angemeldeten Benutzers aus, z.B. 'de_DE'. $searchmode (boolean) wird vom System auf true gesetzt, wenn sich der VLP in einer Suchmaske befindet, ansonsten false. Der Parameter muss in der Abfrage in Hochkommata gesetzt werden, also '$searchmode'. Die Parameter können erst verwendet werden, wenn sie im VLP unter Parameter deklariert worden sind |
Eigenschaften der Komponente bearbeiten:
| Parameter Name | Parameter Value |
|---|---|
| Businessobjekte | Name der Businessobjekt(interner Name) |
Dieser ValuelistProvider wird verwendet, um die Werteliste (Attribut für Aktion) des Aktionsfeldes auf bestimmte Businessobjekten einzugrenzen.
Dies funktioniert nur auf dem Feld 'NuclosProcess'
Eigenschaften der Komponente bearbeiten:
In Spaltendefinitioinen von Unterformulardaten lassen sich mit diesem ValuelistProvider Wertelisten hinterlegen.
Ergebnis:
Um der Nutzerin eine definierte Menge von möglichen Werten für ein Attribut vom Typ "Text" zu ermöglichen (und wenn eine Referenz ausdrücklich nicht gewünscht ist [bspw für Feld "Anrede"]), bietet der Layouteditor die Möglichkeit eine Combobox-Komponente mit einem Valuelist Provider für dieses Attribut auszuwählen.
Dafür müssen zunächst bei der Auswahl des Attributs der Combobox-Komponente der Haken "Zeige alle Attribute" gesetzt werden und dann das gewünschte Text-Attribut ausgewählt werden:
Daraufhin muss ein Valuelist Provider für die Komponente hinterlegt werden. Dabei darf das ID Feld nicht gesetzt sein:
Die Werte aus der Liste können dann wie gewohnt bei der Bearbeitung des Datensatzes ausgewählt werden
Wenn dem Nutzer zusätzlich die Möglichkeit gegeben werden soll nicht vordefinierte Werte in das Feld einzutragen, muss im Layouteditor die Eigenschaft "Werteliste editierbar" der Combobox-Komponente angehakt werden:
Somit kann nun ein beliebiger Wert in das Feld geschrieben werden: