ObjectID für Produktionsauftrag
Daniel Walker
Hallo,kann mir jemand die ObjectID für den Produktionsauftrag nennen?
Ich möchte aus dem customize direkt eine Form öffnen und weiss die Nummer leider nicht.
Grüsse
Daniel Walker
Michael Egloff
Hallo Daniel,wenn du ein Produktionsauftrag öffnen möchtest, kannst du das mittels aktivieren des Menueintrages
MenuItem.GetFromUID("4369").Activate();Andreas Eugster
Hallo Michael,ich möchte nicht einfach die Form des Produktionsauftrages öffnen, sondern auch eine spezielle Nummer. Wenn ich den weg nehme wie du vorschlägst, müsste ich danach den Form Mode auf suchen, die nummer eingeben und den Button drücken. Jedoch habe ich gesehen, dass es eine Funktion gibt:
Form.OpenFormByKey();
jedoch kann ich mit den Parameterinformationen nicht viel anfangen.
Gruss
Andreas
Michael Egloff
Hallo Andreas,die Methode
Form.OpenFormByKey(string objectType, string key);
benötigt als ersten Parameter den Typ des zu öffnenden Formulars. Die Typen findest du hier im Forum im Thread LinkedObjectTypes.
Der zweite Parameter ist die DocEntry, also die absolute Nummer des Beleges.
Aufgepasst: das ist nicht zwingend die Belegnummer, welche du auf der Maske siehst!
Form.OpenFormByKey("17", "26");öffnet dir den Kundenauftrag mit der DocEntry 26
Daniel Walker
Danke Dir für die Info.Ich habe nun in diesem zusammenhang noch ein anderes Problem. Ich möchte einen Beleg duplizieren, auf welchem jedoch diese funktion im SAP nicht verfügbar ist. Nun wollte ich über die SAPbobsCOM-klasse eines aktuellen Belegs die Daten auslesen und diese dann in die neue Form kopieren, welche im hinzufügen modus ist.
Oder die aktuell Offene Form nochmals öffnen und diese dann mit den Werten der Form1 abfüllen.
Jedoch habe ich dazu keine schlaue Methode oder Funktion gefunden, welche dies automatisiert. Denn die ganze Form manuell abzufüllen wäre ein grosser aufwand (UDF's und Systemfelder).
Hättest du dafür auch eine Lösung?
Gruss
Andreas + Dani
Andreas Eugster
Wurden schon erkentnisse getroffen?Michael Egloff
Hallo zusammen,eine Funktion, welche alles auf dem Form abfüllt, gibt es nicht. Jedes Feld einzeln abfüllen macht keinen Sinn (Aufwand und Performance).
Man könnte per DI den Beleg kopieren, indem man ihn holt (Objekt.GetByKey("key") ) und dann einfach nochmals abspeichert (Objekt.Save() ).
Hierbei ist das Problem, dass man die Daten zum kopieren nicht sieht, der Beleg ist dann wirklich dupliziert und angelegt.
Wieso gibt es die Funktion 'duplizieren' denn nicht? Um welchen Beleg handelt es sich?
Andreas Eugster
Hallo MichaelDies benötige ich beim Kundenequitment. Gäbe es dafür keinen Workaround? Denn wir möchten ja vor dem hinzufügen den Beleg möglicherweise noch bearbeiten.
Dies wäre die gleiche Funktion wie bei der Layout definition vom Coresuite Layouter.
Gruss
Andy
0
Please sign in to leave a comment.
Comments
0 comments