Friday, October 26, 2012

Get rid of "The model store has been modified" dialog

After upgrading Microsoft Dynamics AX 2012 you will get the following dialog upon starting the AX client:

When you have performed the appropriate upgrade actions (AOT compile, code check, CIL compile, synchronize, upgrade scripts), the dialog still might pop up every time you start the client. Selecting "Skip" will not solve this.

To avoid the dialog from appearing, you can do one of the following:

  1. If you have started one of the checklists, check that you have marked alle the actions as complete by clicking the link "Mark as complete" on each action.
  2. Prevent the dialog from appearing by clicking
    System administration > Setup > Checklists > Prevent startup of checklists

I would prefer the first alternative, since it will require you to confirm that you actually performed all the necessary upgrade steps.

Wednesday, October 17, 2012

Simple page number field in AX 2012 SSRS report

When developing AX 2012 reports in Visual Studio you might want to add a simple page counter field that shows both the current page number and the total number of pages and is prepared for any language.

Looking at the SalesInvoice report, the page numbering is done using four fields:

Copying this to another report/layout will require some adjusting, since the information is split up into four fields. Also, if you are (for some reason) printing thousands of pages, you might need to adjust the field widths.

To add a simple page numbering field to your report, create a new placeholder in a field and set the value expression to:

=Labels!@SYS7426 + " " + CStr(Globals!PageNumber) + " " + Labels!@SYS70751 + " " + CStr(Globals!TotalPages)

This will produce an output like this:

Tuesday, October 2, 2012

An exchange rate cannot be found

You might get the following error in AX 2012 (typically when running a report):

An exchange rate cannot be found for exchange rate type [TYPE] between currencies [CUR] and [CUR] on exchange date .

[TYPE] represents the currency type [CUR] represents currencies.

Please try the following solution:

  1. Go to General ledger > Setup > Currency > Currency exchange rates
  2. Choose the default exchange rate type
  3. a) Add a new exchange rate to all conversions with a blank start date OR
    b) Remove the start date from one of the currency rates on all conversions