Aller au contenu principal

FS_INDEX, Abfrage im Ausgabekanal leer

Commentaires

11 commentaires

  • Zendesk API User
    Author: StefanSchulz - 10/29/2018 7:32

    Hallo Andreas,

    bei der Ausgabe werden die Regeln nicht ausgewertet, entsprechend verbleibt die query.id auf -1 und jeder Zugriff auf die Daten liefert kein Ergebnis.

    Besser ist hier, dass bei nicht gesetztem Parameter immer Zugriff auf alle Daten möglich ist. Um deinen Auswahleffekt zu erreichen, könntest du mit einer zweiten Regel dafür sorgen, dass bei leerem Filter -1 als Parameterwert gesetzt wird. Dies sollte deine Anforderung umsetzen.

    Beste Grüße

    Stefan

    0
  • Zendesk API User
    Author: ASpengler - 10/29/2018 12:50

    Hallo,

    viele Dank für die Antwort. Klingt auch sehr plausibel. Hat aber in der Praxis leider keine Änderung gebracht.

    Ich habe die Param-Zeile jetzt heraus genommen. Und in der Tat, solange man das Dropdown-Menü nicht anfasst und den Param dadurch verändert, funktioniert es. Sobald man jedoch, den Param mittels Dropdown anpasst, sind die Ergebnisse weiterhin leer. Gibt es noch Ideen? Auffällig ist auch, dass ich, wenn ich per Combobox die Auswahl eingrenzt habe und danach die Combobox zurücksetze, die Auswahl begrenzt bleibt. Wie kann ich den Parameter zurücksetzten...das wäre vielleicht noch was für ein ON_SAVE Event.

    Ich poste mal zusätzlich noch den Code für Formular, und Filter.

    Formulare:

      <CMS_INPUT_COMBOBOX name="st_filter" allowEmpty="yes" hFill="yes" useLanguages="no">

        <CMS_INCLUDE_CONTENT type="entries" table="Checkliste_fuer_Aussteller.veranstaltung">

          <LABEL lang="*">#row.getValue("Name")</LABEL>

        </CMS_INCLUDE_CONTENT>

      </CMS_INPUT_COMBOBOX>

      <FS_INDEX name="st_checklist">

        <SOURCE name="DatasetDataAccessPlugin">

          <QUERY name="Checkliste.termine_nach_id"/>

          <TEMPLATE uid="Checkliste.termine"/>

        </SOURCE>

      </FS_INDEX>

    Filter termine_nach_id:

    <QUERY entityType="Termine">

        <FILTERPARAM parameter="id" datatype="java.lang.Integer" value="1984"/>

        <EQ attribute="termin.fs_id" parameter="id"/>

    </QUERY>

    Danke und Grüße,

    Andreas

    0
  • Zendesk API User
    Author: StefanSchulz - 10/29/2018 13:15

    Hi Andreas,

    bin jetzt nicht ganz sicher, ob ich deine Umsetzung verstehe. Deine Query oben schränkt ja initial immer auf 1984 ein, sind denn dann alle Datensätze sichtbar?

    "wenn ich per Combobox die Auswahl eingrenzt habe und danach die Combobox zurücksetze, die Auswahl begrenzt bleibt. Wie kann ich den Parameter zurücksetzten."

    Das liegt an dem IF in deiner Regel, würde ich mal vermuten. Denn die wird ja nur ausgeführt, wenn die Combobox nicht leer ist.

    Beste Grüße

    Stefan

    0
  • Zendesk API User
    Author: ASpengler - 10/29/2018 14:27

    Ja, da bin ich auch schon drüber gestolpert, aber bevor ich eine Auswahl treffe werden in der Tat alle Datensätze angezeigt.

    Ich wüßte jetzt aber auch nicht wie man den Filter so schreibt, dass er zwar eine ID als Parameter entgegennimmt, aber trotzdem alle Datensätze anzeigt, wenn kein Parameter gesetzt ist.

    0
  • Zendesk API User
    Author: StefanSchulz - 10/30/2018 10:17

    Hi Andreas,

    ja, da hast du vermutlich Recht bzgl. Filter mit optionalem Parameter. Ich frage da noch bei jemandem nach, aber bei Zahlenwerten könnte es sein, dass es nicht geht. Wäre es eine Textspalte, könnte man wohl einfach einen % reinschreiben.

    Beste Grüße

    Stefan

    0
  • Zendesk API User
    Author: StefanSchulz - 11/9/2018 8:06

    Hallo Andreas,

    hat ein wenig gedauert, aber deine Einschätzung hat sich bestätigt. Optional filtern geht hier nicht.

    Einen Workaround könnte man über eine versteckte Komponente ermöglichen, die dann als eigentlicher Werteträger für die Ausgabe etc. dient. Wäre dann eine Schatten-FS_INDEX-Komponente ohne Query-Einschränkung, die jeweils eine Kopie der Auswahlkomponente erhält (z. B. zum Zeitpunkt des Speicherns).

    Beste Grüße

    Stefan

    0
  • Zendesk API User
    Author: StefanSchulz - 11/9/2018 12:05

    Hallo,

    ein Kollege hatte gerade noch eine Lösungsidee, die sich umsetzen lässt, wenn du eine neue Spalte im Datenbankschema definieren kannst. Dann könnte man eine quasi-bedingte Abfrage basteln.

    Vorgehen:

    • Neue Spalte, die für alle Datensätze auf 0 gesetzt ist.
    • Zweiter Parameter auf die neue Spalte in der Query mit Default 0.
    • Beide Parameter per Oder verknüpfen.
    • Zweite Regel schreiben, die zusätzlich zum ersten Parameter den zweiten Parameter auf 1 setzt.

    In der UI greift dann immer der erste Parameter. Bei der Ausgabe greift dann der zweite Parameter des Oders und alle Daten sind erreichbar.

    Beste Grüße

    Stefan

    0
  • Zendesk API User
    Author: mbergmann - 11/9/2018 12:44

    Hallo Andreas,

    vielleicht geht es sogar noch etwas einfacher (ohne neue Spalte sondern man nimmt einfach die FS_ID):

    Grundansatz ist derselbe, also ein zweiter Parameter (also eine zweite Bedingung, die mit der "eigentlichen" per ODER verknüpft ist). Bedingung wäre

    fs_id < DUMMY_PARAM. Initial setzt man den Dummy-Param auf den Maximalwert so dass er alle Werte liefert. Über die Regel im Formular setzt man ihn dann auf 0 oder auch den Minimalwert, so dass da dann nur noch der "eigentliche" Filterparameter greift.

    Viele Grüße

    Michael

    0
  • Zendesk API User
    Author: MichaelaReydt - 11/29/2018 10:38

    Hallo Andreas,

    benötigst Du noch weitere Hilfe oder haben Dir Michaels und Stefans Antworten bereits geholfen? In diesem Fall wäre es super, wenn Du die "richtige Antwort" entsprechend markierst.

    Viele Grüße

    Michaela

    0
  • Zendesk API User
    Author: ASpengler - 12/4/2018 7:42

    Hallo,

    ich hatte leider projektbegründet noch keine Zeit die Ansätze zu testen. Sobald ich dazu komme, werde ich mich hier nochmal melden.

    Grüße,

    Andreas

    0
  • Zendesk API User
    Author: kohlbrecher - 1/4/2019 13:21

    Hallo Andreas,

    hattest du inzwischen Zeit die Ansätze zu testen?

    Grüße

    Jan

    0

Vous devez vous connecter pour laisser un commentaire.