While using D365FO it is sometimes helpful to be able to view the actual data within a particular table from a web browser. This has previously been done via the SysTableBrowser menu item display, but recently there was a message on the D365UG forum that trying to navigate to this menu item was throwing an error.
If you are unfamiliar with the SysTableBrowser you can utilize it by using the following URL syntax:
<RootD365FOEnvURL>/?mi=SysTableBrowser&tableName=<tableName>&cmp=<companyId>
So for example if you wanted to utilize the UserInfo table you would use:
<RootD365FOEnvURL>/?mi=SysTableBrowser&tableName=UserInfo&cmp=DAT>
Normally a user would be able to utilize this feature by being assigned the ‘Open Table Browser’ privilege and read access to the table you want to be able to view.
But in recent versions of D365FO, a (non-SysAdmin) user would see the following error:
Let’s look to see why this is, if we go into the AOT and look at the parameters of the menu item display you will see that the the ‘Allow Root Navigation’ parameter is set to No. This means that you will not be able to directly access this menu item and would have to navigate to it through the UI.
Since we can’t modify this object directly since D365FO doesn’t allow over-layering, what can we do to continue to use this feature?
The first step is to duplicate the SysTableBrowser menu item display into a custom project, by default the new menu item display will be called SysTableBrowserCopy but you can rename this if you would like.
Since this object is now a custom object, you can now make changes to the parameters of the object itself. This allows us to change the ‘Allow Root Navigation’ parameter from No -> Yes.
Now we need to setup security to this new object, in our example we are looking to access the UserInfo table so I set up the following security:
Now we can test this by either using a role test workspace or assigning this role to a user and having them navigate to the new menu item with the following URL:
<RootD365FOEnvURL>/?mi=SysTableBrowserCopy&tableName=UserInfo&cmp=DAT)
Conclusion
Hopefully this helps with continuing the user of the table browser functionality within a web browser. This process should also be able to be used in a production environment. Feel free to reach out with any questions.
nice like this one
The property in combination with non-admin user didn’t seem to be the exact cause.
I did a quick check with a user who has role Project Manager & system user.
Error faced while accessing SysTableBrowser – ‘Access Denied: You do not have sufficient permissions to open the menu item systablebrowser. Please contact your system administrator.’
While accessing ProjTableCreate – ‘You are unable to navigate directly to this menu item projtablecreate.’
While accessing ProjProjectsListPage – No error.
For all the mentioned menu items, AllowRootNavigation is set to No
Deepika,
The AllowRootNavigation parameter is what is causing the issue for the SysTableBrowser menu item specifically, this does not mean that any menu item with that property set to ‘No’ can be opened if this process is followed and that property is set to ‘Yes’ or that it is required for the page to open (like in your ProjProjectsListPage example).
Hello, how can I let it only see the tables that have the assigned role and not all of them, thanks
Andres,
I am unsure what question you are asking, can you provide more information?
Hello Alex,
Greetings of the day.
I have use new action menu item (ActionDemoMenuItem) and given same property of menu item SysTableBrowser on my new menu item . Further assigned to a role but table browser is not accessible .
But If use display menu item (DisplayDemoMenuItem) and use same properties of menu item SysTableBrowser then it works.
So we have to achieve this solution with action menu item only
Harsh,
You need to be using a menu item display object to create your new form as menu item displays tie to a form which is what you are looking to create.
You cannot use a menu item action to replicate the SysTableBrowser because the SysTableBrowser is of type menu item display to begin with.
Hello Alex,
With my custom sys table browser – I am unable to modify/update value in table browser. Where as same table I am able to update using standard sys table browser. Is there anything I need to do?
Arun,
I would HIGHLY advise not updating values from the SysTableBrowser regardless of if you are using the standard or customizing it. This bypasses all business logic checks from the application and should only be used as a ‘read only’ interface for troubleshooting.
If you want to update values, I would recommend looking at the Custom Scripts functionality: https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/deployment/run-custom-scripts