8. November 2007 18:47
recArtikel.SETFILTER("Typ",'=%1|%2','Auto','Laster');
Form.RUNMODAL(0,recArtikel);
8. November 2007 19:44
SafetyFirst hat geschrieben:Nu bin ich schon ganz happy, daß die Listenform aufgeht und sogar den Filter richtig gesetzt hat. Aber: Ich kann den Artikel nicht mehr durch Doppelklick auswählen und der OK-Button ist verschwunden!
WARUM??
recArtikel.SETFILTER("Typ",'=%1|%2','Auto','Laster');
IF FORM.RUNMODAL(0, recArtikel) = Action::LookupOK THEN
DeinFeld := recArtikel."No."; // oder VALIDATE
9. November 2007 10:57
recArtikel.FILTERGROUP(2);
recArtikel.SETFILTER("Typ",'=%1|%2','Auto','Laster');
recArtikel.FILTERGROUP(0);
IF FORM.RUNMODAL(0, recArtikel) = Action::LookupOK THEN BEGIN
END;
9. November 2007 11:44
SafetyFirst hat geschrieben:Du bist meine gute Fee!
Aber: Was passiert denn da jetzt eigentlich? Was ist das für eine Option, die da mit "Action::LookupOK" spezifiziert wird?
Nicht nötig?Und: Die IF-Anweisung ohne Inhalt stört jetzt etwas mein ästhetischen Empfinden. Du hattest ja vorgeschlagen, ich sollte das Ergebnis der Auswahl erst noch in eine Variable übernehmen, aber scheint gar nicht nötig zu sein, oder?
Jupp, der OnValidate-Trigger der Tabelle, an die dein Zielrecord geknüpft ist. Aber deine Artikelnr. ist an kein Feld gebunden, sondern ist eine Variable (wenn ich dich richtig verstanden habe). Von daher brauchst du dir an dieser Stelle keine Gedanken zu machen.Schlägst Du alternativ vor, den VALIDATE-Trigger zu durchlaufen? Mit dem Validate kenn ich mich nun gar nicht aus. Ist das dann der Validate-Trigger des Eingabefeldes (in den ich noch nichts programmiert habe)?
9. November 2007 12:02
SafetyFirst
Und: Die IF-Anweisung ohne Inhalt stört jetzt etwas mein ästhetischen Empfinden. Du hattest ja vorgeschlagen, ich sollte das Ergebnis der Auswahl erst noch in eine Variable übernehmen, aber scheint gar nicht nötig zu sein, oder?
Safety First
Aber: Was passiert denn da jetzt eigentlich? Was ist das für eine Option, die da mit "Action::LookupOK" spezifiziert wird?
9. November 2007 12:44
Wenn du einen Datensatz mit "OK" ausgewählt hast (und nur dann!), wird die Artikelnr. in dein Feld geschrieben.
9. November 2007 13:33
SafetyFirst hat geschrieben:Wie schon gesagt, dies klappt, ohne dass ich die die IF-Schachtel füllen muss.
hab ich das jetzt richtig verstanden: Wenn ich den Lookup-Trigger programmiere, dann nimmt die Form erstmal an, daß sie keine "Auswahl-Liste" sondern eine "Anzeige-Liste" ist und deaktiviert standardmässig die Auswahl-Funktionalität?
Ich nehme an, das "Nur dann" impliziert, daß ein Doppelklick standardmässig wie ein OK gewertet wird (funktioniert nämlich)?
9. November 2007 14:40
Natalie hat geschrieben:Dann bitte nur für mich aus reiner Neugier an der Sache: Könntest du mir jetzt bitte den gesamten Quelltext im OnLookup-Trigger der Form zeigen?
recArtikel.FILTERGROUP(2);
recArtikel.SETFILTER("Typ",'=%1|%2','Auto','Laster');
recArtikel.FILTERGROUP(0);
IF FORM.RUNMODAL(0, recArtikel) = Action::LookupOK THEN BEGIN
END;
9. November 2007 14:57
lolSafetyFirst hat geschrieben:Im Feld hab ich die recArtikel-Variable, die auf die Artikel-Tabelle zeigt, als Source angegeben.
9. November 2007 15:17
Natalie hat geschrieben:lolSafetyFirst hat geschrieben:Im Feld hab ich die recArtikel-Variable, die auf die Artikel-Tabelle zeigt, als Source angegeben.
Das erklärt jedenfalls, warum deine ausgewählte Artikelnummer in Feld landet, auch wenn du den Code in der IF-Anweisung nicht einträgst.
Natalie hat geschrieben:Aber probier jetzt mal folgendes:
Tätige den Lookup, stelle den Mauszeiger auf eine irgendeinen anderen Artikel (merken, welcher) und schließe die Form, indem du auf Abbrechen klickst oder die Form direkt schließt - was steht jetzt in deinem Feld?
9. November 2007 15:41
SafetyFirst hat geschrieben:Wenn ich abbreche, dann verändert sich in dem Feld nix. Stand da vorher nichts, dann steht da auch hinterher nichts. Stand da vorher was, dann steht das auch hinterher da.
Also sieht es eigentlich doch richtig aus. Liege ich falsch?
Jetzt verunsicherst Du mich aber. D.h. DU hättest es SO nicht gemacht?
9. November 2007 15:53
9. November 2007 15:54
SafetyFirst hat geschrieben:Oberflächen-Programmierung hab ich aber schon immer gehasst, und die Unübersichtlichkeit im Navision macht es nicht unbedingt einfacher: Derzeit übersehe ich einfach noch wichtige Dinge zu schnell.
9. November 2007 16:02