Labels

Monday, January 20, 2014

Ledger Exchange adjustment Not calculated correctly

I would like to share a problem with dynamics AX exchange adjustment function.

Symptoms:
1. You run exchange adjustment in December period (any year)
2. But the result your ledger balance in company currency (MST) / Ledger balance in transaction currency is not equal to the December end exchange rate

Problem:
There is closing transaction exist for the year. Turn out the user run the year end closing (GL>Periodic>Fiscal year close>Opening transaction) prior the exchange adjustment in december  period.

Solutions:
1. Cancel the opening transactions : GL>Periodic>fiscal year close>Opening transaction and set "Balance accounts" to "Reset"

2. Rerun exchange adjustment
3. Rerun the opening transaction, this time choose per normal parameter "Balance accounts" set to "Closing>Opening"

Hope it helps :)

Cheers.

Wednesday, January 15, 2014

Copy user groups from one user to another X++

Hi All,

Below job can be used to copy user groups from one user to another.

Relevant for AX 2009, AX 4.0 and Axapta 3.0

static void AXEcopyUserGroup(Args _args)
{
    usergrouplist usergrouplist,ins;
    userid src,dest;
    dialogfield srcdf,destdf;
    dialog dialog;
    ;
    dialog = new dialog("copying user's user groups");
    srcdf = dialog.addField(typeid(userid),"Source");
    destdf = dialog.addField(typeid(userid),"Destination");
    

    
    if(dialog.run())
    {
        src = srcdf.value();
        dest = destdf.value();
        if(src!="" && dest !="")
        {
            ttsbegin;
            while select * from usergrouplist
            where usergrouplist.userId == dest
            {
                info(strfmt("Before update: '%1'-'%2'",usergrouplist.userid,usergrouplist.groupId));
            }
            
            info("Deleting user groups from destination user");
            delete_from usergrouplist
                where  usergrouplist.userId == dest;
                
                
            info("Copying user groups to destination user");
            while select * from usergrouplist
            where usergrouplist.userId == src
            {
                info(strfmt("source user: '%1'-'%2'",usergrouplist.userid,usergrouplist.groupId));
                ins.clear();
                ins.data(usergrouplist);
                ins.UserId = dest;
                ins.insert();
            }
            ttscommit;
            info("User groups has been copied!");
        }
    }
    else
    {
        info("Canceled by user");
    }
    
   
}

Friday, January 3, 2014

Optimizing performance Microsoft Dynamics AX 2012 R2 Solution Demos Virtual Machine VM on your laptop

Update: Microsoft Dynamics AX 2012 R3 was released on May 2014. You might want to have it on your laptop instead of AX 2012 R2. Read the newest guide here (with full screenshot):
http://daxetlbi.blogspot.sg/2014/09/optimize-ax-2013-r3-virtual-machine.html


Usually people use use Virtual Box, VM ware or Hyper-V for the purpose of exploring new function of AX 2012 or preparing for pre-sales activity to prospect.

I found those method are not effective since you may only have limited resource on the laptop.
You may want to remote to your server at office but don't rely on prospect's internet access or your mobile 3G/4G connection to remote to your office. You don't want to take a risk for this.

Here is a simple method that you can do it in  30 minutes (excluding downloading the VHD from Partner source).
Yes, you hear me correctly 30 minutes.



This method use the feature to attach VHD to your disc management and create bootup file.

System specification that i use:
  1. Existing windows 7 ( i believe it should work for windows 8 too)
  2. SSD 1 GB
  3. RAM 16 GB
  4. i7 CPU, 2.3 Ghz
  1. Step 1. Download the VHD image from the partner source here (https://mbs.microsoft.com/customersource/downloads/servicepacks/AX2012DemoToolsMaterials.htm) .
    If you already have on your disk skip this step and use it instead. You can use also existing vhd that has been used by VirtualBox Vmware or HyperV.
  2. Setup dual booting of windows 7  and Windows server 2012 (use VHD from step 1)

    Follow the step on this great blog: http://blogs.technet.com/b/blainbar/archive/2012/09/25/step-by-step-4-ways-to-dual-boot-microsoft-windows-8-and-windows-server-2012-with-or-without-windows-7.aspx

    There are 4 articles there, make sure you just pick up the first tutorial
    1. Dual Boot to Windows 8 or Windows Server 2012 from within the Windows 7 Operating System using an existing .VHD
    Once reached the step number 8, you can have dual OS, Windows 7 and Windows server 2012 with the AX 2012 demo solution inside.
    You can still access your drive in the windows 7 from the windows 2012 so not to worry to copy your data over.

    At this point you can use AX 2012 demo VM at full resource of my laptop (16 GB RAM, i7 CPU). Cool isn't it.
  3. Optional - Wireless LAN feature setup. By default you don't have Wifi manager in the new server. You can go to the windows feature to activate the wifi lan manager then restart.
  4.  Role Center and Enterprise portal. You can edit the host file as usual. Go to C:\Windows\System32\drivers\etc\hosts and open up with notepad.
    And just add two lines below:
    127.0.0.1 dynamicsax.contoso.com
    127.0.0.1 sharepoint
    Basically this is to intercept DNS to point the website back to local host.
    Go to your IIS Manager then open up site>dynamics AX and on the right side click "Edit binding" then change the ip address to 127.0.0.1 as well.


Chandra W. Setiawan
Freelance Dynamics AX Consultant