Öffnen eines angelegten Kundenauftrags
Veit Viehweger
Hallo,aus dem Beitrag "Ein bestimmtes Dokument als Formular öffnen" ( http://www.coresystems.ch/forum.html?&tx_mmforum_pi1[action]=list_post&tx_mmforum_pi1[tid]=2290&tx_mmforum_pi1[page]=1&tx_mmforum_pi1[sword]=Beleg#pid7948 ) habe ich folgenden Code übernommen und ausprobiert
]try{
string formType = "139"; // Sales order form type
string menuId = "2050"; // Sales order menu item number
SwissAddonFramework.UI.EventHandling.ItemEvents.FormLoadEventHandler del = null;
del = delegate (SwissAddonFramework.UI.EventHandling.ItemEvents.FormLoad ev){
SwissAddonFramework.UI.Components.Form.RemoveHandler(formType, SwissAddonFramework.UI.Components.ModeComponent.FormModes.ALL, del);
ev.Form.Select();
ev.Form.Mode = SwissAddonFramework.UI.Components.ModeComponent.FormModes.FIND;
((SwissAddonFramework.UI.Components.TextEdit)ev.Form.Items["8"]).Value = "X"; // Meine DocNum
SwissAddonFramework.UI.Components.Button.GetFromUID(ev.Form, "1").Click(SwissAddonFramework.UI.Components.Item.ClickType.Regular);
};
SwissAddonFramework.UI.Components.Form.AddHandler_Load(formType, SwissAddonFramework.UI.Components.ModeComponent.FormModes.ALL, del);
SwissAddonFramework.UI.Components.MenuItem.GetFromUID(menuId).Activate();
}
catch (Exception exe){
SwissAddonFramework.UI.Dialogs.MessageBox.Show("Unerwarteter Fehler: " + exe.Message,"OK");
}
return true;Er wird per Doppelclick auf ein selbstgebautes Fenster ausgeführt. Wenn ich ihn alleine ausführe, dann kann es sein, dass er das Gewünschte durchführt. Er
1) Öffnet einen leeren Beleg,
2) setzt den Status des Beleges auf "Suchen"
3) Füllt DocNum ein
4) klickt auf Knopf "Suchen"
, so dass schließlich der zu bearbeitende Beleg geöffnet ist. Dies allerdings klappt maximal zwei- bis dreimal hintereinander. Danach öffnet er nur einen neuen Kundenauftrag im Einfügemodus. :cry: Außerdem soll dieser Code nur ein Teil einer viel größeren Prozedur sein. Doch sobald ich ihn in dieser Umgebung eingefügt habe, öffnet er nur noch einen leeeren Beleg. :evil:
Hat jemand eine Idee, wie ich dieses Problem beheben könnte?
Michael Egloff
Hallo Veit,versuch mal dies:
try{
string formType = "139"; // Sales order form type
string menuId = "2050"; // Sales order menu item number
SwissAddonFramework.UI.EventHandling.ItemEvents.FormLoadEventHandler del = null;
del = delegate (SwissAddonFramework.UI.EventHandling.ItemEvents.FormLoad ev){
try
{
Form.RemoveHandler(formType, ModeComponent.FormModes.ALL, del);
ev.Form.Select();
ev.Form.Mode = ModeComponent.FormModes.FIND;
((TextEdit) ev.Form.Items["8"]).Value = "X"; // Meine DocNum
Button.GetFromUID(ev.Form, "1").Click(Item.ClickType.Regular);
}
catch(System.Exception innerEx)
{
MessageBox.Show("Inner Exception: " + innerEx.Message, "OK");
}
};
Form.AddHandler_Load(formType, ModeComponent.FormModes.ALL, del);
MenuItem.GetFromUID(menuId).Activate();
}
catch (Exception exe){
MessageBox.Show("Unerwarteter Fehler: " + exe.Message, "OK");
}
return true;Veit Viehweger
Hallo Michael,super - so funktioniert's. Vielen Dank!
0
Please sign in to leave a comment.
Comments
0 comments