Welche Felder werden in einem automatisch generierten Lookup angezeigt?

Mir wurde diese Frage vor kurzem selbst gestellt und konnte diese allerdings nur zum Teil beantworten.

Ich wusste aber noch, daß ich schon einmal eine Seite gesehen hatte, wo dies genau erklärt wird. Aber ich wusste weder noch wo, noch konnte ich sie über diverse Suchmaschinen finden.

Aber in alten Unterlagen fand ich die Quelle dann doch, der Trick um die Quelle auch mit Google und Konsorten zu finden ist, mit dem altem Namen von Microsoft Dynamics AX - Axapta danach zu suchen!

Tut man dies, so findet man rasch folgende Seite:

http://www.axaptapedia.com/index.php?title=Lookups

Prinzipiell ist dort alles beschrieben, was man wissen muss, nachstehend dennoch ein kurzes Beispiel anhand des EDTs ProdId:

Erstellt man in einer Form ein StringControl auf Basis dieses EDTs, stellt sich der Lookup wie folgt dar: 

Screenshot

Nun ist tatsächlich auf den ersten Blick nicht unbedingt klar, woher Dynamics AX die anzuzeigenden Felder nimmt, studiert man den oben verlinkten Beitrag, erkennt man aber, daß die Felder aus den Indizes angezeigt werden.

Screenshot

Dieser Beitrag bezieht sich auf die Versionen:
Axapta 2.5, Axapta 3.0, Dynamics AX 4.0, Dynamics AX 2009, Dynamics AX 2012

Stefan 13.03.2014 18:24 | #1

Tolle Website
gemäß der Beschreibung funktioniert es aber nicht, das Lookup zu ändern, welches als Beispiel beim Anlegen von Positionen im Auftrag erscheint. Wenn man hier auf den Pfeil bei Artikelnummer drückt, öffnet sich ein Lookup mit verschiedenen Spalten. Wie kann hier zum Beispiel die Spalte Suchbegriff ausgeblendet werden?

Heinz Schweda 14.03.2014 13:34 | #2

Das ist letztendlich stark von der verwendeten Version von Dynamics AX abhängig. Ich würde mir mal entweder das Control der Artikelnummer im Design der Form ansehen, ob dort die lookup()-Methode überschrieben ist bzw. ob in der DataSource SalesLine am Feld ItemId diese Methode angepasst wurde.
Wenn es diese Methoden nicht gibt oder dort nur super() aufgerufen wird, so kann man am EDT ItemId in der Eigenschaft FormHelp nachschauen, ob dort ein Formular eingetragen ist, welches für den Lookup verwendet wird. In letzterem Fall muss man nur noch in diesem Formular das Feld ausblenden.

Stefan 14.03.2014 16:56 | #3

Hallo Herr Schweda,
ich hatte vergessen zu erwähnen, dass ich mit der Version AX 2009 arbeite.
Leider ist im EDT ItemId im Feld FormHelp kein Formular eingetragen.
Können Sie mir kurz erklären, was Sie mit "das Control der Artikelnummer" meinen?
Ich bin in der Form SalesQuotationTable und dort runter bis auf das Grid SalesQuotationLineGrid. Dort liegt dann die ItemId bei welcher das LookUp erscheint in der Maske. Hier finde ich jedoch nirgends ein Lookup.
Können Sie mir hier bitte noch einen Tipp geben?
Vielen Dank

Heinz Schweda 05.06.2014 16:40 | #4

Sorry für die sehr späte Antwort, mein "Kommentarinformationssystem" hat versagt.

Mit Control der Artikelnummer meine ich das (StringEdit-)Feld im Grid. Dort kann man prüfen ob die Lookup-Methode überschrieben wurde. Wurde sie dort nicht verändert, ist die gleichnamige Methode des Feldes ItemId der DataSource SalesQuotationLine des Forms die nächste Stelle, die man prüfen sollte.

Ist auch diese nicht überschrieben, wird der Lookup auf Basis der in der AxaptaPedia beschriebenen Logik aufgebaut.

 
 

 

 
 
 
Beiträge des aktuellen Monats
November 2024
MoDiMiDoFrSaSo
 123
45678910
11121314151617
18192021222324
252627282930 
 
© 2006-2024 Heinz Schweda | Impressum | Kontakt | English version | Mobile Version
Diese Webseite verwendet Cookies, um Benutzern einen besseren Service anzubieten. Wenn Sie weiterhin auf der Seite bleiben, stimmen Sie der Verwendung von Cookies zu.  Mehr dazu