Skip to main content

Adding users in Management Reporter from AX2012 R2

thank you TOMMY SKAUE

I have been getting some requests from blog readers on how users are added in Management Reporter. If you are on AX2012 R2 with CU7 and onwards the users are collected directly from AX by the service itself. This means that if you attempt to create the users from Management Reporter, the MR client (Report Designer) will stop you.

Management Reporter comes with 2 users and a limited license. So the very first thing you need to do is load the license. You will find the license on VOICE where you find the license for Dynamics AX. Load the license and observe the number of users granted. Management Reporter has four types of users: Viewer, Designer, Generator and Administrator. The account installing will become administrator immidately, and as soon as the service starts it will start collecting users from AX.

What typically happens is that you'll get your own user in right away, and then the two users given by the demo license. You then load the license and then the service adds the remaining users.

If you still don't see any users, it is most likely due to one of these two:

  1. No users have the correct roles in AX
  2. An error
The overview of roles is in the Whitepaper "Management Reporter Integration Guide for Microsoft Dynamics AX (DynAXDataProvInstGuide_ENUS)". But since you're reading here, I'll list the current ones:

Designer: Accounting manager, Accounting Supervisor.
Generator: Accountant, Accounting manager, Accounting supervisor, Chief executive officer, Chief financial officer, Compliance manager, Financial controller
Administrator: Security Administrator
Viewer: No roles but there is a privilege. Create your own role or edit one of the existing ones if you need this MR role.

As for error, the only problem I've experienced so far is having AX users who were removed from Active Directory. The service will simply stop collecting users as soon as it hits a user in AD which it cannot find in Active Directory. Personally, I would prefer if the service skipped inactive users. In one of my environment I had a handful of users who were deleted from AD, and these users prevented the service from collecting all the users.

Popular posts from this blog

Dynamics Axapta: Sales Orders & Business Connector

Well, again folllowing my same idea of writting close to nothing and pasting code, I'll paste in some code to create a sales order from some basic data and the invoice it. I'll try to explain more in the future. AxaptaObject axSalesTable = ax.CreateAxaptaObject("AxSalesTable"); AxaptaRecord rcInventDim = ax.CreateAxaptaRecord("InventDim"); AxaptaRecord rcCustTable = ax.CreateAxaptaRecord("CustTable"); rcCustTable.ExecuteStmt("select * from %1 where %1.AccountNum == '" + MySalesOrderObject.CustAccount + "'"); if (MySalesOrderObject.CurrencyCode.Trim().Length == 0) MySalesOrderObject.CurrencyCode = rcCustTable.get_Field("Currency").ToString().Trim(); string sTaxGroup = rcCustTable.get_Field("taxgroup").ToString().Trim(); //set header level fields axSalesTable.Call("parmSalesName", MySalesOrderObject.SalesName.Trim()); axSalesTable.Call("parmCustAccount", M

Passing values between form and class

Class name is EmplDuplication and Form is EmplTable . void clicked() {    MenuFunction mf;    args args = new Args();    ;     args.record(EmplTable);     mf = new menufunction(identifierstr(EmplDuplication), MenuItemType::Action); mf.run(args); } Meanwhile, in the main() method of the EmplDuplication class, we need to put this Axapta x++ code to get the datasource: static void main(Args args) {     EmplDuplication EmplDuplication; EmplTable localEmplTable; ;     if(args.record().TableId == tablenum(EmplTable)) localEmplTable = args.record();     ... }