[Gelöst] Bei Lookup automatisch filter für die Page setzen

16. Februar 2017 08:58

Hallo zusammen,

ist es Möglich bei Lookup/erweiterter Lookup automatisch Filter für die entsprechende Page zu setzen?

Folgendes Szenario:
Ich habe eine Page in der in einem Feld ein Lagerplatz ausgewählt werden kann, die Page die per Lookup in diesem Feld aufgerufen (Bin List) ist dieselbe die auch an vielen anderen Stellen im System bei der Auswahl von einem Lagerplatz verwendet wird (z.B. in Belegen etc.).

Möglichkeit 1 wäre nun die Filter in der Page (Bin List) zu setzen, was aber dazu führt, dass an allen Stellen im System wo diese Page aufgerufen wird eben diese Filter sitzen, was relativ doof wäre.
Möglichkeit 2 wäre eine neue Page zu erstellen (wie die Bin List) und diesen hinter das Feld zu hängen (mit den entsprechenden Filtern)

Wirklich schön finde ich beide Möglichkeiten nicht, daher meine Frage.

Danke schon mal für eure Hilfe!
Zuletzt geändert von G3X am 16. Februar 2017 15:17, insgesamt 1-mal geändert.

Re: Bei Lookup automatisch filter für die Page setzen

16. Februar 2017 09:22

Hi G3X,

normalerweise kommt der "Filter" über die Tabellenrelation. Dadurch öffnet sich die Page, die als LookupPageID in der Zieltabelle angegeben ist.

Wenn du nun den Filter an einer Stelle verändern möchtest, kannst du den Lookup ausprogrammieren. So änderst du das Lookup Verhalten nur an dieser Stelle:

Code:
Record.RESET;
Record.SETRANGE(Dein_Feld,Dein_Filter);
IF PAGE.RUNMODAL(0,Record) = ACTION::LookupOK THEN BEGIN
  ...   
END;


Der Code muss dann in den OnLookupTrigger der jeweiligen Page oder Tabelle um das Verhalten des Standardtriggers zu verändern. Die Angabe 0 sichert, dass die gleiche Page wie beim normalen Lookup aufgerufen wird (anhand der Tabelleneigenschaften).

Re: Bei Lookup automatisch filter für die Page setzen

16. Februar 2017 11:35

Hat SUPER geklappt, danke für die schnelle Hilfe :)