[Gelöst] XML Port soll nur markierten Wert ausgeben

14. Januar 2025 16:25

Hallo zusammen,

ich habe eine individuelle Tabelle, welche auf einer Page abgefiltert angezeigt wird.
Wenn ich nun einen Wert markiere und eine Action drücke, soll dieser Wert in einer Text Datei, mittels eines XML Ports ausgegeben werden.
Im XML Port habe ich folgende Zeilen:

Code:
Root      Element   Text   <Root>
Tabelle50000      Element   Table   <Tabelle50000>(Tabelle50000)
Feld1      Element   Field   Tabelle50000::Feld1
Feld2      Element   Field   Tabelle50000::Feld2


Beim klick der Action hole ich mir mittels eines GETRECORD den Datensatz und übergebe diesen in eine Funktion in einer Codeunit:

Code:
CurrPage.Tabelle50000Subpage.PAGE.GETRECORD(Tabelle50000);
Codeunit.TransferTabelle50000(Tabelle50000);


Wenn ich mir das anschaue, dann habe ich dort noch meinen einzelnen Datensatz, soweit so gut.
Dan rufe ich in dieser Funktion den XML Port auf, welcher mir dann die komplette Tabelle raus gibt.

Wie kann ich das fixen?

Danke für eure Hilfe und viele Grüße
Zuletzt geändert von LowCodeUser am 22. Januar 2025 13:56, insgesamt 1-mal geändert.

Re: XML Port soll nur markierten Wert ausgeben

14. Januar 2025 20:37

CurrPage.SETSELECTIONFILTER

Re: XML Port soll nur markierten Wert ausgeben

15. Januar 2025 10:23

Auch damit gibt der XMLPort mir dann leider die komplette Tabelle aus, statt nur den auf der Page markierten Wert. Wie kann ich das umgehen?

Re: XML Port soll nur markierten Wert ausgeben

15. Januar 2025 12:54

Eigentlich sollte es mit CurrPage.SETSELECTIONFILTER funktionieren. Schau z. B. mal in die Page der registrierten Mahnungen (440), wie die Page Action zum Drucken das macht.

Re: XML Port soll nur markierten Wert ausgeben

16. Januar 2025 11:12

Ja, ich möchte ja aber den markierten Wert an einen XML Port übergeben. Im XML Port kann ich ja keinen Parameter hinterlegen. Im Designer habe ich als Element die Table 50000 angesprochen. Ich denke, deswegen gibt er mir auch alles aus. Ich will ja aber nur meinen einzelnen markierten Wert haben.
So langsam verzweifle ich ...

Re: XML Port soll nur markierten Wert ausgeben

16. Januar 2025 13:21

LowCodeUser hat geschrieben:Im XML Port kann ich ja keinen Parameter hinterlegen.

Das geht dort wie bei anderen Objekttypen (Reports usw., nur Query scheidet aus) auch. Im XMLport eine Funktion anlegen, die alle Parameter aufnimmt und in globalen Variablen ablegt und die Tabelle(n) damit filtert. Dann vor Aufruf des XMLports (als Variable im aufrufenden Objekt angelegt) die Funktion ausführen und mit den gewünschten Werten versorgen.

Re: XML Port soll nur markierten Wert ausgeben

16. Januar 2025 13:27

Ich hätte gedacht so müsste das gehen wenn z. B. XMLport 50000 für den Export definiert ist:
CurrPage.SETSELECTIONFILTER(Rec);
XMLPORT.RUN(50000,TRUE,FALSE,Rec);

Ansonsten würde ich eine Funktion im XMLport erstellen mit der du die Parameter zum Filtern im XMLport übergibst.

Re: XML Port soll nur markierten Wert ausgeben

16. Januar 2025 13:48

Alternativ sollte es (falls nur eine Tabelle im XMLport) auch mit SETTABLEVIEW gehen, wie im ähnlichen Fall hier.

Re: XML Port soll nur markierten Wert ausgeben

22. Januar 2025 13:55

SETTABLEVIEW hat das Problem gelöst.... Vielen Dank!