Produktionsauftrag aus Kundenauftrag erstellen
Stefan Hirsch
Ich habe mir das Beispiel aus dem Handbauch kopiert und wollte dies testen. Ich erhalte aber beim Start von coresuite costomize eine Fehlermeldung:"corsuite customize - Kompilierfehler. Bitte überprüfen Sie Ihren Code mit dem Script Parser vom Code Editor.
Anschließend öffnet sich der Editor. Es erscheint die Fehlermeldung:
Der Name swissAddonFramework ist im aktuellen Framework nicht vorhanden. (CS0103)
SAP Business One 2007 PL44
coresuite 2.31
coresuite customize 1.55
Attachment
[url=http://www.coresystems.ch/wp-content/../wp-content/forum-image-uploads/stefanhirsch/coresuite customize Fehlermeldung.JPG]coresuite customize Fehlermeldung.JPG[/url]
Sascha Balke
Hallo Stefan,bescheidene Frage: Wohin hast du den Code kopiert?
Stefan Hirsch
Hallo Sascha,Ich hab bei Function Button eine neue Zeile vom Typ CSCODE angelegt und dort habe ich den Code als Ausdruck hinterlegt. :wink:
Gruß Stefan
Sascha Balke
Hallo Stefan,ich gehe mal in der Annahme, dass du diesen Eintrag http://www.coresystems.ch/forum.html?&L=wpnatppjami&tx_mmforum_pi1[action]=list_post&tx_mmforum_pi1[tid]=3446&tx_mmforum_pi1[page]=1#pid12432 versucht hast, bei dir einzubinden.
Richtig?
Ohne Anpassung wird der Code von Michael jedoch nie funktionieren, denn es ist u.a. auf Klein- und Großschreibung zu achten!
Habe den Code mal eben entsprechend korrigiert.
try{
string formType = "65211"; // Production order form type
string menuId = "4369"; // Production order menu item number
string Artikelnr = Matrix.GetFromUID(pVal.Form, "38").GetValue("1", 0);
string ProfitCenter = Matrix.GetFromUID(pVal.Form, "38").GetValue("30", 0);
string Menge = Matrix.GetFromUID(pVal.Form, "38").GetValue("11", 0);
SwissAddonFramework.UI.EventHandling.ItemEvents.FormLoadEventHandler del = null;
del = delegate (SwissAddonFramework.UI.EventHandling.ItemEvents.FormLoad ev)
{
try
{
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["68"]).Value = ((SwissAddonFramework.UI.Components.TextEdit)pVal.Form.Items["4"]).Value;
((SwissAddonFramework.UI.Components.TextEdit)ev.Form.Items["32"]).Value = ((SwissAddonFramework.UI.Components.TextEdit)pVal.Form.Items["8"]).Value;
((SwissAddonFramework.UI.Components.TextEdit)ev.Form.Items["26"]).Value = ((SwissAddonFramework.UI.Components.TextEdit)pVal.Form.Items["12"]).Value;
((SwissAddonFramework.UI.Components.TextEdit)ev.Form.Items["6"]).Value = Artikelnr;
((SwissAddonFramework.UI.Components.ComboBox)ev.Form.Items["10000143"]).Selected.Value = ProfitCenter;
//MessageBox.Show("Menge: " + Menge, "OK");
((SwissAddonFramework.UI.Components.TextEdit)ev.Form.Items["12"]).Value = Menge;
}
catch(System.Exception ex)
{
MessageBox.Show("Fehler 2: " + ex.Message, "OK");
}
};
SwissAddonFramework.UI.Components.Form.AddHandler_Load(formType, SwissAddonFramework.UI.Components.ModeComponent.FormModes.ALL, del);
SwissAddonFramework.UI.Components.MenuItem.GetFromUID(menuId).Activate();
}
catch(System.Exception ex)
{
MessageBox.Show("Fehler 1: " + ex.Message, "OK");
}
Voraussichtlich wirst du noch ein paar Anpassungen vornehmen müssen, da feste Werte an den Produktionsauftrag übermittelt werden.
Kleiner Tip!
Wenn du via customize entsprechende Regeln erstellst/programmierst, solltest du dieses auch überprüfen lassen. Dafür gibt es das Symbol mit dem Blatt und dem roten Haken. ;)
hth
0
Please sign in to leave a comment.
Comments
0 comments