Neuen Menüpunkt im Hauptmenü
Daniel 25
Hallo zusammen,ich habe mir im Hauptmenü einen neuen Punkt angelegt so weit so gut!
Nun würde ich gerne die Standartbenutzerabfragen dort drin stehen haben!
Ist das irgendwie möglich???
gruß
Daniel
Sascha Balke
Hallo Daniel,was für Standartbenutzerabfragen meinst du?
Bitte etwas genauer was dein Ziel ist.
Daniel 25
Hallo,die wo du in SAP über den Abfragemanager erstellt!
Systemabfragen - als Standarttool von SBO
die kann man ja nur oben über die Menüleiste aufrufen!
Das wäre halt über ein zusätzlichen Menüpunkt einfacher ;)
gruß
Daniel
Anders Olsson
Hi Daniel,I'm not sure if you mean System Queries or User Queries... Here's a rule to copy the User Queries hierarchy to the main B1 menu:
const string SAPMODULESUID = "43520";
const string USERQUERYMENU = "53248";
const string NEWMENUID = "mnuQueries";
// Get the B1 main menu
SwissAddonFramework.UI.Components.MenuItem sapMenu = SwissAddonFramework.UI.Components.MenuItem.GetFromUID(SAPMODULESUID);
// Get the "User Queries" menu
SwissAddonFramework.UI.Components.MenuItem sapQueryMenu = SwissAddonFramework.UI.Components.MenuItem.GetFromUID(USERQUERYMENU);
// Create a new top-level popup-menu
SwissAddonFramework.UI.Components.MenuItem newQueryMenu = SwissAddonFramework.UI.Components.MenuItem.CreateNew(NEWMENUID);
newQueryMenu.Type = SwissAddonFramework.UI.Components.MenuItem.MenuType.Popup;
newQueryMenu.Value = sapQueryMenu.Value;
sapMenu.SubMenus.AddMenuItem(newQueryMenu);
// Loop through the "User Queries" menu and create an identical structure in the main menu
foreach (SwissAddonFramework.UI.Components.MenuItem subMenu in sapQueryMenu.SubMenus.MenuItems.Values)
{
SwissAddonFramework.UI.Components.MenuItem newSubMenu = SwissAddonFramework.UI.Components.MenuItem.CreateNew("_" + subMenu.UniqueID);
newSubMenu.Value = subMenu.Value;
newSubMenu.Type = SwissAddonFramework.UI.Components.MenuItem.MenuType.Popup;
foreach (SwissAddonFramework.UI.Components.MenuItem item in subMenu.SubMenus.MenuItems.Values)
{
// Base the new UID on the existing menu items UID (prepend an underscore)
SwissAddonFramework.UI.Components.MenuItem newItem = SwissAddonFramework.UI.Components.MenuItem.CreateNew("_" + item.UniqueID);
newItem.Value = item.Value;
newItem.Type = SwissAddonFramework.UI.Components.MenuItem.MenuType.String;
SwissAddonFramework.UI.EventHandling.MenuEvents.MenuEventHandler MenuClickDelegate =
delegate(SwissAddonFramework.UI.EventHandling.MenuEvents.MenuClick eventVal)
{
// This code will be called when the user clicks an entry in the new menu.
// We will simply activate the related menu entry in "User Queries"
string queryMenuId = eventVal.UniqueId.Substring(1, eventVal.UniqueId.Length - 1);
SwissAddonFramework.UI.Components.MenuItem menu = SwissAddonFramework.UI.Components.MenuItem.GetFromUID(queryMenuId);
menu.Activate();
};
newItem.AddHandler_Click(null, MenuClickDelegate);
newSubMenu.SubMenus.AddMenuItem(newItem);
}
newQueryMenu.SubMenus.AddMenuItem(newSubMenu);
}
sapMenu.Load();
return true;
Enjoy!
Regards,
Anders Olsson
EDIT: Systemabfragen... System Queries... my German is not the best... Should be straightforward to re-jig the code to suit your purpose.
Daniel 25
hi,I mean the queries under: Extras -> Queries -> User Queries
Ok thanks!
I try it ;)
greetings
Daniel
0
Please sign in to leave a comment.
Comments
0 comments