• Home
  • About Me
  • Contact Me
  • Downloads
  • White Papers
  • Web Sites
  • Post List
  • Articles
  • FAQ

Olof Simren - Microsoft Dynamics 365 Business Central Blog

  • Home
  • About Me
  • Contact Me
  • Downloads
  • White Papers
  • Web Sites
  • Post List
  • Articles
  • FAQ

Record Permissions in NAV 2016

November 9, 2015 Posted by Olof Simren General, Miscellaneous 9 Comments

One of the new super useful features in Microsoft Dynamics NAV 2016 is the capability to record table data permissions by simply going through the process in the application.

For those of you that have been implementing NAV/Navision when the classic client was around are probably familiar with this process since the classic client came with a client monitor which results you could turn into permissions quite easily. I did this all the time in the ‘old days’, but since the replacement of the classic client I have not found a good way of recording permissions until now. So, for me this feature brings me ‘back in business’ when it comes to setting up permissions in a proper way.

In this blog post I will not only describe the new functionality but also the way I think it should be applied (basically how I did for years using the classic client). The overall concept is to create a permission set (previously called role) for each process within the business and then use the corresponding documentation to record the permissions.

Most (almost all) Dynamics NAV implementations involves documenting the new processes and procedures that the new ERP system brings. Typically this is done by creating work instructions for each process (at least that is my experience). The work instructions are sometime very simple and other times very detailed, similar documents could also go under the term standard operating procedures (SOP) or even test scripts. To me they are kind of the same with some slight variations in the content and details.

Using documentation like that to setup the permission sets makes a lot of sense. You then by default document what you can do with each permission set and you can delegate the work of setting up the permissions to the key users that are preparing the work instructions. And if you are ever subject to a software audit you can just show the work instructions that correspond to the permission sets to describe what each user can do.

Below is an example of how I think this should be done.

You start with the list of processes that you have defined as part of the general Dynamics NAV implementation. It can for example look like below where you have an Excel spreadsheet with a list of processes together with an ID, responsible key user and a status of the process.

Process-Register-Dynamics-NAV-2016

Each of the key users then create work instructions for their corresponding areas (this could also be a task for the consultants helping with the implementation). A work instruction is in my mind a word document with some screen shots that described how to do a process (like creating a vendor) in Dynamics NAV.

Now to ‘transform’ the process register and work instructions above to corresponding permission sets in Dynamics NAV you first need to create the permission sets and then for each of them record the permissions by going through the corresponding work instruction.

Below are how the standard NAV permission sets looks like. A lot of the time the first approach would be to use those and then tweak them to fit your specific need. My experience with this is that it works but you end up with permission sets you don’t really know what they include. So, my approach is to first just delete them all except for the SUPER ones and the FOUNDATION set (which is the old ALL role).

Standard-Permission-Sets-Dynamics-NAV-2016

You then end up with permission sets as below.

Standard-Permission-Sets-To-Keep-Dynamics-NAV-2016

Then you copy/paste your processes from the process register in Excel into Dynamics NAV as permission sets.

New-Permission-Sets-Dynamics-NAV-2016

For each of the permissions sets you then need to define the permissions. This could at first glance seem to be a lot of work, but with the new way of recording the permissions it is actually quite quick (I know because I used to do this when the classic client was around). The task can also be divided between the key users, each of them doing the recording for the processes they have defined and described (during the test phase using super user permissions).

The recording is done by selecting start in the record permission group in the ribbon of the permissions page, and then select yes. Makes sure you read the message that appears about cache, you basically need to close and reopen NAV or the company to clear the cache to be on the safe side.

Start-Permission-Recorder-Dynamics-NAV-2016

You then just leave the permission page alone and go directly to the process you are about to record permissions for. When you are going through the process, make sure to cover everything that needs to be done and if you insert a record make sure to also modify and delete it if that should be part of the permissions. When you done you simply select stop in the header of the permissions and then yes in the dialog that appears.

Stop-Permission-Recorder-Dynamics-NAV-2016

The tables that where involved in the process you did are now added to the permission set, nice! 🙂

Only table data permissions and no indirect permissions are captured (indirect changes becomes yes in the permissions). Only capturing the table data permissions is in line with how the standard permission sets are done as will, the FOUNDATION permission set gives the user full access to all the other object types and then you basically just limit what they can do by setting the table data permissions. My experience is that this works fine. Not capturing indirect permissions is a small drawback, but not something to be worried about.

When you have recorded the permissions it makes sense to review it a bit, for example if you have inserted a record by forgot to delete it you can just add the delete permission here (same with modify). You can also just start the recorder again to add to an existing permission set.

Recorded-Permissions-Dynamics-NAV-2016

Another nice feature on the permission page is the ability to add read permissions to all related tables. For example if you are recording a permission set for creating a new vendor then this function will make sure you also have read permissions to the related tables so that you can make lookups in fields like the payment method code, posting groups, currencies, etc.. Sweet! 🙂

Add-Read-Permission-to-Related-Tables-Dynamics-NAV-2016

To finish the permissions setup you obviously need to assign the permission sets to users. You do this in the permissions set by user page by simply checking the permission sets that should be granted to the individual users.

Permission-Sets-By-User-Dynamics-NAV-2016

Permission sets can also be assigned to groups of users. This is useful of you have multiple people or logins that should have the same permissions. To do this you first assign the users into groups using the users by user group page. In the below example I have two shop floor terminal logins that are grouped into a SHOP group.

User-By-User-Group-Dynamics-NAV-2016

Then you set the permission sets per group.

Permission-Set-by-User-Group-Dynamics-NAV-2016

That’s it! Super simple! 🙂

Remember to test the permission sets (use the work instructions to test it). When testing it is useful to know that you can log in as a different windows user without having to log out and in of windows (so you can have two clients open at the same time), you can do it this way; Run Dynamics NAV as Different User.

I hope the above gave you an idea of how you can structure and setup the permissions in Microsoft Dynamics NAV. As always, feel free to comment below or share this post.

Also note that I will be at Convergence 2015 EMEA in the end of this month. I will be at the KCP Dynamics booth, talking about this and other Dynamics NAV related things. If you are going to convergence, please drop by booth number 3 where the KCP Dynamics team is and say hi.

Cheers! 🙂

Share this:

  • Share on Facebook (Opens in new window) Facebook
  • Share on X (Opens in new window) X

Related


Discover more from Olof Simren - Microsoft Dynamics 365 Business Central Blog

Subscribe to get the latest posts sent to your email.

Tags: Convergence 2015 EMEAKCP DynamicsNAV 2016Permission SetsPermissionsRecorderSecuritySOPwork instructions
9 Comments
Share
7

About Olof Simren

I am a Microsoft Dynamics NAV and 365 Business Central Expert, I started implementing Microsoft Dynamics NAV in 2002, back then it was called Navision Attain. Throughout the years there has been many exciting implementations in different parts of the world, all of them with different challenges but with one common theme; manufacturing. As a consultant, I bring over 20 years of experience in implementing Microsoft Dynamics NAV and 365 Business Central within manufacturing and distribution companies. The services I offer includes project management, consultation, development and training. Feel free to contact me if you need help with anything related to Microsoft Dynamics NAV or 365 Business Central. I work through my company Naviona where I team up with other skilled Microsoft Dynamics NAV and 365 Business Central Experts.

You also might be interested in

Field Level Security using Events in Dynamics NAV 2016

Mar 11, 2016

One of the cool new features in Microsoft Dynamics NAV[...]

C/AL Editor in Dynamics NAV 2016

Nov 25, 2015

The 2016 version of Microsoft Dynamics NAV comes with a[...]

9 Comments

Leave your reply.
  • Lars
    · Reply

    November 10, 2015 at 2:46 AM

    Great write-up Olof!

    Thanks!

  • Luc van Vugt
    · Reply

    November 10, 2015 at 3:43 AM

    Thanx for this comprehensive post. Very useful for us all.

  • E Hill
    · Reply

    November 10, 2015 at 8:09 AM

    Does the solution depend on the use of FOUNDATION instead of BASIC as the prerequisite permission set? We had been using BASIC for RTC to replace the ALL of the classic client. Would it work too?

    • Olof Simren
      · Reply

      Author
      November 10, 2015 at 8:21 AM

      Good question!
      The BASIC will work as well I believe, it seems to be a ‘wider’ permission set that allows more than the FOUNDATION one.

      This is from the Microsoft help:
      BASIC
      Grants Read access to almost all application tables and all system tables.
      The main purpose of this permission set is to enable the client to open and show all pages.
      FOUNDATION
      A prerequisite for all other permission sets. The FOUNDATION permission set grants access to system tables and application setup tables that are required for most application features to work.

      I compared the permissions in the FOUNDATION set with the permissions in the ALL role in an older version and they seemed to be the same. While the BASIC provided read access to a lot more.

      /Olof

  • Uwe Appel
    · Reply

    November 26, 2015 at 2:03 AM

    Thanks Olof,
    great overview and work instruction, that helps so many of us in their daily work
    Saved me a lot of ime.

    br
    Uwe

  • Alan
    · Reply

    December 17, 2015 at 3:55 AM

    From what i can see, the recording adds only TableData permissions. What if you have a general table for code lists and you must set permissions based on Pages?

    • Olof Simren
      · Reply

      Author
      December 17, 2015 at 5:05 PM

      I am afraid that you will have to do that manually (adding the pages). The good old client monitor in the classic client captured all types of objects, but not this permission recorder.
      Not sure if the add-on called ‘easy security’ will do it.

      /Olof

  • Royce Lithgo
    · Reply

    September 19, 2017 at 12:34 AM

    Many thanks for this. I am about to embark on setting up user security in NAV 2017. The delivered Permission Sets don’t appear to be documented and also, as you pointed out above, you have no idea what is in each set. I found that BASIC gives read access to too many things and is not a good starting point for the average user.

    I like the approach presented here. Do you have any updates to it for NAV 2017?

    • Olof Simren
      · Reply

      Author
      October 2, 2017 at 6:39 PM

      Hi Royce,
      Thanks for your comments.
      The recorder works the same in 2017, with the difference that it records all types of objects (not only table data), which is nice!

      /Olof

Leave a Reply

Your email is safe with us.
Cancel Reply

Subscribe to My Blog via Email

Check Out Our Apps in AppSource

My Dynamics NAV Partner

Naviona, LLC

Categories

  • Assembly (3)
  • Development (35)
  • Finance (14)
  • General (28)
  • Inventory (24)
  • Manufacturing (36)
  • Miscellaneous (27)
  • Purchase (9)
  • Sales (11)
  • Warehouse (7)

Tags

.net Add-in AI AppSource Assembly Assembly BOM Business Central CAL Capacity Consumption Contact Copilot Costs Customer Development Dimensions Excel Finance Flushing General Ledger Inventory Item Item Tracking Low-Level Code MRP NAV 2015 NAV 2016 Output Planning Production Production BOM Production Orders Purchase Orders Receipts Reporting Reports Routing Sales Sales Order Stockkeeping Unit Subcontracting Task List Warehouse Warehouse Shipment Work Center

Recent Posts

  • Business Central Configuration Audit using Vibe Coding
  • Copilot in Planning Parameter Worksheet
  • Copilot in Planning Worksheet
  • Copilot Inventory Queries
  • Record Deletion Tool for Business Central in AppSource
  • Reopen Finished Production Orders
  • XML Buffer and CSV Buffer Tables
  • Functionality Improvements in NAV 2017
  • Reversing Production Output and Consumption
  • Return Merchandise Authorization (RMA)

Categories

  • Assembly
  • Development
  • Finance
  • General
  • Inventory
  • Manufacturing
  • Miscellaneous
  • Purchase
  • Sales
  • Warehouse

Contact Us

We're currently offline. Send us an email and we'll get back to you, asap.

Send Message

Categories

  • Assembly (3)
  • Development (35)
  • Finance (14)
  • General (28)
  • Inventory (24)
  • Manufacturing (36)
  • Miscellaneous (27)
  • Purchase (9)
  • Sales (11)
  • Warehouse (7)

Tags

.net Add-in AI AppSource Assembly Assembly BOM Business Central CAL Capacity Consumption Contact Copilot Costs Customer Development Dimensions Excel Finance Flushing General Ledger Inventory Item Item Tracking Low-Level Code MRP NAV 2015 NAV 2016 Output Planning Production Production BOM Production Orders Purchase Orders Receipts Reporting Reports Routing Sales Sales Order Stockkeeping Unit Subcontracting Task List Warehouse Warehouse Shipment Work Center

Recent Posts

  • Business Central Configuration Audit using Vibe Coding
  • Copilot in Planning Parameter Worksheet
  • Copilot in Planning Worksheet
  • Copilot Inventory Queries
  • Record Deletion Tool for Business Central in AppSource
  • Reopen Finished Production Orders
  • XML Buffer and CSV Buffer Tables
  • Functionality Improvements in NAV 2017
  • Reversing Production Output and Consumption
  • Return Merchandise Authorization (RMA)

Recent Comments

  • Olof on Business Central Configuration Audit using Vibe Coding
  • Andrew Trayfoot on Business Central Configuration Audit using Vibe Coding
  • Barrett Allen on Reopen Finished Production Orders
  • Kateryna on Business Central Configuration Audit using Vibe Coding
  • Takeshi Setoya on Reopen Finished Production Orders
  • Steve on Consignment Inventory
  • Olof Simren on Copilot in Planning Worksheet
  • Omaer Amjad on Copilot in Planning Worksheet

© 2026 · Olof Simren

  • Home
  • About Me
  • Contact Me
  • Downloads
  • White Papers
  • Web Sites
  • Post List
  • Articles
  • FAQ
Prev Next