Wonach suchst Du?
What are you looking for?

Wie lege ich benutzerdefinierte Filter an?

Überblick

In dieser Anleitung lernst Du, wie Du für ein Fenster Deiner Wahl einen benutzerdefinierten Filter erstellen kannst. Grundsätzlich kannst Du allgemeine SQL-Operatoren verwenden, wie z.B. den LIKE-Operator. Jedoch benötigst Du ebenfalls das Feldtrennzeichen (<^>) oder das Segmenttrennzeichen (<~>), um Deine Abfrage zu beschreiben.

Beispiel:
Möchtest Du eine Benutzerabfrage erstellen, die nach allen Rechnungskandidaten mit "Nach Lieferung (D)" als Zeitpunkt für die Rechnungsstellung filtert, würde der reine SQL-Code mit dem LIKE-Operator wie folgt aussehen: InvoiceRule LIKE 'D'.

In dieser Schreibweise wird es aber nicht funktionieren, da das System so nicht weiß, wie es die SQL parsen soll. Die korrekte Schreibweise wäre also: <^>InvoiceRule<^> LIKE <^>D<^>.

Beachte die Leerzeichen vor und nach dem LIKE-Operator. Diese sind unerlässlich!

Beachte ebenfalls das <^>-Zeichen. Dieses ist das Feldtrennzeichen. Es markiert das Suchfeld, den Operator und den Wert.
Bei der Abfrage mehrerer Begriffe kommt das Segmenttrennzeichen zur Anwendung, das wie folgt aussieht: <~>.

Beispiel:
Angenommen, Du wolltest sowohl nach Rechnungskandidaten mit "Nach Lieferung (D)" als Zeitpunkt für die Rechnungsstellung filtern als auch nach einem bestimmten Partner, dann würde die Abfrage wie folgt aussehen:
AND<^>InvoiceRule<^> LIKE <^>D<^><~>AND<^>Bill_BPartner_ID<^>=<^>2156423<^>.


Wichtig!
Der Name der Spalte muss derselbe sein wie der in AD_Column.ColumnName.

Schritte

Anwendungsbeispiel: Angenommen, Du wolltest einen Filter für das Fenster “Merkmals-Wert” erstellen. Dieser Filter soll die folgenden Filteroptionen umfassen: Name, Merkmal und IsActive-Schalter.

  1. Gehe ins Menü und öffne das Fenster “Nutzer Filter”.
  2. Erstelle einen neuen Eintrag.
  3. Benenne Deinen benutzerdefinierten Filter im Feld Name, z.B. AttributeValue (siehe Beispiel unten).
  4. Stelle einen Nutzer ein, sofern die Filternutzung auf diesen beschränkt sein soll. Gib hierzu einen Teil des Nutzernamens ein und klicke auf den passenden Treffer in der Dropdown-Liste.
    Wird kein Nutzer angegeben, so kann der Filter von jedem verwendet werden.
  5. Stelle die DB Tabelle ein, auf die Du den Filter anwenden möchtest. Gib hierzu einen Teil der Spalten-ID ein und klicke auf den passenden Treffer in der Dropdown-Liste.
  6. Stelle das Register ein, in dem die Filterergebnisse angezeigt werden sollen. Gib hierzu einen Teil der Register-ID ein und klicke auf den passenden Treffer in der Dropdown-Liste.
  7. Erfasse den Filter-Code in dem dafür vorgesehenen Textfeld, z.B.:

    AND<^>M_Attribute_ID<^> = <^><^><~>AND<^>IsActive<^> = <^>Y<^><~>AND<^>Name<^>ILIKE<^><^>
    
  8. Setze den Server-Cache zurück.
  9. Setze den Front-End-Cache zurück. Drücke hierzu Strg/⌘ cmd + ⇧ Umschalt + R.
  10. Als Ergebnis erhältst Du dann:
    Abb.: Benutzerdefinierter Filter 'AttributeValue'

    Abb.: Benutzerdefinierter Filter 'AttributeValue' geöffnet

Zur Quelldatei auf GitHub.com