Dynamische Befüllung eines Querys über eine Regel
Author: ampersand83
Publication Date: 2/27/2013 14:22
Hallo,
ist es auf irgendeine Weise möglich analog zum Beispiel "Dynamische Werte mithilfe einer Datenbank-Abfrage setzen (Query)" mit einer Regel die Werte eines Queries in einer FS-List zu setzen?
Konkreter Anwendungsfall ist folgender. Einer Entität Typ können beliebig viele Kategorie Entitäten zugeordnet werden. Einer dritten Entität Point of Interest kann wiederum jeweils ein bestimmter Typ und mehrere Kategorien zugeordnet werden.
Im Formular der Entität Point of Interest kann nun über eine FS-Dataset Komponente ein Typ ausgewählt werden. Mit Hilfe einer FS-List können mehrere Kategorien zugeordnet werden. Über eine Regel wie im Beispiel "Stellvertreter ermitteln (Regeln und Datenbank-Abfragen)" mit einer Combobox gezeigt wollte ich jetzt dem Redakteur abhängig vom gewählten Typ nur erlauben bestimmte Kategorien zuzuordnen.
| <ON_EVENT> | |||
| <IF> | |||
| <PROPERTY source="cs_poi_categories" name="FOCUS"/> | |||
| </IF> | |||
| <WITH> | |||
| <PROPERTY source="cs_poi_type" name="VALUE"/> | |||
| </WITH> | |||
| <DO> | |||
| <PROPERTY source="cs_poi_categories" name="query.type_id"/> | |||
| </DO> |
</ON_EVENT>
</RULES>
cs_poi_categories ist dabei die FS_LIST Komponente und cs_poi_type die FS_DATASET Komponente.
Ich hoffe mein Anliegen ist halbwegs verständlich und es kann mir jemand helfen.
Gruß,
Stefan
Tags: dynamic_form
-
Author: ampersand83 - 3/1/2013 11:12
Hatte denn noch keiner etwas ähnliches umsetzen wollen?
0 -
Author: StefanSchulz - 3/1/2013 12:17
Hi,
die FS_LIST Komponente unterstützt aktuell keine Query-Manipulation.
Vielleicht eine Feature-Anfrage wert.
Gruß
Stefan
0 -
Author: lewandowskil - 11/22/2013 13:45
Hi,
ich habe ein ähnliches Problem. Allerdings verwende ich in dem Formular zwei Comboboxen wie im "Supplier"-Beispiel.
Ich habe zwei Datenquellen (Ober- und Unterkategorien - > N:M Beziehung über FS_LIST), welche ich dynamisch darstellen möchte.
Allerdings werden Unterkategorien (meine untere Combobox) immer leer dargestellt.
Comboboxen:
<CMS_INPUT_COMBOBOX name="meta_research_topic">
<CMS_INCLUDE_OPTIONS type="database">
<LABELS>
<LABEL lang="*">#item.topic</LABEL>
</LABELS>
<TABLE>research_topic</TABLE>
</CMS_INCLUDE_OPTIONS>
<LANGINFOS>
<LANGINFO lang="*" label="Research Topic"/>
<LANGINFO lang="DE" label="Thema"/>
</LANGINFOS>
</CMS_INPUT_COMBOBOX>
<CMS_INPUT_COMBOBOX name="meta_research_subtopic">
<CMS_INCLUDE_OPTIONS type="database">
<LABELS>
<LABEL lang="*">#item.subtopic</LABEL>
</LABELS>
<QUERY name="research_subtopics_by_topic"/>
<TABLE>research_subtopic</TABLE>
</CMS_INCLUDE_OPTIONS>
<LANGINFOS>
<LANGINFO lang="*" label="Research Subtopic"/>
<LANGINFO lang="DE" label="Unterthema"/>
</LANGINFOS>
</CMS_INPUT_COMBOBOX>
Die Regel dazu:
<ON_EVENT>
<IF>
<PROPERTY source="meta_research_subtopic" name="FOCUS"/>
</IF>
<WITH>
<PROPERTY source="meta_research_topic" name="VALUE"/>
</WITH>
<DO>
<PROPERTY source="meta_research_subtopic" name="query.topic_id"/>
</DO>
</ON_EVENT>
Query:
<QUERY entityType="research_subtopic">
<FILTERPARAM parameter="topic_id" datatype="java.lang.Integer" value="-1"/>
<EQ attribute="research_topicList.fs_id" parameter="topic_id"/>
</QUERY>
Hab ihr eine Idee?
Grüße
Lukas
0 -
Author: StefanSchulz - 11/22/2013 14:03
Hi Lukas,
mit ein Grund wird sein, dass folgender Code
<PROPERTY source="meta_research_topic" name="VALUE"/>
keine ID liefert, sondern ein Option-Objekt. Über diesen Weg ist keine Suche nach der fs_id möglich.
Abhilfe könnte eventuell die Eigenschaft ENTRY statt VALUE bringen, die den Schlüsselwert ausliefert (was jedoch nicht unbedingt mit der fs_id übereinstimmen muss, je nach Include-Definition).
Gruß
Stefan
0 -
Author: Karsten - 3/14/2014 11:55
Das ist eine wichtige Information, denn ich breche mir hier schon lange einen an der unklaren Dokumentation ab, wo es lapidar heißt:
"Der ermittelte Wert aus der Combobox „st_supplier“ dient dabei als Schlüssel."
Wie diese Combobox angelegt wurde bleibt im Dunkeln ...
Könnten Sie hier bitte nochmal detailierter beschreiben, wie man dynamische Forms mit Queries verwendet, und wie die Eingabekomponenten konfiguriert sein müssen, damit es funktioniert?
Danke
Übrigens weicht die Doku zwischen DE und EN ab:
EN
<RULES>
<ON_EVENT>
<IF>
<PROPERTY source="st_dish" name="FOCUS"/>
</IF>
<WITH>
<PROPERTY source="st_supplier" name="VALUE"/>
</WITH>
<DO>
<PROPERTY source="st_dish" name="supplier_id"/>
</DO>
</ON_EVENT>
</RULES>
DE
<RULES>
<ON_EVENT>
<IF>
<PROPERTY source="st_dish" name="FOCUS"/>
</IF>
<WITH>
<PROPERTY source="st_supplier" name="VALUE"/>
</WITH>
<DO>
<PROPERTY source="st_dish" name="query.supplier_id"/>
</DO>
</ON_EVENT>
</RULES>
0 -
Author: Karsten - 3/17/2014 12:22
Hallo?
0 -
Author: StefanSchulz - 3/17/2014 12:59
Hallo ... :smileyhappy:
Da gab es wohl keine Benachrichtigung zum Beitrag. :smileysad:
In der Dokumentation ist ein Beispielprojekt hinterlegt, mit Hilfe dessen man sich verschiedene Szenarien am lebenden Beispiel anschauen kann. Grundsätzlich muss für obiges Szenario die Combobox über die Include-Option an eine Query angebunden werden (siehe oben), deren Variablen man dann wie oben gezeigt beeinflussen kann. Im Übrigen ist die deutschsprachige Variante mit Präfix query korrekt.
Beste Grüße
Stefan
0 -
Author: Karsten - 3/17/2014 13:31
Danke. Wo finde ich das Beispielprojekt? Oder meinen Sie Mitras Energy? Dort habe ich keine solche Regel gefunden.
0 -
Author: StefanSchulz - 3/17/2014 14:12
Das Beispielprojekt ist auf der Einführungsseite zum Thema Regeln unten verlinkt.
http://www.e-spirit.com/odfs50/de/vorlagenentwicklung/regeln/einfuehrung.html?community
Beste Grüße
Stefan
0 -
Author: CNoetzel - 3/15/2017 12:49
Mit der Version 5.2.312.72667 hat die FS_LIST nun die Eigenschaft Query. Anscheinend kann man die Query aber nicht mit Rules Filtern ist das korrekt?!
0
Vous devez vous connecter pour laisser un commentaire.
Commentaires
10 commentaires