Record.SETFILTER(Field, String, [Value],...)
SETFILTER
Die Funktion SETFILTER setzt einen stringbasierten Filter auf ein Feld eines Datensatzes.
Parameter
SETFILTER wird als Funktion des Datensatzes aufgerufen, der gefiltert werden soll. Als Parameter werden das Feld, auf dessen Werte gefiltert werden soll und ein Filterstring benötigt, der wie ein Filter im RTC-/Web-Client aufgebaut ist. Wenn im Filterstring Platzhalter genutzt werden, können die dazugehörigen Werte hinter den Filterstring durch Kommata separiert angegeben werden.
Hinweise zur Anwendung
Wenn die Funktion für ein Feld aufgerufen wird, auf dem bereits gefiltert wird, wird der alte Filter durch den neuen Filter ersetzt.
Folgende Filterbefehle sind möglich:
Befehl | Beschreibung |
---|---|
.. | Von Wert .. bis Wert |
& | Und-Verknüpfung |
| | Oder-Verknüpfung |
< | Kleiner als |
<= | Kleiner oder gleich |
> | Größer als |
>= | Größer oder gleich |
<> | Ungleich |
* | Ausdruck als Teil eines Begriffes, jenseits des * kann anderes stehen, muss es aber nicht |
@ | Groß- und Kleinschreibung nicht beachten |
Beispiel
Zunächst werden folgende Variablen hinterlegt:
Name | Datentyp | Subtxp |
---|---|---|
Customer | Record | Customer |
CountWithoutFilters | Integer |
Anschließend wird folgender C/AL-/AL-Code eingefügt:
CountWithoutFilters := Customer.COUNT; Customer.SETFILTER("Location Code",'%1','BLAU'); MESSAGE('Ohne Filterung %1 Datensätze, mit Filterung %2 Datensätze',CountWithoutFilters,Customer.COUNT);
Nach Ausführen des Codes erscheint nun eine Meldung im Dynamics 365 Business Central Client: