Zusätzliches Register auf Kundenauftrag
Rolf Walker
Guten Morgen!Mit untenstehendem Code habe ich es auf diverses Forms geschafft, zusätzliche Register einzublenden - ausser auf dem Kundenauftrag gehts nicht.
Meine Vermutung: Auf dem Kundenauftrag hats bereits zusätzliche Register vom CS Modul 'Management' her!
// NEW REGISTER
SwissAddonFramework.UI.Components.Folder f6 = SwissAddonFramework.UI.Components.Folder.CreateNew("WAL_F6");
// PARAMETER DES NEUEN REGISTERS
f6.Top=10;f6.Width=100;f6.Left=1400;f6.Height=14;f6.Pane=76;f6.AffectsFormMode=false;f6.Value="Test1";f6.Description = "Zusatzregister";
// REGISTER AUF FORM LADEN UND GRUPPIEREN
pVal.Form.AddItem(f6);
pVal.Form.Update();
f6.GroupWith("SWA_CT_Ads");
//pVal.Form.PaneLevel = 76;
// WENN MAN AUFS REGISTER KLICKT, DANN MUSS DAS PANELEVEL "VON HAND" GESETZT WERDEN
SwissAddonFramework.UI.EventHandling.ItemEvents.ClickEventHandler delFolder = null;
delFolder = delegate (SwissAddonFramework.UI.EventHandling.ItemEvents.Click ev)
{
ev.Form.PaneLevel = 76;
};
((SwissAddonFramework.UI.Components.Folder)pVal.Form.Items["WAL_F6"]).AddHandler_Click(SwissAddonFramework.UI.Components.ModeComponent.FormModes.ALL, delFolder);
return true;
Wie schaffe ich es trotzdem noch mein eigenes Register dort anzuzeigen!
Kann ich im untenstehenden Code etwas abändern, dass es funktioniert?
PS: Den Parameter f6.GroupWith habe ich auch schon mal mit ("138") versucht - geht leider auch nicht!
Danke für die Hinweise!
Gruss,
Rolf
Manuel Marhold
Hi Rolf,es gibt eine Begrenzung seitens SAP: 9 Register pro Form.
Im Auftragsformular können maximal 3 eigene hinzugefügt werden, warum auch immer. Wir wollten auch 4, geht aber nicht.
wie viele hast du in deinem Form?
Rolf Walker
Hallo Manuel!Du scheinst der Problemlöser für alles zu sein :-) Danke für Deine Antwort!
Zur Zeit haben wir gesamthaft 5 Register auf dem Kundenauftrag - wovon 2 davon von CoreSuite stammen!
Müsste also noch 1 Register zusätzlich gehen!
Mit meinem Code ist alles in Ordnung?
Gruss,
Rolf
Manuel Marhold
Hi Rolf,kann ich dir nicht genau sagen.. versuche mir das noch anzuschauen..
Manuel Marhold
Hi Rolf,ich würde folgendes probieren:
// NEW REGISTER
// get left register
SwissAddonFramework.UI.Components.Folder fLeft = SwissAddonFramework.UI.Components.Folder.GetFromUID(pval.Form,"WAL_F6")
SwissAddonFramework.UI.Components.Folder f6 = SwissAddonFramework.UI.Components.Folder.CreateNew("WAL_F6");
// PARAMETER DES NEUEN REGISTERS
f6.Top=fLeft.Top;f6.Width=100;f6.Left=fLeft.Left + fLeft.Width;f6.Height=fLeft.Height;f6.Pane=76;f6.AffectsFormMode=false;f6.Value="Test1";f6.Description = "Zusatzregister";
// REGISTER AUF FORM LADEN UND GRUPPIEREN
pVal.Form.AddItem(f6);
pVal.Form.Update();
f6.GroupWith("SWA_CT_Ads");
//pVal.Form.PaneLevel = 76;
// WENN MAN AUFS REGISTER KLICKT, DANN MUSS DAS PANELEVEL "VON HAND" GESETZT WERDEN
SwissAddonFramework.UI.EventHandling.ItemEvents.ClickEventHandler delFolder = null;
delFolder = delegate (SwissAddonFramework.UI.EventHandling.ItemEvents.Click ev)
{
ev.Form.PaneLevel = 76;
};
f6.AddHandler_Click(SwissAddonFramework.UI.Components.ModeComponent.FormModes.ALL, delFolder);
return true;
habe das nicht getestet, sollte aber gehen.
Rolf Walker
hallo Manuel!Danke für deine Mühe für mein Problem!
Es klappt leider immer noch nicht. Ich sehe das zusätzliche Register leider nicht.
Schade!
Danke trotzdem!
Gruss,
Rolf
Manuel Marhold
Hi Rolf,noch eine idee
deaktiviere coresuite management und tausche "SWA_CT_Ads" gegen "138" aus
und mir ist da noch ein Fehler im quellcode aufgeaffeln.. der kann gar nicht laufen
hier korrigiert:
// NEW REGISTER
// get left register
SwissAddonFramework.UI.Components.Folder fLeft = SwissAddonFramework.UI.Components.Folder.GetFromUID(pval.Form,"SWA_CT_Ads")
SwissAddonFramework.UI.Components.Folder f6 = SwissAddonFramework.UI.Components.Folder.CreateNew("WAL_F6");
// PARAMETER DES NEUEN REGISTERS
f6.Top=fLeft.Top;f6.Width=100;f6.Left=fLeft.Left + fLeft.Width;f6.Height=fLeft.Height;f6.Pane=76;f6.AffectsFormMode=false;f6.Value="Test1";f6.Description = "Zusatzregister";
// REGISTER AUF FORM LADEN UND GRUPPIEREN
pVal.Form.AddItem(f6);
pVal.Form.Update();
f6.GroupWith("SWA_CT_Ads");
//pVal.Form.PaneLevel = 76;
// WENN MAN AUFS REGISTER KLICKT, DANN MUSS DAS PANELEVEL "VON HAND" GESETZT WERDEN
SwissAddonFramework.UI.EventHandling.ItemEvents.ClickEventHandler delFolder = null;
delFolder = delegate (SwissAddonFramework.UI.EventHandling.ItemEvents.Click ev)
{
ev.Form.PaneLevel = 76;
};
f6.AddHandler_Click(SwissAddonFramework.UI.Components.ModeComponent.FormModes.ALL, delFolder);
return true;
also erst den korrigierten Code ausprobieren, wenn das nicht geht: managemtn deaktivieren und SWA_CT_Ads gegen 138 austauschen
Sascha Balke
Hallo Rolf und Manuel,hier ein kleines Beispiel:
http://www.coresuite.ch/forum.html?&tx_mmforum_pi1[action]=list_post&tx_mmforum_pi1[tid]=2893#pid
In diesem Beispiel habe ich jedoch keine Funktionen berücksichtigt.
Hoffe es hilft weiter.
Einfach importieren und los gehts!
Rolf Walker
Hallo Sascha!Danke für dein CoCu File!
Interessanterweise klappt es damit! Jedoch:
Wenn ich den Code aber quervergleiche mit dem, welchen ich gepostet habe, sehe ich eigentlich keine grossen Unterschiede! Mit Ausnahme, dass der Wert f2.pane = xx bei dir fehlt!
Und noch interessanter ist die Tatsache, dass wenn ich zum Beispiel den Wert f2.Value oder die ID des Ordners - in deinem Beispiel "EISG_F001" auf unsere Bedürfnisse anpassen will klappt es auch nicht mehr resp. ich sehe dann den Folder im Kundenauftrag nicht mehr - obwohl ich die änderungen durchgängig im ganze Code ändere!
Was könnte das sein?
Gruss,
Rolf
Manuel Marhold
Hi Rolf,kann ich mir fast nicht vorstellen, aber teste mal: die Länger der Werte, die du in Value und vorallem Description schreibst.
Sascha Balke
Hallo Rolf,hast du denn daran gedacht den Namen "EISG_F001" an zwei Stellen anzupassen?
Wenn du überhaupt nicht weiterkommst, könnten wir auch eine Remote-Session durchführen.
0
Please sign in to leave a comment.
Comments
0 comments