[gelöst] SETSELECTIONFILTER Markierung kopieren

11. August 2021 14:27

SETSELECTIONFILTER setzt ja eine Markierung (wie MARKEDONLY). Kann ich diese Markierung mit einem Befehl analog COPYFILTERS auf eine andere Variable kopieren?
Zuletzt geändert von enh am 11. August 2021 16:56, insgesamt 1-mal geändert.

Re: SETSELECTIONFILTER Markierung kopieren

11. August 2021 15:12

Das geht nur mit COPY - aber das würde dir auch alle Felder, und den aktuellen Schlüssel überschreiben.
Wenn das nicht gewünscht ist, dann musst du das Übertragen der Markierungen selbst programmieren.

Re: SETSELECTIONFILTER Markierung kopieren

11. August 2021 15:18

Ich habe es auch mit COPY versucht, das übernimmt alle Filter aber nicht die Markierung. Vielleicht liegt es daran dass nicht alles im gleichen Objekt passiert?

Ich habe eine List Page, in der die Datensätze im Feld Status gefiltert sind. Dort markiere ich Datensätze die ich über eine Page Action buchen will.

Page Action:
CurrPage.SETSELECTIONFILTER(Recordvariable);
Buchungsfunktion.Unterfunktion(Recordvariable);

Buchungsfunktion ist ein Report. In der Unterfunktion möchte ich Filter und Markierung der hineingereichten Recordvariable auf eine andere Variable kopieren um mit der weiter zu arbeiten. Und hier scheitere ich.

Mit der hineingereichten Variable zu arbeiten würde andere Probleme machen, daher habe ich eine globale Variable in der Buchungsfunktion, um in weiteren Unterfunktionen damit arbeiten zu können.

In meinem Test habe ich drei Datensätze in der Page. Ich markiere den ersten und dritten Datensatz in der List Page, aber gebucht werden alle drei Datensätze. Es wird offenbar per COPY nur der Filter auf das Feld Status übertragen, nicht aber das MARKEDONLY aus dem SETSELECTIONFILTER.

Ich hab noch ein bischen getestet. In der Page bekomme ich nach SETSELECTIONFILTER per COUNT die korrekte Anzahl 2 ausgegeben. Wenn ich in meiner Buchungsfunktion ein COUNT auf die reingereichte Variable mache dann bekomme ich aber die Anzahl aller Datensätze in der Tabelle ausgegeben. Der Markierungsfilter kommt dort offensichtlich nicht an. Ich stehe gerade auf'm Schlauch was ich tun soll. Außer den Code aus der Buchungsfunktion direkt in die Page Action hineinzuverlagern fällt mir gerade nix mehr ein.

Kann es sein dass SETSELECTIONFILTER nur funktioniert wenn ich danach eine Funktion aus der zugehörigen Recordvariable nutze, nicht aber wenn ich eine Codeunit oder einen Report aufrufe?

Re: SETSELECTIONFILTER Markierung kopieren

11. August 2021 15:37

Hallo,

war da nicht was mit VAR oder nicht VAR? Also ob die Variablen als VAR- parameter übergeben werden oder nicht.
Man darf sich übrigens beim Selectionfilter nicht wundern. Ich meine schon gesehen zu haben, das SETSELECTIONFILTER den Filter optimiert, also die Markierung durch einen anderen Filter ersetzt.

Gruß Fiddi

Re: SETSELECTIONFILTER Markierung kopieren

11. August 2021 15:48

Autsch! Danke! Wo ich es von dir lese fällt mir ein dass ich das schon mal irgendwo gelesen habe. Das war's - der Parameter in der Funktion muss VAR sein!