Record aus Form übernehmen

26. Januar 2010 17:52

Hallöchen,
ich habe eine Form1 (Auftrag) aus der ich über einen Button über RunObject eine weitere Form2 aufrufe. Über RunFormLink setze ich die Verbindung.
Wenn sich die Form2 öffnet wird auch der gleiche Auftrag angezeigt. In dieser Form2 werden noch ein paar Dinge eingegeben und anschließend der Auftrag verbucht und ein neuer angelegt.
Wenn ich diese Form2 nun schließe soll automatisch auf Form1 der neue Auftrag angezeigt werden und der Cursor soll in das Feld "No." der Verkaufszeile springen.
Habt ihr eine Idee wie das funktionieren könnte? Ich hab schon so viel probiert..
Grüße,
Jana

Re: Record aus Form übernehmen

26. Januar 2010 18:42

Schau mal hier http://www.mibuso.com/forum/viewtopic.php?f=23&t=22564 den Bereich den Garak geschrieben hat.

Re: Record aus Form übernehmen

27. Januar 2010 17:54

Ich glaube nicht, dass es bei Jana um Subform-Probleme geht.
Dein Problem ist, dass das mit dem RunObject nicht gehen wird, da diese Form dann nicht modal gestartet wird, d.h. Form1 wartet nicht darauf, dass die Form2 wieder geschlossen ist, sondern bekommt davon im Grunde nichts mit. Daher kann nach dem Schliessen von Form2 auch nichts passieren.

Du musst das leider im Button mit Code versehen (im OnPush-Trigger). Der könnte in etwa so ausschauen.

Code:
CLEAR(Form2);
recForm1.SETRANEG("Document Type","Document Type"::Order);
recForm1.GET("Document Type","Document No.");
Form2.SETTABLEVIEW(recForm1);
Form2.SETRECORD(recForm1);
IF Form2.RUNMODAL = Action::LookupOK THEN
  Form2.GETRECORD(Rec);
Currform.UPDATE;

Damit wird die Form2 zunächst auf den Auftrag der Form1 gesetzt. Dann wird die Form2 aufgerufen (modal, d.h. Form1 wartet nun, bis Form2 wieder geschlossen wird).
Klickt man in Form2 den OK-Button, wird der Auftrag aus Form2 geholt und in Form1 gesetzt.

Re: Record aus Form übernehmen

27. Januar 2010 18:30

AlterHase hat geschrieben:Ich glaube nicht, dass es bei Jana um Subform-Probleme geht.


ok. so hatte ich das nicht gelesen. Aber so wie beis jetzt beschrieben wird es glaube ich auch nix, weil ja ein und derselbe Record in 2 Versionen vorliegt (mit zusätzl. Daten und ohne). Ich könnte mir vorstellen das über eine temp. Tabelle in der zweiten Form zu lösen und dann beim Schließen den temp. Record an Form1 zu übergeben.

Volker

Re: Record aus Form übernehmen

27. Januar 2010 18:58

Hallo Jana,

musst den neuen Auftrag unbedingt in Form2 anlegen?
Kannst du das nicht auch nach der Rückkehr aus Form2 machen?

Gruß, Fiddi

Re: Record aus Form übernehmen

28. Januar 2010 10:18

vsnase hat geschrieben:Aber so wie beis jetzt beschrieben wird es glaube ich auch nix, weil ja ein und derselbe Record in 2 Versionen vorliegt (mit zusätzl. Daten und ohne).

Das spielt keine Rolle, der erste Auftrag wird gebucht, dann ein Neuer angelegt. Entscheidend ist, das der User in Form2 beim Verlassen der Maske auf einem anderen Datensatz steht, egal was mit dem Urspr. passiert ist. Durch das Currform.Update wird Form1 refreshed und und der neu gewählte Record, der vorher aus Form2 ausgelesen wurde, wird angezeigt.

Ich hatte mal einen Kunden der sagte an der Hotline immer gerne "ich habs nicht versucht, aber es geht nicht" :-D Getreu diesem Motto sag' ich einfach mal: Ich habs nicht explizit mit diesem Codestück versucht, aber es geht.

Meik