You do not have the following permissions on TableData

When we develop in Microsoft Dynamics NAV, we use a Developer License that has permissions to the standard objects different of the license of the final customer.

Using the customer’s license you may encounter error messages as follows:

You do not have the following permissions on TableData {TableName}: {Read/Insert/Modify/Delete}

An example could be running a Codeunit that modify a record in the standard table 6550 Whse. Item Tracking Line.
You do not have the following permissions on TableData

Considerations:
I’m pretty sure that most of you after will receive an error like this, first will search the table number of the one in the error message. Then you will realize that is in the range of the standard objects (e.g. 6550) and you will start thinking why this error didn’t happen during your tests.

Well, the answer is obvious if you think that probably you tested using the Developer license and that the Customer’s license has different permission to access to the standard objects.

Causes:
Create a new Page using the wizard of type List to show all the fields of the system table Permission Range.
Then run it with the Customer’s license and filter for the object in the error message (i.e. TableData 6550)
Permission Ranges
As you can see, this TableData in the Customer’s license has Insert/Modify/Delete permission as Indirect. This means that you CANNOT do those action directly in that table.

Note: Remind that if you are saving the license in the database or you upload a new license you must restart the instance service.

In the meantime you realized (maybe debugging) that the code that caused this error is in a Codeunit. Bingo!!!

You do not have the following permissions on TableData

Solution:
Open the Codeunit in design and assign in the Properties the correct Permissions to the tables
Permissions

Did my solution solve your problem? Leave a comment.

Unix set date and time command

To set date and time use date command with -s parameter

date -s "02/13/2013 17:52:04"

To list the date and time of the server use date command without parameters

date

Did my HOW TO help you? Leave a reply.

HOW TO create a bulleted list in Microsoft Windows Phone App

To create a bulleted list in Microsoft Windows Phone App you have the following options:

  1. Write text inside your xaml file using and elements
        <TextBlock TextWrapping="Wrap">
          New features:<LineBreak/>
          <Run>• No Ads</Run><LineBreak/>
          <Run>• Message Encryption with Password for a double protection</Run><LineBreak/>
          <Run>• Advanced settings</Run><LineBreak/>
          <Run>• and more...</Run><LineBreak/>
        </TextBlock>
        
  2. Write text inside you Resouces file (use SHIFT+RETURN to create new line)
        
          New features:
          • No Ads
          • Message Encryption with Password for a double protection
          • Advanced settings
          • and more...    
        
  3. Create a bulleted or numbered list in Blend

Did my HOW TO help you? Leave a reply.

HOW TO get the Process ID (PID) of a Service

Start Command Prompt Window (Start -> Run -> cmd) and execute the following command:

tasklist /svc

Otherwise, if you know the Service Name you can use

sc queryex {Service Name}

Did my solution solve your problem?