Thursday, September 10, 2015

Financial Modules Setup Checklist AX2012



As setting up financial modules in Microsoft Dynamics AX is getting more and more complex due to a large set of parameters, a checklist in order to avoid wasting time going back and forth between dependent ones becomes a real need. With some experience in Microsoft Dynamics AX configurations from scratch, hereby, I provide sort of a road map to get essential features up and running. I assume that the legal entity is already created with related Organization administration module setup also configured, although, you can set them up later:
  1. Financial Dimensions: General ledger > Setup > Financial dimensions > Financial dimensions
  2. Dimension link: Inventory and warehouse management > Setup > Posting > Dimension link
  3. Fiscal calendars: General ledger > Setup > Fiscal Calendars
  4. Rate Types:  General ledger > Setup > Currency > Exchange rate types
  5. Exchange rates:  General ledger > Setup > Currency > Currency exchange rates
  6. Chart of Accounts: General ledger > Setup  > Chart of accounts  > Chart of accounts
  7. Account structures  General ledger > Setup > Chart of accounts > Configure account structures
  8. Ledger: General ledger > Setup > Ledger
  9. Number sequences: Organization administration> Common> Number sequences> Number sequences
  10. Bank Accounts: Cash and bank management > Common > Bank Accounts
  11. Accounts for automatic transactions:  General ledger > Setup > Posting > Accounts for automatic transactions
  12. Ledger posting groups:  General ledger > Setup > Sales tax > Ledger posting groups
  13. Sales tax authorities: General ledger > Setup > Sales tax > Sales tax authorities
  14. Sales tax settlement periods:  General ledger > Setup > Sales tax > Sales tax codes
  15. Sales tax groups: General ledger > Setup > Sales tax > Sales tax groups
  16. Item sales tax groups:  General ledger > Setup > Sales tax > Item sales tax groups
  17. Journal names: General ledger > Setup > Journals > Journal names
  18. General ledger parameters: General ledger > Setup > General ledger parameters
  19. Terms of payment: Accounts payable > Setup > Payment >Terms of payment
  20. Vendor groups: Accounts payable > Setup > Vendors > Vendor groups
  21. Posting profiles: Accounts payable > Setup > Vendor posting profiles
  22. Accounts payable parameters: Accounts payable > Setup > Accounts payable parameters
  23. Terms of payment: Accounts receivable > Setup > Payment > Terms of payment
  24. Customer groups: Accounts receivable > Setup > Customers > Vendor groups
  25. Posting profiles: Accounts receivable > Setup > Customer posting profiles
  26. Accounts receivable parameters: Accounts receivable > Setup > Accounts receivable parameters
  27. Item groups: Inventory and warehouse management > Setup >Inventory > Item groups
  28. Posting: Inventory and warehouse management > Setup >Posting > Posting
  29. Inventory and warehouse management > Setup >Inventory > Item model groups
  30. Your comments!

How to create AX Shortcuts for different testing users




When testing scenarios, we often need to run AX in different users so we can test applied configurations or customization etc. The standard way to do that is to use Shift+Right click on AX Shortcut and then click on Run as different user.
Frankly, this way is time consuming and error prone, especially, when time is pressing, and it is also confusing when leading a presentation to your customer.

Fortunately, there is an easy way to automate it :

1- Create a new shortcut : Right Click on Desktop > New > Shortcut.
2- Once your are on the above screen, here is what to put in the location: C:\Windows\System32\runas.exe /user:<DomainName>\<UserName> /savecred “C:\Program Files (x86)\Microsoft Dynamics AX\60\Client\Bin\Ax32.exe”.
3- Click Next.
4- Give a Name to your shortcut.
5- Click Finish.
6- Run the shortcut, “cmd” will open. Type the user password and then press Enter.
7- That’s it!
Now the credentials are saved in the system, so the shortcut won’t ask for password anymore.
Hope it helps.

Report Wizard in Management Reporter

Are you new to Management Reporter?  Do you want to quickly design some basic reports?  Management Reporter has a step by step report wizard that allows you to quickly create a balance sheet, income statement, or trial balance.  (Tools -> Report Wizard)

As you can see from the screen shot below, there are multiple report templates available; with the option to include budget data as well.




Once, the report type has been selected, you can select the  accounts that you want to use.  On the right hand side of the window below you can see a drop down list for each report section.  After you select a report section, you can add the accounts that belong in that section of the report from the list of available dimensions in the left column.  One nice feature is that when an account is added to a section of the report, it’s removed from the available dimensions in the left column.  This ensures that an account is not duplicated on your report.


After adding the accounts to each section, you can edit the sections of your report.  In the screen shot below, you can see that I have selected a row in the report.  After doing that, I had the option to move that row up or down in the report.  You can also double click the descriptions for each of the lines to edit them.



 In the next window of the Report Wizard, you can preview the report.  There is an option in the upper left to shade the total lines.



After previewing the report, you can choose the structure of you report.  This option allows you to create a report for the entire company or create multiple reports based on a dimension in your chart of accounts.  For example, you could select to create an income statement based on your location dimension or project dimension.



Finally, you will need to give your report a name and description, and enter in the year/period that you would like to generate the report for.



The final window of the Report Wizard is a summary view of the information that was entered.  The thing that I really like about the Report Wizard is that it automatically creates your row, column, and tree (if applicable) for you AND it gives those building blocks the same name as the report for easy identification later.


 In summary, the Report Wizard is an easy way to quickly create a report.  Also, for new users, it’s a great way to view a completed row, column, or tree, as well as see how the building blocks work together to build a report.

Friday, September 4, 2015

Voided sales order function

Microsoft Dynamics AX has a function to control for the deleted sales orders or deleted lines, on this post will illustrate the voided sales order function, where the deleted sales order lines are stored in another form for reference only. First this function must be activated under accounts receivable parameter.
Accounts receivable| Setup| Accounts receivable parameters then under General go to Sales fast tab, under Setup field group, Tick the following option Mark the order as voided. 

During the sales order transaction assume that the end user after select a sales line then delete it, the deleted line is moved to Voided sales order form


Let us create a new sales order line and delete it from the header

Then go to Sales and marketing| Inquiry| History| Voided sales orders

The voiced sales order form will open, and the voided sales orders will be shown as the following screen shot

The Voided filed has two options;
  • The first is Voided lines; which represents the sales order lines that have been deleted and the sales order header is not deleted
  • The second is Voided; which represents the sales order that have been deleted from the header 
Go to Lines tab, which shows the voided lines.

You can press Show to show the sales order and order lines.

Saturday, July 18, 2015

Quickly Update Data Through X++ Scripts

, I want to update the Calculation Group on all of my released products – because I forgot to load it through DIEF.

  1. To create the script, just open up the AOT by pressing CTRL+D.
  2. And then press CTRL+SHIFT+P to open up the Projects explorer.
  3. Right-mouse-click on the Projects folder and select the Project option from the New sub-menu to create a new Project.
  4. This will create a new Project folder for you and if you click on it then you will be able to access the Properties window.
  5. Change the name on the Project so that it is a little more descriptive.
  6. Then right-mouse-click on the project and select the Open option to open up the project itself.
  7. When the Project is displayed, right-mouse-click on the header and select the New menu, and then the Job option.
  8. This will open up an X++ scripting pane for you to write your code within.
  9. Now is the dirty part. Create a variable that points to the table you want to update – in this case it’s the InventTable by adding this line of code: InventTable item;
  1. Then create a loop that will step through every record by typing this:

    while
    select forUpdate item
    {
    }
  1. Then add your code to see if there is a record in the table to update:
    if (item)
    {
    }
  1. Finally, add your code to update the record:
    ttsBegin;
    item.BOMCalcGroupId = “DEFAULT”;
    item.update();
    ttscommit;
  1. The full code will look like this.

    static
    void Job11(Args _args)

    {

    InventTable item;


while select forUpdate item
{
if (item)
{
ttsBegin;
item.BOMCalcGroupId = “DEFAULT”;
item.update();
ttscommit;
}
}
}

  1. To run the job, just click on the green play button in the menu bar.

Now all of the records will be updated for you.


That wasn’t as hard as you probably thought was it.

Microsoft Dynamics AX 2012 - Basic Security Concepts

In AX 2012, role based security provides an extensible framework for defining access to the Microsoft Dynamics AX application and data. It changes a little bit from what we know in ax 2009.

In AX 2009, administrators had to, literally, create their own user groups and manually assign users to those groups.  Also, in order give permission to a user group to execute a particular operation, the administrator had to identify objects, such as tables, fields, and menu items that were required for the operation, which was a pain in AX 2009 as identifying these elements was time consuming.

However, in AX 2012, security is role-based, and many security roles are predefined by the application to make the setup portion of it easy for us. Now, it is important to really comprehend this positive change as in role-based security, users are assigned to roles based on their responsibilities in the organization and their participation in business processes.  In fact, AX 2012 introduces duties, which are a group of privileges (See a short definition below). In addition, an administrator no longer has to identify application objects and grant access to those objects. Instead, the administrator grants access to the duties that users in a role perform and that's it.

In addition, in AX 2012 all permissions for all application objects have been grouped into task-based privileges and duties.  This means that an administrator only has grant access to the Maintain sales order duty, which includes all of the permissions that are required to view, create, modify, and delete sales orders.

Another interesting change has been the concept of reusable permissions.  I don’t know if you had the chance to work with multiple companies in AX 2009, but you couldn’t allow user groups could not span multiple companies. As a matter of fact, if the same functional role was required in two companies, an administrator had to create two user groups and so on and so forth. You know where I’m going with this, right?

In terms of record-level-security, this function is still available in AX 2012, but it will be removed in future versions. In ax 2012, the data security framework I used to help secure the data and take security privileges into account. For example, an administrator can grant View access to one subset of Purchase Orders and Edit access to another subset of Purchase Orders.

There are a few definitions about the AX 2012 security terminology I would like to share with you:




A security role represents a behavior pattern that a person in the organization can play. A security role includes one or more duties.


A duty is a responsibility to perform one or more tasks.  A duty includes one or more privileges.

Privileges specify the access that is required to perform a duty.  A privilege includes one or more permissions.

Permissions include the access level to one or more securable objects that are required to perform the function associated with an entry point.