Vielen Dank für euren Input :).
Ohne das jetzt gelesen zu haben, habe ich mir heute auch nochmal gedanken gemacht und kam auf eine ähnliche Idee wie Andreas.
Quasi eine DB-Tabelle (ggf über JobData) und dort die Werte eintragen mit den gewissen Fremdschlüsseln und per SQL rausziehen.
Da probiere ich mich mal.
Ich danke euch schon mal :).
Das sollte sich mit zwei SQL Listen in der Untertabellenansicht lösen lassen. Die SQL Liste in Spalte B referenziert die Liste in Spalte A.
Hierfür gibt es in der JobRouter Javascript API jr_subtable_refresh
um die SQL Liste in Abhängigkeit neu zu berechnen. Hier ist auch ein gutes Beispiel wie man die beiden Felder miteinander verknüpft.
Siehe hier
SQL-Aufbau
Die Inhalte der SQL-Elemente ergeben sich aus dem gespeicherten SQL. Hier kann auf vorhandene Felder der Prozesstabelle zurückgegriffen werden.
SELECT DISTINCT mimetype FROM JRFILES WHERE mimetype LIKE '%[mySubtableViewName_myColumnName1]%'
Sofern man sich auf eine Spalte aus einer Untertabellenansicht in einem SQL beziehen möchte, ist generell folgende Schreibweise erforderlich:
[<subtableViewName>_<columnName>]
Hallo Chris,
wie Timo schon schrieb, stehen auch die im Prozess angelegten Listen in der DB (wo genau, siehe Timos Eintrag und das Handbuch). Es ist möglich, über JobRouter Dialogfunktionen, die per Event Listener gecallt werden, solche dynamischen Anpassungen (notfalls per DOM-Manipulation über JavaScript) vorzunehmen.
Vorgehen:
- Event Listener OnChange auf Spalte 1
- der callt eine Dialogfunktion, die die Daten aus der DB abfragt und zurück gibt
- diese baust du dann per JS in als -Tag in die Drop-Down ein (jQuery ist da nützlich)
Ich hoffe dies hilft, bei Rückfragen bitte gerne melden.
VG Jan
Edit: Dies ist natürlich am Standard vorbei und die Versionssicherheit ist nicht gewährleistet (erfahrungsmäßig aber gut).
Auch diese Listen liegen in Datenbanktabellen. Du könntest mit den Tabellen JRLISTDATA und JRPROCESSTRANSLATIONS (tranlation_type = 'listentries'; wird für die Bezeichnungen benötigt) die Liste per SQL aus der Datenbank laden und dann hier mit einer WHERE-Bedingung die Filterung vornehmen.
In der WHERE-Bedingung musst du die referenzierte Spalte wie folgt angeben [SUBVIEWNAME_COLUMNNAME]. Falls man das hier durch die Formatierung nicht gut erkennt: Die Namen der Subview und des Dialogelements darin sind mit einem Unterstrich getrennt.
Wenn es jetzt eine Auswahl in der ersten Liste gibt, kannst du einen SQL-Refresh auf die zweite Spalte mit SQL-Liste machen.
Geht es bei deiner Frage um SQL-Listen oder die im Prozess definierten Listen? Für die Erstgenannten geht dies in jedem Fall. Bei "normalen" Listen weiß ich das leider nicht.