[gelöst]Subpage Filtern dynamisch

8. Mai 2020 10:41

Hallo,
ich habe ein Feld Typ, welches entweder Artikel oder Gruppe beinhaltet. Diese Feld wird in einer Subpage (mit anderen Feldern) angezeigt.
Nun möchte ich beim Öffnen der Mainpage ,nur Records in der Subpage haben welche den Typ Gruppe haben, wenn es diese Datensätze gibt.
Wenn nicht dann sollen die Datensätze kommen, welche als Typ Artikel haben.
Aktuell sind die beiden über das Feld Nr. miteinander verbunden.

Wo kann ich diesen Filter einbauen und wie?

Besten Dank
stony
Zuletzt geändert von stony am 18. Mai 2020 06:29, insgesamt 1-mal geändert.

Re: Subpage Filtern dynamisch

8. Mai 2020 11:31

Du erstellst in der Subpage eine Funktion, welche die Zeilen auf den entsprechenden Wert filtert. Am besten mit nem Parameter.
In der Mainpage rufst du diese Funktion dann aus OnAfterGetRecord (am besten als Funktion in der Mainpage) auf.

Code:
CurrPage.<SubPageName>.PAGE.<SubPageFunctionName>(<Gruppe|Artikel>)


Vorher prüfst du, ob es zum Mainrecord Gruppen oder Artikel gibt.

Re: Subpage Filtern dynamisch

9. Mai 2020 16:08

Das hatte ich schon probiert. Funktioniert leider nicht.

Hier der Code, welcher in der Mainpage beim Trigger OnAfterGetRecord ist:

Code:
CurrPage.ProdFeinplanungszeilen.PAGE.PageOpenFilterSet('ARTIKEL');


und hier der Code der Funktion PageOpenFilterSet in der Subpage
Code:
IF TypPageOpenFilter = 'ARTIKEL' THEN
  SETRANGE(Typ,Typ::Artikel);
IF TypPageOpenFilter = 'GRUPPE' THEN
  SETRANGE(Typ,Typ::Gruppe);


Wo könnte hier mein Fehler sein ?

Re: Subpage Filtern dynamisch

11. Mai 2020 10:34

Versuch mal noch ein CurrPage.UPDATE;

Re: Subpage Filtern dynamisch

16. Mai 2020 10:15

Es ist zu spät, eine Funktion zum Filtern von Datensätzen in einer Subpage aus der Subpage selbst aufzurufen. Das war bei früheren NAV Versionen auch so. Man kann das durch SubPageView bzw. SubPageLink steuern. Es soll im OnAfterGetRecord der Mainpage entschieden werden, welche Datensätze in der Sabpage angezeigt werden sollen. In Deinem Fall - Gruppen bzw. Artikel.

Im folgenden Beispiel wird es gezeigt, wie es ohne großen Aufwand geht. Eine Entscheidung im Kopf getroffen wird, wodurch eine Datenmenge in Zeilen beeinflusst wird. Hier ist die Lösung sinnlos. Allerdings kann man die Art und Weise für unterschiedlichste Fragestellungen anwenden. Weil es immer die gleiche Subpage nur mehrfach eingebunden ist, muss man nichts mehrfach programmieren.

- Die gleiche Subpage wird mehrfach unter unterschiedlichen Filterkriterien eingebunden.
- Bei jeder Subpage wird eine Visible Eigenschaft durch eine separate Variable gesteuert.
- In OnAfterGetRecord der Mainpage wird anhand der Daten in verknüpften Zeilen entschieden, welche Daten in der Subpage angezeigt werden sollen und entsprechende Visible Variablen gesetzt.

Und jetzt in Bilder.

fig_01.jpg


fig_02.jpg


fig_03.jpg


fig_04.jpg


fig_05.jpg
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: Subpage Filtern dynamisch

18. Mai 2020 06:28

Danke für die Info!