Eigenen Valuelist Provider definieren

Manchmal benötigt man in Auswahlfeldern (Combobox) nur eine bestimmte Menge aller Daten, die zur Auswahl angeboten werden sollen. Diese sollen sich dann abhängig eines anderen ausgewählten Wertes zusammensetzen.

Anwendungsbeispiele:

Dieses Verhalten kann in Nuclos mit Hilfe von Datenquellen realisisert werden.

Fallbeispiel: Artikel eines Lieferanten

In den Stammdaten einer Anwendung gibt es Lieferanten, die eine bestimmte Produktpalette im Angebot haben. Diese Produktpalette ist in einem Unterformular des Lieferanten organisiert.

Valuelistprovider 1.gif

In der Bestellung wird nun ein Lieferant ausgewählt. Im Unterformular der Bestellung sollen dann die bestellten Artikelpositionen eingetragen werden können. Dabei sollen in der Combobox für die Auswahl des Artikels nur Artikel auswählbar sein, die auch zu diesem Lieferanten gehören.

Valuelistprovider 2.gif

Um das zu realisieren, gehen Sie folgendermassen vor:

[Bearbeiten] Schritt 1: Definition der Datenquelle

Menüaufruf: (Administration) - (Datenquellen) - (Valuelist Provider)

In einer neuen Datenquelle (ValuelistProvider) wird das Statement erzeugt, dass die Daten für den Valuelist Provider zur Verfügung stellt. Dabei werden folgende Spaltendefinitionen benötigt (im Screenshot von Links nach Rechts):

Diese Einstellungen ergeben dann folgende Datenquelle:

Valuelistprovider 3.gif

[Bearbeiten] Schritt 2: Layouteditor -> Valuelist Provider im Zielfeld einrichten

In den Eigenschaften des Zielfeldes (im Beispiel das Feld Artikel) müssen Sie nun folgende Einstellungen vornehmen:

40px Achtung: Stellen Sie das Layout auf Expertenmodus um den Valuelist Provider eintragen zu können.

Im Beispiel sieht das dann so aus:

Valuelistprovider 4.gif

[Bearbeiten] Schritt 3: Layoutregel anlegen

Definieren Sie nun auf dem Ausgangsfeld eine Regel:

Ereignis: Wenn Wert sich ändert

Aktionstyp: Werteliste aktualisieren

Entität: Entiät der Zielkomponente, falls es sich um ein Unterformular handelt. Wenn sich das Zielfeld in der gleichen Entität befindet, bleibt dieses Feld leer.

Zielkomponente: Feld (Combobox), dessen Werte aktualisiert werden sollen.

Parameter: Parametername, der in der Datenquelle definiert wurde als Bedingung definiert wurde.

Im Beispiel sieht diese Einstellung so aus:

Valuelistprovider 5.gif

Nun haben Sie die Werte in der Combobox entsprechend eingeschränkt.

[Bearbeiten] Vordefinierte Valuelist Provider

[Bearbeiten] status

Dieser ValuelistProvider wird verwendet, um die Werteliste (Attribut für Status) des Statusfeldes auf bestimmte Entitäten einzugrenzen.

Valuelistprovider 6.gif

Eigenschaften der Komponente bearbeiten:

Parameter NameParameter Value
entitätenName der Entität(interner Name)

[Bearbeiten] process

Dieser ValuelistProvider wird verwendet, um die Werteliste (Attribut für Aktion) des Aktionsfeldes auf bestimmte Entiäten einzugrenzen.

Valuelistprovider 9.gif

Eigenschaften der Komponente bearbeiten:

Parameter NameParameter Value
entitätenName der Entität (interner Name)

[Bearbeiten] parameters

In Spaltendefinitioinen von Unterformulardaten lassen sich mit diesem ValuelistProvider Wertelisten hinterlegen.

Valuelistprovider 7.gif

Parameter NameParameter Value
showValueWert, der angezeigt werden soll

 

Ergebnis:

Valuelistprovider 8.gif