I am trying to get a listing of all the context menus and the menu items so we can figure out some security things… However, I got no results when trying to run a BAQ on Ice.ContextMenu, Ice.ContextMenuItem and IceContextValidation. Ran each separately – no records on any of them.
I am not sure how it is done or why, but if you search both C:\ProgramData\Epicor and in your Epicor client install directories you will find files called “ContextMenu.xml” and “CustomContextMenu.xml”
ContextMenu tables are historical. If you have custom context menus then they now reside in the Ice.XXXChunk table, search for relevent Company, ProductID = “EP”, typeCode = “Customization”, Key1 = “CustomContextMenu”. the “Chunk” column contains Base64 encoded XML which describes the menu(s). Dont think you can decode it in a BAQ, however in code there is a library Ice.Lib.Framework.GenXObject, function DecompressString, or else manually copy it to a online convertor such as https://www.base64decode.org/.
For standard menu items, I think BAQ’s default to including a Company where cause - and the standard menus are all any company so would get filtered out. IIn the BAQ, make sure you tick the [Cross Company] check box so you can get at the menus.
The menu system gets cached, which is the XML files mentioned by Richard.