Page Sucheingabe an CU übergeben

26. Mai 2023 08:36

Hallo Zusammen,

ich steh sowas von auf dem Schlauch und weis irgendwie nicht mehr wie das funktioniert.

Ich habe eine CU die mit zwei Filtern über die Debitorenposten Sätze filtern und als csv ausgibt. das eine Feld ist eine Code (20) feld das andee ist ein Date. alleine funktoniert das auch.

Nun soll ich das umbauen und die Filterkriterien abfragen und nach diesen abgefragten Filter die Sätze selektieren und als csv ausgeben.

Feld 1 Suche_Aktion (das ist eine Tabelle hinterlegt) Auswahl entweder nur ein oder mehrere Aktionen auswählbar. Beispiel Aktion1|Aktion2
Feld 2 ist das Posting Date/Buchungsdatum das kann entweder nur einen TAg sein oder ein Zeitraum Beispiel 1.5.2023 oder 01.01.2023..31.12.2023

Nun habe ich in der Page zwei Felder deklariert (CODE und DATE) und bei dem CODE Feld dann auch die Tabelle hinterlegt.
In der Page habe ich dann eine Page Action angelegt "CSV Erstellen", Dahinter wird dann die Codeunit ausgeführt, mit der Übergabe dieser zwei Felder.
Einzelen Werte klappen auch; Nur der Filter wenn ich zwei Aktion auswähle klappt nicht. Also bei Aktion1|Aktion2

Dann findet der Filter nichts mehr.

Der Filter:
26-05-2023_08-31-19.jpg


Der Debugger gibt den UInhalt des Feldes an: Aktion1|Aktion2
26-05-2023_08-32-08.jpg


Hat jemandn einen Tipp?

Das Date muss ja auch später noch als Filter eingeben werden. Aber ich will erst das eine Problem lösen. ;-)
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: Page Sucheingabe an CU übergeben

26. Mai 2023 08:43

bei der Zeitraumseingabe kommt dann diese MEldung:
26-05-2023_08-40-12.jpg


Wie mus das Feld dann deklarierte sein für eine ZEitraumseingabe? Ich hab in der Page nur das Feld as DATE deklariert
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: Page Sucheingabe an CU übergeben

26. Mai 2023 09:13

Hallo,

das Feld muss entweder als Text oder wenn möglich als Flowfilter auf ein Date-Feld deklariert werden.

Wenn du das als Textfeld definierst, musst du im OnValidate des Feldes ein
Code:
Record.SetFilter(DateField,ZeitRaumText);

ausführen. Das geht entweder gut, wenn die Eingabe korrekt war, oder gibt eine Fehlermeldung;
Anschließend holst du dir mit
Code:
ZeitRaumText:= Record.Getfilter(DateField);

den formatierten Filtertext zurück, und das Ganze sollte dann auch hübsch aussehen.

Gruß Fiddi

Re: Page Sucheingabe an CU übergeben

26. Mai 2023 12:28

Hallo fiddi,

vielen Dank für die Rückmeldung.

du meinst in der Page in dem Feld SucheZeitraum in dem OnValidate Trigger, richtig?
In der Page habe ich aber doch keine Tabelle hinterlegt.
und wenn ich die Tabelle 21 als Source tabelle hinterlege würde das dann aber so aussehen.

Für das Date Field und dem Code Feld. (Beide Felder sind als Text deklariert)
26-05-2023_12-25-28.jpg


und wenn ich die Codeunite aufrufe, nehm ich ader die Felder aus dert Page, diese TExtFelder richtig?

und in der CU hole ich mit den Filter wieder?
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: Page Sucheingabe an CU übergeben

26. Mai 2023 12:47

Hallo,

und wenn ich die Codeunite aufrufe, nehm ich ader die Felder aus dert Page, diese TExtFelder richtig?


Das kannst du so machen. Wenn du der Codeunit allerdings Rec als VAR übergibst, dann geht das auch einfacher Im Onvalidate-Trigger des Feldes "Zeitraum" :
Code:
Rec.SetFilter("Posting Date",ZeitRaumDebiPoBuchungdatum);
ZeitRaumDebiPoBuchungdatum := Rec.GETFILTER("Posting Date");


Den GetFilter benötigst du nur, damit der FilterText hinterher "schöner" aussieht. Funktionieren tut es auch ohne die zweite Zeile. Ansonsten musst du der Codeunit noch irgendwie das FilterDatum mitteilen.

Gruß Fiddi