Book Image

Microsoft Dynamics NAV 2009 Programming Cookbook

By : Matthew Traxinger
Book Image

Microsoft Dynamics NAV 2009 Programming Cookbook

By: Matthew Traxinger

Overview of this book

Microsoft Dynamics NAV 2009 is a business management solution that helps simplify and streamline highly specialized business processes such as finance, manufacturing, customer relationship management, supply chains, analytics, and electronic commerce for small and medium-sized enterprises. ERP systems like NAV thus become the center of a company's day-to-day operations. When you learn to program in an environment like this it opens up doors to many other exciting areas like .NET programming, SQL Server, and Web Services.Microsoft Dynamics NAV 2009 Programming Cookbook will take you through interesting topics that span a wide range of areas such as integrating the NAV system with other software applications like Microsoft Office, creating reports to present information from multiple areas of the system, and so on. You will not only learn the basics of NAV programming, but you will also be exposed to the technologies that surround the NAV system such as .NET programming, SQL Server, and Web Services.The first half of the cookbook will help programmers coming to NAV for the first time by walking them through the building blocks of writing code and creating objects like tables, forms, and reports. The second half focuses on using the technologies surrounding NAV to build better solutions. You will learn how to write .NET code that works with the NAV system and how to integrate the system with other software applications like Microsoft Office or even custom programs. You will also discover some of the features of the Role Tailored Client including creating Pages and custom add-ins.
Table of Contents (18 chapters)
Microsoft Dynamics NAV 2009 Programming Cookbook
Credits
About the author
About the reviewer
Preface
Index

Checking for user-assigned roles


The NAV system checks permissions every time you look at data or run an object, but what if you need to check permissions manually? This recipe will show you how to examine a user ID to check for a specific role.

How to do it...

  1. Create a new codeunit from Object Designer.

  2. Add a global function called VerifySecurity that returns a Boolean value named HasPermission.

  3. This function should take in three parameters:

    Name

    Type

    Length

    RoleID

    Code

    20

    CompanyRequired

    Boolean

     

    SuperAllowed

    Boolean

     
  4. Add the following code to the function:

    HasPermission := CheckUserId(RoleID, CompanyRequired, SuperAllowed);
    
  5. Add a global function called CheckUserID that returns a Boolean value.

  6. This function should take in the same three parameters as the VerifySecurity function.

  7. Add the following local variable to the function:

    Name

    Type

    Subtype

    Session

    Record

    Session

  8. Add the following code to the function:

    Session.SETRANGE("My Session", TRUE);
    IF NOT Session.FINDFIRST THEN
    EXIT...