UDF's werden nicht angezeigt
Tomas Fernandez
Hallo Zusammen,wir haben einen Function Button im Service Abruf, welche automatisch einen Kundenauftrag öffnet.
Folgender Code startet den Auftrag:
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.ADD;
((SwissAddonFramework.UI.Components.TextEdit)ev.Form.Items["4"]).Value = ((SwissAddonFramework.UI.Components.TextEdit)pVal.Form.Items["14"]).Value;
((SwissAddonFramework.UI.Components.ComboBox)ev.Form.Items["85"]).Value = ((SwissAddonFramework.UI.Components.ComboBox)pVal.Form.Items["16"]).Value;
((SwissAddonFramework.UI.Components.TextEdit)ev.Form.Items["CORCUS2"]).Value = ((SwissAddonFramework.UI.Components.TextEdit)pVal.Form.Items["12"]).Value;
((SwissAddonFramework.UI.Components.TextEdit)ev.Form.Items["14"]).Value = ((SwissAddonFramework.UI.Components.TextEdit)pVal.Form.Items["CORCUS4"]).Value;
};
SwissAddonFramework.UI.Components.Form.AddHandler_Load(formType, SwissAddonFramework.UI.Components.ModeComponent.FormModes.ALL, del);
SwissAddonFramework.UI.Components.MenuItem.GetFromUID(menuId).Activate();
Leider fehlen seit dem Patch auf 8.8 SP00 PL18 die UDF's (mit customize in den Kopfbereich gezogen) wenn ich hiermit den Auftrag anlegen will.
Beim normalen anlegen eines Auftrags über das Menü sind die UDF's vorhanden.
Gruß Tomas
Tomas Fernandez
Hallo ist da draus jemand ????Gruß
Tomas
Paolo Manfrin
Hello Thomas,please could you add the debugLog or send it directly to us?
Thank You.
Kind Regards,
paolo
Paolo Manfrin
Hi Tomas,there is no need to use the delegate.
Problem is that if you use delegate, then your UDF still does not exists in the main form when the FormLoad event gets called.
If you use a try/catch block within your delegate method, you get an error like:
"Item with unique id CORCUS2 not found".
If you use a structure like the following, then it works:
string menuId = "2050"; // Sales order menu item number
MenuItem.GetFromUID(menuId).Activate();
string formUID = SwissAddonFramework.B1Connector.GetB1Connector().Application.Forms.ActiveForm.UniqueID;
Form oForm = Form.GetFormFromUID(formUID);
TextEdit.GetFromUID(oForm, "4").Value = ((SwissAddonFramework.UI.Components.TextEdit) pVal.Form.Items["14"]).Value;
ExtendedTextEdit.GetFromUID(oForm, "CORCUS2").Value = "test";
Tomas Fernandez
Hallo Paolo,das hat bei dem ersten Funktioniert.
Leider geht es aber nicht wenn ich aus dem GP einen Serviceabruf erstellen will.
string menuId = "3587"; // Sales order menu item number
MenuItem.GetFromUID(menuId).Activate();
String formUID = SwissAddonFramework.B1Connector.GetB1Connector().Application.Forms.ActiveForm.UniqueID;
Form oForm = Form.GetFormFromUID(formUID);
// CardCode
TextEdit.GetFromUID(oForm, "14").Value = ((SwissAddonFramework.UI.Components.TextEdit) pVal.Form.Items["5"]).Value;
Hier wird immer erst der GP (als wenn man auf hinzufügen drückt) geleert und danach öffnet er das Serviceabruf Fenster natürlich ohne Wert.
Gruß
Tomas
0
Please sign in to leave a comment.
Comments
0 comments