I have explained how to find and add permissions in Dynamics NAV, if you start getting error messages: You do not have permission to read TABLE table. However, there is another way (which is sometimes necessary for developer to use rather than for end-user) – assinging permissions directly to Object (table, form, report, dataport, xmlport, codeunit, page – every object except MenuSuite.
Basically, the license file (your fin.flf) determines the permissions that users have within Microsoft Dynamics NAV. These permissions are further filtered (restricted) by the security permissions that you grant the different users.
However, sometimes the license file only gives you indirect permission to perform operations on certain tables. If you only have indirect permission to, for example, insert data into a particular table, you cannot insert data into this table from the standard user interface. You must use a database object that has been given extra permission to insert data into the table in question.
After you set the Permissions property of an object, only users with direct permission to perform all the extra operations that the object has been given can modify this object.
Do not use the Permissions property to give extra permissions to an object that you would like your users to be able to modify. These users might not have direct permission to perform these operations. This is why you should be careful when you use the Permissions property for tables and forms.
A great example could be codeunit 80 “Sales-Post”. If you would design the codeunit,
and click View > Properties (or SHIFT+F4), find property called “Permissions”,
Click on “Value” column for “Permissions” property and drill down into Permissions (or click F6):
So, as you can see, default Dynamics NAV Codeunit 80 “Sales-Post”, gives users indirect permissions to Insert/Modify/Delete Sales Line table, only to Modify Purchase Header, etc.