GETFILTER

Die Funktion GETFILTER liefert einen String, der eine Liste der Filter innerhalb der aktuellen Filtergruppe für ein Feld in einem Datensatz enthält.

Parameter

Der Funktion GETFILTER müssen sowohl ein Record, also ein Datensatz, sowie ein Feld mitgegeben werden, für das die Filter in der aktuellen Filtergruppe ausgegeben werden sollen.

Rückgabewert

Die Funktion GETFILTER liefert einen String zurück, der die Filter auf dem angegebenen Feld des angegebenen Datensatzes enthält.

Beispiel 1

Im ersten Beispiel sehen wir, dass die GETFILTER-Funktion nur die Filter auf dem angegebenen Feld ausgibt.

Name Datentyp Subtyp
Customer Record Customer
Anschließend wird folgender C/AL-Code eingefügt:
Customer.SETRANGE("No.",'10000','30000');
Customer.SETRANGE("Country/Region Code",'DE');
MESSAGE(Customer.GETFILTER("No."));
MESSAGE(Customer.GETFILTER("Country/Region Code"));

Sobald der Code ausgeführt wird, erscheint die folgende Nachricht:

10000..30000

Hier wird nur der Filter auf die Debitoren-Nummer ausgegeben, nicht jedoch der Filter auf das Feld „Länder-/Regionscode”. Nach dem weiterklicken der Meldung erscheint nur die zweite Meldung, die den Filter auf das Feld „Länder-/Regionscode” ausgibt:

DE

Bei dem Versuch, beide Filter über einen Aufruf von GETFILTER auszugeben, erscheint beim kompilieren die folgende Fehlermeldung:

A maximum of 1 parameters must be used when calling the function. For example: MyFunc(..,..,..) ROUND(MyVar) ROUND(MyVar,0.05)

Beispiel 2

Im zweiten Beispiel sehen wir, welche Auswirkungen das Setzen von Filtergruppen auf die GETFILTER-Funktion hat.

Wir nutzen wieder dieselbe Record-Variable der Debitor-Tabelle, ändern den Code allerdings wie folgt ab:

Customer.FILTERGROUP(2);
Customer.SETRANGE("No.",'10000','30000');
MESSAGE(Customer.GETFILTER("No."));
Customer.FILTERGROUP(0);
MESSAGE(Customer.GETFILTER("No."));

Nach Ausführen des Codes erscheint, wie ersten Beispiel, folgende Meldung über die Filter auf das Nr.-Feld:

10000..30000

Nach dem Weiterklicken der Meldung erhalten wir nun eine leere Meldung, da vor dem zweiten Aufruft der GETFILTER-Funktion die Filtergruppe gewechselt wurde:

LEER