Visual Studio – Dynamics AX 2012 R3 – Version control integration

Hi to all,


Today from an MS engineer (thanks Mansour) I got the information that when working with Visual Studio projects (stored in AOT) it is recommended to use “Microsoft Dynamics AX Version Control” as source control plug-in for Visual studio.



See here the link of the MS Engineer for full documentation of the information provided.


Doing that you still will use the version control system set up in AX (i.e. Team foundation server) but it is no longer managed directly by Visual studio but through AX TFS integration.

Having this you can check projects in and out in both Visual Studio Solution Explorer and MorphX IDE. You can view the history in MorphX IDE.






  • There seems to be some limitation for Analysis services project. See the following note on MSDN ( )
  • In addition, I have noted that some TFS Explorer functionalities will be no longer visible until you switch back to “Visual Studio Team Foundation Server”.


Using “Microsoft Dynamics AX Version Control”

Instead using “Visual Studio Team Foundation Server”

  • Also the history in Visual Studio cannot be seen unless switch back to Visual Studio Team foundation Server.


Happy DAXing

Posted in Dynamics AX | Tagged , , , , , | Leave a comment

AX2012 Print options (Current/After) posting sales/purchase orders

In AX2012 there have been added an option in the posting form “Print” where 2 option can be chosen.

  • Current (After posting a single document)
  • After (When all posting of journals is done)

In addition in the code (See Class SalesFormLetter.printout()) there are some additional checks that overrides the behavior:

  • In case of Proforma (always Current is used)
  • In case the print out goes to screen for copy or original print the printout is always After
  • Otherwise the setting of the posting form is used

This is just for reference.

Posted in Dynamics AX | Tagged , , , | 3 Comments

AX2012 Posting of Sales/Purchase orders parallelism settings

Doing some investigations regarding posting of sales orders (Picking lists, packing slips and invoices), I’ve noticed that in AX2012 there have been added the following parameters on Sales and Purchase to set the number of orders that needs to be passed per batch created during execution of posting the documents in batch having late selection set.

Number of documents in batch task

Suppose you have 31 Sales orders to post, AX will create 7 batch tasks, each containing 5 sales orders and the last one containing a single order. In case 0 or a lower number is specified 5 will be set automatically by the system.

All these batch tasks will be executed in parallel. Depending on the setting in the batch server configuration n batch tasks can be executed in parallel by the batch server.

Server configuration – Maximum batch thread

In this case only 8 thread will process the single batch tasks created (8 is the default).

Consider that these setting of the batch threads is not only used for sales/purchase order posting but for all batch tasks executed on the give AOS batch server in the time frame indicated.

See also the following link for additional documentation:

Optimizing AX Batch Performance – Batch Thread Configuration

Batch Server overview [AX 2012] – TechNet

Additional Information for AX2012 Form Letter Framework

Here some important classes that are used to post documents

  • The main entry point is the class FormLetterService with its post….() methods. You can see that on the different menu items (here an example of Picking list posting)

  • In addition for batch processing see the subclasses of class FormLetterBatchTask. Theses classes are used during batch processing to fork different batch tasks that will perform the multithreading operations.

    Here a short description of these classes for references.

    • FormLetterParmDataCreateDataBatchTask: Creates the parm table entries in late selection. There will be n batch tasks depending on the number of orders to post and on the setting of the “Number of documents in batch” explained before.
    • FormLetterParmDataRearrangeBatchTask: performs the rearrange of the parm tables in late selection. This batch task is executed single threaded on completion (Finish or Error) of the FormLetterParmDataCreateDataBatchTask tasks.
    • FormLetterServiceBatchTask: Performs the posting routines in batch execution. The execution is multithreaded. There will be n batch tasks created of these type depending on the parm tables to be posted and the parameter “Number of documents in batch”. The creation of these tasks will be done on termination of FormLetterParmDataRearrangeBatchTask
    • FormLetterServiceEndBatchTask: Performs final operation of posting. In this step depending on the settings of the print options the printing of the journals created is performed (This is a new feature of AX2012. I will cover it in a separate Blog Post). The execution of the task is single threaded.


You can use different AOS and tweak these parameters in order to improve performance during batch execution.

Posted in Dynamics AX | Tagged , , , , | 4 Comments

New Whitepaper: An introduction to surrogate key replacement in Microsoft Dynamics AX 2012

Microsoft has now provided a new whitepaper that explains everything around the new surrogate key concepts added in AX2012.

You can download the whitepaper here:

From the document: 

  • Explanation of surrogate keys concept and definition
  • Table Field Group AutoIdentification (Automatically managed through replacement key vs. manual managed in advanced scenarios)
  • Forms “Reference Control” (display human-understandable data in place of surrogate foreign keys)
  • Forms “Reference Group control” (specialized version of the group control to show primary table data)
  • Forms “Segmented Entry control” (specialized control designed specifically for use with account number entry)
  • Forms “Reference Data Source” (Read only data source of a referenced primary table, to show additional information in a form)
  • Forms “Reference Fields” (physical binding to Reference Controls that allows developer to override default lookup and resolving behavior)
  • Class  SysReferenceTableLookup for custom lookup coding
  • Class FormRun extensions

In addition for all topics there are provided examples to understand how to use the functionalities in different scenarios. 

This whitepaper is a must read for each developer using AX2012!!!

Posted in Dynamics AX | Tagged , , , , , | Leave a comment

Whitepaper (Updated AX2012 R2): New, changed and deprecated features in AX2012

Microsoft has recently updated its whitepaper with some new and deprecated features in AX2012 R2.


Following sections have been updated:

  • Product wide features (Budget planning, Payroll, Data partitioning)
  • Deprecated features (Fill utility, some localization features of GLS layer (CHN, EEUR, HUN, IND, JPN, LVA, POL, RUS, THA)


Posted in Dynamics AX | Tagged , | Leave a comment

New Whitepaper: Change management and TFS integration for multi developer projects in Microsoft Dynamics AX2012

Finally a new white paper for change management was provided from Microsoft through information source. This document includes also some topics regarding building AX2012 including VS projects.

Here the link for the document. You need access to information source to download it.

From the document:


This document describes development tasks and best practices that are related to application life cycle management in Microsoft Dynamics AX 2012. It focuses on managing metadata changes across Microsoft Dynamics AX installations when multiple developers are working on the same application.

1. Private AOS topology with TFS

A private AOS topology is a setup where each developer has his or her own Microsoft Dynamics AX client, AOS instance, model database, and business database. This development topology is recommended by Microsoft. Artifacts are synchronized between developers by using one of the supported version control systems (VCSs) in Microsoft Dynamics AX, and a solution is produced by creating a “build” of the sources in the VCS. Microsoft Dynamics AX supports integration with the following VCSs: Microsoft Visual SourceSafe, Microsoft MorphX VCS, and TFS. This document covers only TFS.

This topic discusses the tasks for administators and developers in order to build models using a single AOS per developer and build.

2. Shared AOS topology

This section describes a shared AOS development topology and contains guidelines to help you achieve the most predictable experience when multiple users are sharing the same AOS instance. This topology is not recommended, because many issues may arise

In addition some interesting topics around branching,signing models, user permissions and build informationsare provided.

Posted in Dynamics AX | Tagged , , , , , | 1 Comment

Build and deploy scripts for Microsoft Dynamics AX 2012

New Build and deploy scripts for Microsoft Dynamics AX 2012 have been provided by Microsoft.

See the link here

From the blog:


The scripts provide automation for creation and deployment of builds for Microsoft Dynamics AX 2012. The scripts can be used with TFS providing end to end solution for build and deployment. The script performs tasks like sync, creation of TFS label, combining multiple source XPOs to single XPO, validating if build is healthy, etc. These scripts can also work with non-TFS version control where it provides all functionality except the one related to TFS.


Following scenarios are covered:

1. Creating a build – A Microsoft Dynamics AX build is created from specific versions of source files (XPO files, Visual Studio projects, and label files) in the TFS central repository. Source files that share a common label constitute a specific build of a Microsoft Dynamics AX model or application. Output of a build would be model file(s).

2. Deploying a build – Developer(s) should be able to deploy model file(s) (generated from build process or manually) in Ax installation(s).

Posted in Dynamics AX | Tagged , , , , | Leave a comment