As this is a security bug in NAV, I would not suggest misusing this bypass…
After having stated this, we all have seen situations where we cannot use access the code of an object. Mostly, this is because of your license permissions. It seems there is actually a workaround for this, which I just accidentally found out.
It will only work from 2009 R2 onwards, because you need the “Go to definition” function in code. With saying this, probably most of you will know how to continue next.
As an example, open a default NAV 2009 R2 database with the Customer license file (the Cronus license cannot access code anywhere). Most of the Customer licenses allows to edit the reports in their range, which is all we actually need.
In the database, we can for instance choose design of table Company Information. However, we are not allowed to view code nor the globals.
The next step is pretty easy. We go to the reports, and create a new one (no need to save it). Create a global variable to record Company Information (it does not work on a data item).
Go to the code anywhere in the report and type: “<RecordVar>.INSERT;”
Put your cursor on INSERT and go to the definition (F12 or View – Go to Definition).
Note that now you can also view globals/locals and actually change/save the object…