Open the Table Browser with a Bookmarklet | Dynamics 365 Finance & Operations

Quick post about a simple, browser agnostic tool for opening the Table Browser more easily in Dynamics 365 Finance and Operations.


Ever want to look at data in the table browser but you cannot/will not install a browser extension? Create a bookmarklet!


What is a bookmarklet?

A bookmarklet is a browser bookmark that contains JavaScript code, rather than a URL. This code when executed can automate actions on a page, prompt for information, and more.


The below bookmarklet will allow a user to store the root URL to a Dynamics 365 Finance and Operations environment. It will then prompt for a short name and a table name to take the user to the table browser!


How to use the "Go To Table Browser" bookmarklet

Click on the bookmarklet



JavaScript prompts for the short name of the environments you defined

Next it prompts for the table name

A new tab will open (if it does not, check your popup blocker!) taking you to the table browser in the environment and table specified.



How to create

I would love to give this bookmark out but...it's unique to each situation. Thus, you will have to create this yourself. The following will walk you through how to do this.

  1. Start by copying the code below into a code or text editor.

  2. Replace the URL in each CASE of the switch statement

  3. Rename the CASE for the short name of your environment

  4. Remove any CASE that are not needed.

  5. Next, minify the code by pasting into an online JavaScript minifier (such as https://jsminify.org/) to make the code into a single line. 🔑 This is key to making the code "paste-able" into the bookmark URL.

  6. Once the code is minified, create a new bookmark, and paste the code into the URL attribute

Your bookmarklet should be ready to go! Try it out!


Note: This bookmarklet assumes using the users default Company. It could be extended to add another prompt for Company.



Code

javascript: var rootURL, name, environment = prompt("Environment? (Dev1, Dev2, Build, UAT, Prod)", ""),
    errorMessage = "No Error";
switch (environment) {
    case "Dev1":
        rootURL = "https://{replaceme}.cloudax.dynamics.com";
        break;
    case "Dev2":
        rootURL = "https://{replaceme}.cloudax.dynamics.com";
        break;
    case "Build":
        rootURL = "https://{replaceme}.cloudax.dynamics.com";
        break;
    case "UAT":
        rootURL = "https://{replaceme}.cloudax.dynamics.com";
        break;
    case "Prod":
        rootURL = "https://{replaceme}.cloudax.dynamics.com";
        break;
    default:
        rootURL = "ERROR", errorMessage = "Invalid Environment Reference"
}
"ERROR" == rootURL ? alert(errorMessage) : (name = prompt("Table Name?", ""), window.open(rootURL + "?mi=SysTableBrowser&prt=initial&limitednav=false&tablename=" + name.toLowerCase()));