[Gelöst] Textbox aus Form an Report übergeben...

15. Oktober 2008 12:17

Hallo,

ich habe eine Form in der man anhand eines geb. Wareneingangs ein Umlagerungs Buch.-Blatt füllen kann.
Diese Form möchte ich etwas erweitern... Und zwar habe ich eine Textbox in der Form hinzugefügt, in der man nur noch die Belegnummer eingibt. Anschließend soll ein Report im Hintergrund die verarbeitung durchführen und autom. das Buch.-Blatt füllen. Ich möchte mir also eigentlich nur die RequestForm des Reports sparen.

Bisher funktioniert es nur so weit, das ich auf einen Button drücke und sich der Report öffnet. Dort gebe ich die Belegnummer ein und die form wird mit den Positionen gefüllt.

Hat jemand eine Idee wie ich den Wert der Textbox aus der Form an den Report übergeben kann?
Zuletzt geändert von 3TageWach am 16. Oktober 2008 09:03, insgesamt 1-mal geändert.

Re: Textbox aus Form an Report übergeben...

15. Oktober 2008 12:43

3TageWach hat geschrieben:Hat jemand eine Idee wie ich den Wert der Textbox aus der Form an den Report übergeben kann?


Eine Möglichkeit ist, dass du im Report eine Funktion schreibst, die eine Variable als Parameter entgegen nimmt und den Wert in eine globale Variable des Reports schreibt. Diese Funktionen haben üblicherweise den Namen SetVariableXY oder SetParameters.

Diese Funktion muss dann vor dem RUN des Reports statt finden.
Wichtig ist, dass du dann immer mit einer Variable vom Typ Report arbeitest:
Code:
DeinReport.SETTABLEVIEW(...);
DeinReport.SetVariableXY(Textboxinhalt);
DeinReport.RUN;

Re: Textbox aus Form an Report übergeben...

15. Oktober 2008 12:56

ja so in etwa versuch ich das schon die ganze Zeit, aber bekomme immer die Fehlermeldung das Variable Record zu 83 gehören muss und nicht zu 0.

Also ich hab dem Report nen globalen record "gscan" gegeben und der funktion einen Parameter "lscan"
In der Form hab ich ja die Textbox "ReceiptNo" und OnAfterInput wird der Report ausgeführt...

Report:
Code:
[b]ScanReceipt(VAR lscan : Record "Item Journal Line")[/b]
gscan := lscan;


Form:
Code:
[b]<Control1000000003> - OnAfterInput(VAR Text : Text[1024];)[/b]
ReportUmlag.ScanReceipt(ReceiptNo);
ReportUmlag.RUN;


Weiß gerade nix mit der Fehlermeldung anzufangen.

Re: Textbox aus Form an Report übergeben...

15. Oktober 2008 13:26

Könnte es sein, dass du gscan nicht richtig deklariert hast?
Der Typ muss sein Record 83. Wenn ich die Fehlermeldung richtig deute, steht bei dir nur Record <leer>.

Re: Textbox aus Form an Report übergeben...

15. Oktober 2008 15:03

hm doch hab ich alles richtig, er meckert auch glaub ich die Variable "ReceiptNo" an, also meine Textbox aus der Form. Die ist als globale mit dem Datatype Text angelegt.

Re: Textbox aus Form an Report übergeben...

15. Oktober 2008 16:47

3TageWach hat geschrieben:hm doch hab ich alles richtig, er meckert auch glaub ich die Variable "ReceiptNo" an, also meine Textbox aus der Form. Die ist als globale mit dem Datatype Text angelegt.

Ja, dann darf deine Funktion ScanReceipt als Parameter auch keinen Record, sondern eine Variable vom Type Code 20 erwarten.
Warum hast du die Funktion mit einem Record angelegt?
Entsprechend brauchst du auch kein gscan := lscan; sondern gReceiptNo = ReceiptNo;

Re: Textbox aus Form an Report übergeben...

15. Oktober 2008 17:39

ok, das könnte der Fehler gewesen sein. Bekomme nun zwar neue Fehlermeldungen, aber das muss irgendwie noch am Report liegen...

danke für deine Hilfe ;)