Permission Property at table level

bijaljambusaria
bijaljambusaria Member Posts: 46
Dear all,

What is the use of permission property defined at table level? Can anybody describe with one good example?

thanx

Comments

  • bijaljambusaria
    bijaljambusaria Member Posts: 46
    Futher to first question, what is the importance of the same property at form level?
  • SteveO
    SteveO Member Posts: 164
    The permissions property exists for all object types.

    It is used to override the license restrictions for certain tables.

    For example the General Ledger Entry table, a normal user's license only has permission to read from this table. But Codeunit 12 assigns the permissions for Insert, Modify and Delete. This is to enable the code to run with permissions that the user doesn't actually have. The permissions that are assigned only exist within the context of the object in question. (So this means that the permissions only apply to Codeunit 12, not any other objects that may be called and it isn't the user that is being given the permissions it is the code).

    Below is taken from the Online Help
    Permissions
    Use this property to give a database object extra permission to perform some operations on one or more tables. The operations can be to read, insert, modify and delete data.

    Applies to
    Tables, forms, reports, dataports and codeunits

    Comments
    The license file determines the permissions that users have within Navision. These permissions are further refined by the security permissions that you grant the different users within Navision.

    Sometimes the license file only gives you indirect permission to perform operations on some tables. Security permissions can also be used to give users only indirect permission to some 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.

    Important
    Once you set the Permissions property of an object only users that have 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 ordinary 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.
    This isn't a signature, I type this at the bottom of every message
  • bijaljambusaria
    bijaljambusaria Member Posts: 46
    Can I term it like this?

    With normal user license, it wont be possible to insert, modify or delete (say) G/L Entry table. So, user will not be allowed to make this changes directly in this table but he can make changes in G/L entry when he runs codeunit - 12 at the time of some transaction.

    Is that right?
  • SteveO
    SteveO Member Posts: 164
    Yes that's exactly right :)
    This isn't a signature, I type this at the bottom of every message
  • kriki
    kriki Member, Moderator Posts: 9,124
    Can I term it like this?

    With normal user license, it wont be possible to insert, modify or delete (say) G/L Entry table. So, user will not be allowed to make this changes directly in this table but he can make changes in G/L entry when he runs codeunit - 12 at the time of some transaction.

    Is that right?
    More correctly: the customer-license gives Indirect permissions to those tables.
    So a user will not be able to insert/modify/delete in that table with a form, even if the user has those permissions on Yes (and not only on Indirect).
    But if you put into the object the permissions to insert/modify/delete in that table, then the object can do it.
    Regards,Alain Krikilion
    No PM,please use the forum. || May the <SOLVED>-attribute be in your title!


  • bijaljambusaria
    bijaljambusaria Member Posts: 46
    Doubt solved! Thanks SteveO, Thanx Kriki..! =D>