Showing posts with label hasMenuItemAccess. Show all posts
Showing posts with label hasMenuItemAccess. Show all posts

Tuesday, June 7, 2011

Macros in AX 2009 - AX 2009

Macros are constants, or pieces of code, that are being taken care of by the compiler before the rest of the code to replace the code where the macro is used with the content of the macro.

There are three different types of macros: stand alone macros, local macros, and macro libraries.

Macros are typically constant values that are only changed by developers. They are used so that developers don't have to hardcode these kind of values in the X++ code, but rather refer to the macro.

Thursday, March 17, 2011

Axapta: Validate Access to return value from display method - Ax 2009

I was working on a report today and after compiling it I saw that the compiler gave me some Best Practices errors.

Basically the error said : Validate Access to return value from display method.

Well, the compiler is smart enough to remind us that we need to consider if a specific user should have access to the data that you are returning from the function.

In addition, to check if a user has permissions to a specific field, we can use the hasFieldAccess function. There are other functions we can use as well such as hasMenuItemAccess, hasSecurityKeyAccess amd hasTableAccess.

An example is shown below:


//BP Deviation Documented
display vatNumJournal TaxExemptNum()
{
    if(!hasFieldAccess(tablenum(SalesTable), fieldnum(SalesTable, VatNum)))
        throw error("@SYS57330");

    if (SalesTable.VATNum)
        return SalesTable.VATNum;
    else
        return '';
}

The BP Deviation Documented comment line just above the function is to tell the compiler we have addressed the issue.