Hallo FirstSpirit Community,
die Frage ist: gibt es in FirstSpirit die Möglichkeit Daten aus dem Systemobjekt in einer Abfrage innerhalb von CMS_INCLUDE_OPTIONS als den Parameterwert zu setzen?
Und zwar: in einer Tabellenvorlage im CMS_INPUT_LIST Feld sollen Datensätze der Datenquelle dargestellt werden, welche auch über diese Vorlage angelegt werden, ausser den aktuellen Datensatz, also der aktuelle Datensatz soll ausgeschlossen sein. Das Feld dient zur Pflege der Parent-Child Relation zwischen Datensätzen der selben Datenquelle. Mittels der Abfrage soll die Möglichkeit, die Verknüpfung "auf sich selbst" zu setzen, vermieden werden. Auf welche Art und Weise kann auf das Systemobjekt des aktuellen Datensatzes innerhalb des Formulars zugegriffen werden?
Hier die Query:
<QUERY entityType="Foobar">
<FILTERPARAM parameter="paramId" datatype="java.lang.Integer"/>
<NEQ attribute="fs_id" parameter="paramId"/>
</QUERY>
Hier das Formular Feld:
<CMS_INPUT_LIST name="tt_children_list" allowEmpty="yes" hFill="no" noBreak="no" sortOrder="ascending" useLanguages="no">
<CMS_INCLUDE_OPTIONS type="database">
<LABELS>
<LABEL lang="*">#item.name</LABEL>
</LABELS>
<QUERY name="db_schema.query_all_except_this">
<PARAM name="paramId">#row.getId()</PARAM>
</QUERY>
<TABLE>db_schema.foobar</TABLE>
</CMS_INCLUDE_OPTIONS>
<LANGINFOS>
<LANGINFO lang="*" label="Label"/>
</LANGINFOS>
</CMS_INPUT_LIST>
Über #row.getId() geht das nicht, kommt Fehlermeldung, dass der Parameter nicht gesetzt ist. Geht das über ein anderes Objekt wie z.b. #this.id oder #global.id oder #cs.dataset.entity.fs_id oder was anderes und ob überhaupt?
Eine ähnliche Frage hier in der Community gefunden: Re: CMS_INCLUDE_OPTIONS (Database) mit Query
Da steht als Antwort, dass es nicht möglich ist, aber die Frage wurde im Jahr 2014 gestellt, gibt es eventuell bereits eine Lösung dafür?
Und wenn es immer noch nicht über ein Systemobjekt innerhalb der Abfrage geht, dann auf welche andere Art und Weise können wir das oben beschriebene Problem "Relation auf sich selbst" umgehen? Rules? Kann man da auf die ID des aktuellen Datensätzes zugreifen? Oder gibt es vielleicht eine ganz andere Alternative?