[GELÖST] UserRequestForm mit gefilterten Werten füllen?

7. August 2014 13:59

Zunächst ein herzliches "Hallo" an die NAV-Gemeinde!

Nachdem ich schon einige Wochen bei euch in den NAV-Foren 'quer' gelesen habe und mich seit einigen Tagen mit NAV beschäftige, habe ich heute Anlass zu meiner ersten Frage und bin auf eure Lösungsansätze gespannt! :wink:

Rahmenbedingungen:
- erstellen eines Reports für ein Etikett sowie einbinden nach Test (hört sich zunächst banal an);
- Ursprungsform: 7330 - Gebuchter Wareneingang (es geht um Bandstahlringe), später sollen noch Umbuchungen hinzukommen;
- Aktion: Druck des Etiketts für den aktuellen Datensatz im Formular über User RequestForm;
- Besonderheit: in der RequestForm sollen die Artikelstammdaten (Nummer, Bezeichnung, Güte) sowie die Menge aus der aktuellen Formularzeile sichtbar sein;
zudem soll der User das Gewicht des Ringes manuell eingeben können;

Meine bisherigen Ergebnisse:
- das Etikett(-layout) ist fertig;
- aus der Ursprungsform kann ich schon den aktuellen Datensatz an den Bericht übergeben, bewerkstelligt habe ich das nach Ausführungen hier im Forum und vorhandenen Funktionen in NAV:

Code:
CurrForm.PostedWhseRcptLines.FORM.GETRECORD(ltWhseReceiptLine);

IF grArtikel.SETCURRENTKEY("No.") THEN
  grArtikel.SETFILTER("No.",ltWhseReceiptLine."Item No.");

repEtikett.SETTABLEVIEW(grArtikel);
repEtikett.RUN();


Anm.: grArtikel ist eine globale Variable vom Typ RECORD, repEtikett ist eine REPORT-Variable, die auf den Report 'Bandstahl-Etikett im SubType verweist;

- RequestForm ist erstellt, es ist auch nur der Reiter 'Optionen' zu sehen;
(Anm.: für die Felder im Request (Art-Nr., Bezeichnung, Charge, Menge, Güte) habe ich globale Variablen angelegt und in der SourceExpr eingetragen)
- setze ich für das DataItem Artikel ein RequestFilterField, wird die korrekte Artikelnummer angezeigt;

Jetzt stehe ich vor dem Problem, daß ich nicht weiß, wie ich den übergebenen RECORD abfangen und die Werte auf der UserRequest anzeigen lassen kann :roll:
Ich habe schon einiges mit GETFILTER(S) etc. herumprobiert, weiß jedoch nicht wirklich, woher evtl. GETFILTERS seine Informationen ziehen soll!? In welcher RECORD-Variablen stehen meine Informationen?

So, nach so viel Text hoffe ich, daß ich mich verständlich ausgedrückt habe und ihr etwas mit dem geschriebenen anfangen könnt :?:
Auf alle Fälle freue ich mich auf jede Art von Lösungshinweis... :wink:
Zuletzt geändert von Frank_S am 8. September 2014 13:21, insgesamt 1-mal geändert.

Re: UserRequestForm (Report) mit gefilterten Werten füllen?

8. August 2014 15:38

Nach einigem Stöbern bin ich noch auf eine Idee zu einem Workaround gekommen:

wenn ich statt der RequestForm ein normales Form aufrufe, vom User die entsprechenden Daten eingeben lasse und aus der Form den Etikettendruck laufen lasse!?

Was haltet ihr von dieser Idee? Ja, ist womöglich etwas umständlicher, aber doch bestimmt machbar, oder?
Werde es nächste Woche mal ausprobieren und gebe dann Bescheid... :wink:

Re: UserRequestForm (Report) mit gefilterten Werten füllen?

11. August 2014 09:27

Hi Frank!

Vielleicht ein kurzer schneller Tipp, welcher weiterhilft:

Wenn du deinen Record übergibst (http://www.navision24.de/tutorials/report-mit-gesetzten-filtern-aufrufen.html), kannst du diesen ja in den Triggern deiner RequestForm benutzen und die Anzeige so anpassen oder verstehe ich jetzt was falsch?

Re: UserRequestForm (Report) mit gefilterten Werten füllen?

11. August 2014 11:43

Hi AlphaWeibchen,

vielen Dank für Deinen Hinweis!

Den von Dir verlinkten Beitrag hatte ich schon gelesen und zunächst verworfen, da es zunächst mal um die Standar-RequestForm geht. Jetzt überlege ich jedoch: wenn ich die Standardform so gefüllt bekomme, müßte ich doch auch auf den deren Inhalt bzw. den Inhalt der einzelnen Felder zugreifen können (globale Variablen o.ä.), um sie dann unter dem Reiter "Options" gesammelt anzeigen zu lassen!?

Ich werde da auch morgen oder übermorgen testen und dann Bescheid geben!

Re: UserRequestForm (Report) mit gefilterten Werten füllen?

8. September 2014 13:20

Hallo zusammen,

sorry, dass ich erst heute den Workaround präsentieren kann, war aber zeitlich nicht anders möglich.

Nachdem ich ihn heute dann nach langem rumprobieren/rumlesen und recherchieren umsetzen konnte, habe ich sie zudem gerade auch hier im Forum gefunden (ist von mespelage) :-?

Code:
If "Nummer <> '' Then Begin
   SETRANGE(Contact.No,Nummer);
   SETRANGE(Tabelle2.Contact,Nummer);
   CurrReport.USEREQUESTFORM(FALSE);
END;


Rep_0815.Übergabe(Rec."No.");
Rep_9813.Run


zu finden hier unter http://www.msdynamics.de/viewtopic.php?f=7&t=1964&p=4640&hilit=Lookup+Requestform#p4640

OK, damit kann ich zwar den übergebenen Record nicht direkt auslesen, aber mit der (in diesem Fall relevanten) Artikelnummer suche ich mir dann halt noch die fehlenden Angaben zusammen.
Wenn noch jemand irgendwann die Möglichkeit herausfindet, wie man den Record direkt in der RequestForm abfragen kann, gerne melden! :wink:

Ansonsten nochmals "Danke" an Dich, AlphaWeibchen, für Deine Bemühungen!