String := Record.GETFILTER(Field)
GETFILTER
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 |
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:
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:
Bei dem Versuch, beide Filter über einen Aufruf von GETFILTER auszugeben, erscheint beim kompilieren die folgende Fehlermeldung:
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:
Nach dem Weiterklicken der Meldung erhalten wir nun eine leere Meldung, da vor dem zweiten Aufruft der GETFILTER-Funktion die Filtergruppe gewechselt wurde: