(gelöst) Anzeige in DropDown Liste filtern

30. August 2012 08:55

Guten Morgen Forumsgemeinde!

System: Navision 2009 SP1 RTC

Die Tabelle Ursachencodes (231) habe ich um das Feld Sprachcode erweitert um danach bei der Auswahl im Artikelbuchblatt (Page 40) zu filtern.
Bucht einer unserer US Kollegen über das Artikelbuchblatt, so sollen Ihm/Ihr bei der Auswahl des Ursachencodes pro Zeile nur die Ursachencodes mit Sprachkennung "ENU" angezeigt werden.
Wie und wo muss ich diesen Filter setzen, damit das sich öffnende DropDown Menü nur diese über den Benutzer Sprachcode gefilterte Auswahl anzeigt?

Vielen Dank für Eure Hilfestellungen und schönen Tag noch!
Fuige
Zuletzt geändert von fuige am 21. September 2012 08:50, insgesamt 1-mal geändert.

Re: Anzeige in DropDown Liste filtern

30. August 2012 09:47

Um eine Filterung per Code für einen Lookup im RTC zu realisieren musst du den Code im OnOpenPage-Trigger auf der "LookupForm" platzieren.

Re: Anzeige in DropDown Liste filtern

30. August 2012 11:24

Hi!

Ich habe nun in der Page 40 (Artikelbuchblatt) beim Feld Ursachencode in den Properties als LookUPFormID die Form 259 (Reason Code) hinterlegt und in der Form 259 den Filter im OnOpenForm Trigger mit einem Filter auf Sprachcode 'ENU' hinterlegt. (Siehe Screenshots)
Irgendetwas passt hier aber nicht zusammen. Gibt es andere Forms oder Pages die ich hier ansprechen muss?

Leider bleibt das ganze so aber ohne Erfolg. Es ändert sich garnichts!
Kann mir jemand sagen wo mein Fehler liegt? Danke!
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: Anzeige in DropDown Liste filtern

30. August 2012 13:00

Das ganze musst du nur für die entsprechende Page 259 in dem OnOpenPage-Trigger machen. (Auf der Form brauchst du die Programmierung nur, wenn dies auch für den Classic Client gelten soll.)

Edit: Die Page und die Form 40 (Artikel Buch.-Blatt) musst du gar nicht anpassen. Wenn dort nichts in der "LookupFormID" für das Feld Ursachencode eingetragen ist, dann greift die "LookupFormID" der Tabelle Ursachencode. (LookupForm habe ich nur geschrieben, weil die entsprechende Eigenschaft so heißt, obwohl diese für Pages und Forms gilt.)

Re: Anzeige in DropDown Liste filtern

30. August 2012 14:30

Hi meto89,

leider bekomme ich's noch immer nicht hin.
Wie in den Screenshots zu sehen habee ich nun die Filterung auf ENU im OnOpenPage Trigger der Page 259 hinterlegt.
Meine zuvor gemachten Änderungen hab ich entfernt.
Leider bekomme ich noch immer deutsche und englische Ursachencodes zur Auswahl.

Hast Du noch eine Idee woran es liegen kann?
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: Anzeige in DropDown Liste filtern

30. August 2012 15:53

Ruf mal den erweiterten Lookup zu deinem Feld auf und lass dir den Filter anzeigen. Das sollte dann so wie in meinem Anhang aussehen.

Falls das nicht der Fall ist, versuch mal die Page neu zu kompilieren und starte den RTC neu.

Und noch einen Verbesserungsvorschlag für deinen Code:
Code:
SETRANGE("Language Code",'ENU');
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: Anzeige in DropDown Liste filtern

3. September 2012 15:18

Hi!

Auf der Page 259 (Ursachencodes) funktioniert der Filter wie von Dir beschrieben.
Wo ich diese Filterung benötige ist aber im Artikelbuchblatt wenn ich den Ursachencode selektieren möchte.
Hier im Artikelbuchblatt greift der Filter aber lider nicht. Es werden alle vorhandenen Ursachencodes wie im Screenshot zu sehen angezeigt.

Muss ich doch in der Page des Artikelbuchblatt filtern?


Sorry für die späte Rückantwort.

Gruß
Fuige

Re: Anzeige in DropDown Liste filtern

5. September 2012 09:25

Hallo,

Vorschlag: Anstatt der DropDown Liste würde ich dir vorschlagen den LookUp direkt auszuprogrammieren.
Dann geht die Page als PopUp Fenster auf.
Es kann sein, dass der OnOpenPage Trigger für DropDown Listen nicht ausgeführt wird (nur eine Vermutung).

Und die Mittelschicht hast du schon neu gestartet?? Damit das schon mal ausgeschlossen werden kann.


Gruß
Aydin

Re: Anzeige in DropDown Liste filtern

5. September 2012 13:48

Sorry falls es ne blöde Frage ist, aber was meinst Du mit

"Und die Mittelschicht hast du schon neu gestartet??"

Re: Anzeige in DropDown Liste filtern

5. September 2012 14:16

Hallo.

meine Erkenntnisse:
Ein Lookup-Trigger in der Tabelle programmiert sorgt dafür, dass
- der Lookup(RTC) {für mich der "kleine" RTC Lookup mit Suchfunktion auf Basis Standardfilterspalte)
nicht(!) erscheint (er ist NICHT aufrufbar; da "wegprogrammiert".)
- der erweiterte Lookup (RTC) {also die Übersichts Page} die gewünschte Funktionalität (Filterung) hat

Also bleibt der "kleine" Lookup nur erhalten, wenn in der Tabelle auf CAL Programmierung verzichtet wird und dort
die Definition des Lookup vollständig abbildbar ist (damit meine ich Filterungen).

Eine Programmierung in der Lookup-Übertsicht (z.B. Filtersetzung) hat nur Einfluss auf den erweiterten Lookup!
KEINEN auf den "kleinen" Lookup.

Der "Kleine Lookup" basiert wie gesagt rein auf den hinterlegten Parametern des Lookup ohne CAL Code.
Die Definition der Felder des "kleinen" Lookup erfolgt in der Tabelle -> Ansicht -> Fireld Groups: DropDown: ....
Aus meiner Sicht gibt es sonst keine Einstellmöglichkeiten für den "kleinen" Lookup.

Re: Anzeige in DropDown Liste filtern

5. September 2012 15:35

Also mit der Mittelschicht meine ich den "Service Tier" (ist ein Dienst).
Der RTC verbindet sich über diesen Dienst mit der SQL-Datenbank (3 Schicht Architektur). Alle Berechnung laufen auf diesem Service Tier ab.
Der Service Tier muss deine Code Änderungen mitkriegen, falls nicht, dann hat der Dienst evtl. den alten Objektzustand.
Ein Neustart hilft da immer:-)


Aber es ist eher die Vermutung, dass die DropDown Liste den onOpenPage trigger gar nicht ausführt.


Gruß
Aydin

Re: Anzeige in DropDown Liste filtern

11. September 2012 19:09

aydina81 hat geschrieben:Aber es ist eher die Vermutung, dass die DropDown Liste den onOpenPage trigger gar nicht ausführt.


Der OnOpenPage-Trigger wird ausgeführt. Bei mir funktioniert dies auch alles ohne Probleme. Warum das bei dem Ersteller nicht funktioniert kann ich leider nicht sagen.

Einigen Informationen zu dem DropDown und Möglichkeiten diesen zu beeinflussen sind auf der folgenden Seite ganz nett zusammengefasst:
http://www.kauffmann.nl/blog/index.php/2011/10/17/controlling-the-drop-down-list-in-the-roletailored-client/

Re: Anzeige in DropDown Liste filtern

21. September 2012 08:50

Guten Morgen!

Erst einmal vielen Dank an alle die sich hier an der Lösungsfindung beteiligt haben.
Da ich einfach nicht weiter kam hab ich's an unseren für Nav zuständigen Support gegeben und nun eine Lösung erhalten.

Kurze Zusammenfassung der umgesetzten Lösung
- In der Tabelle 83 wurde ein neues Feld für den Sprachcode mit der FieldClass FLOWFILTER angelegt
- Beim Feld "Reason Code" wurde die TabeleRelation um den Sprachcode erweitert
- Im OnAfterGetRecord der Page 40 wird der Filterwert in das neue Flowfield Feld der Tabelle gesetzt

Ich hoffe es ist in diesem Umfang OK wenn erhaltene Lösungen hier im Forum zur Verfügung gestellt werden um anderen zu helfen.


Gruß
Fuige