Monday, February 22, 2010

AX Client Cannot Connect to AOS

This may be a simple one for some of you, but these are the common things to look out for when installing clients so that they will connect to the AOS:

 

1.       Ensure the port you are trying to connect to is open on the Internal Firewall. Default is 2712. This can be changed in the AOS however, so ensure whatever port that is, that it is open for the client to access

2.       When creating a config file from the server that is a 64bit computer, it points the folders to “Program Files (x86)”. If you are importing that AXC into the client, ensure that you change the folder pointers to “Program Files” first, before importing it.

3.       Ensure that you have matching Service Packs installed on both client, AOS and Application

Tuesday, February 16, 2010

Windows 7 Phone

i can see Dynamics AX apps appearing on this phone. In fact i can see AX being the development platform for deploying mobile applications? possible or do you think im dreaming?

http://gizmodo.com/5471805/windows-phone-7-series-everything-is-different-now?skyline=true&s=i

Sunday, February 14, 2010

AX Modification Tracker

i created this simple tracker in sharepoint to keep track of my AX Modifications



here are the call statii


here are the modules list


Tuesday, February 9, 2010

Silent Client Installation

When you want to set up an AX client without user intervention, do the following.

 

Export a Config file and place it in a shared location. Eg AXSERVER.axc

 

Create a text file in the same directory as the installation file. Insert into it the following:

 

LogDir="C:\TMP"

HideUi=1

AcceptLicenseTerms=1

InstallClientUI=1

ClientConfig=1

ClientAosServer=AXSERVER

ClientLanguage=en-au

ClientConfigFile="P:\DynamicsAX\config\AXSERVER.axc"

ConfigurePrerequisites=1

 

Then just call the setup file from the prompt by using this syntax

P:\DynamicsAX\install\setup.exe ParmFile=P:\DynamicsAX\install\SilentParamFile.txt

 

The same thing can be done with the Service Pack installs

 

Text File Content:

LogDir="C:\TMP"

HideUi=1

AcceptLicenseTerms=1

 

Then run

P:\DynamicsAX\SP1\axupdate.exe ParmFile=P:\DynamicsAX\SP1\SilentParamFileSP1.txt

 

Tuesday, February 2, 2010

The Year of the Cloud: How Coming Microsoft Products Will Make Dynamics AX the Basis of New Solutions

Good time to be in AX...

The Year of the Cloud: How Coming Microsoft Products Will Make Dynamics AX the Basis of New Solutions

Welcome back, jaysalt.

BY Brandon George, Senior Technical Architect, Sunrise Technolgies, Inc.

PUBLISHED: January 26, 2010

People have been talking about The Cloud for years, and now it’s arrived. 2010 for sure will be the year of the Cloud. And though it's not on any official calendar, those born under the year of the cloud are sure to be free thinkers, operational vs. capital based, have abilities to get projects going on their feet --- and into the cloud quickly.

Seriously, the next release,  or wave of Microsoft products, will enable more and more solutions to actually be true Hyrbid clouds. This means Dynamics AX customers will need to understand what is expected, as part of their solution design.  The next wave is just the very first part of what is on the horizon. Microsoft Dynamics AX is the business platform, which the rest of the platform makes use of to offer a total, single, hyrbid platform for users.

Most all businesses, in some form or fashion, have an interest level in the Cloud. When I talk to clients about Microsoft Azure, Microsoft's cloud platform, the biggest thing I see as an issue is what the cloud offers.  So here is my take on what the cloud offers now,  and likely in the future.

First, we must understand that  there will be two ways services and whole applications, including legacy, can live in the cloud.

As one approach, you have the true cloud based Software+Services, 'Three Screens and a Cloud' marketing tag lined approach. This includes services that are built using SQL Azure, .Net AppFabric, Windows Azure, etc. that are multi-tenant based. This means they can scale up or down, without need for the services of a system administration, depending on the load of the given service or services at hand.

This first approach is what makes such cloud-based services different from a typical hosting environment, like having a server co-located somewhere and users hitting it. This is also different than having a service hosted on some web server, and users consuming it.

Once created, and set up, then the need of the service, truly governs the resources used to serve that need.

Enter the second option for Azure platform based software or services. This is where, for example, a legacy application could be used. Here, what you have is a provisioned virtual image, which sits on top of the Azure platform. This is very similar to having a co-located box somewhere. This is not dynamically scalable, and so has a set of finite resources... unless an admin type increases those resources.

The second option is a pay-for-use as well, and it's spread out over the CPU, Disk I/O, etc.

So, now we have a better idea of what it means to be built on the Azure platform. The current service offerings from Microsoft, are of option one. These are truly dynamic scalable services, depending on the need, built using Windows Azure, .Net AppFabric, SQL Azure, etc.

While you will have the ability to consume and work with services developed by Microsoft, you’ll also be able to create your own, custom, true cloud services with Dynamics AX, and also make use and consume third party cloud based services.

 

Monday, February 1, 2010

Quick Tax Calculation

So sometimes all you need is to calculate an amount’s tax. Here it is.

 

static void CalcTax(Args _args)

{

    Tax         tax;

    Amount      taxAmount;

    ;

    tax = new Tax();

    taxAmount = tax::calcTaxAmount("GST","GST",systemdateget(),"AUD",100,TaxModuleType::Project);

   

    print taxAmount;

    pause;

}

Browsing System Tables

So you want to have a quick peek under Dynamics AX’s skirt and see how it hangs? Sometimes, you can be reading X++ that references to tables that you cannot find under the Tables node. These are more than likely System Tables.

 

An easy way to browse system tables is to go to AOT > System Documentation > Tables. You can see a list of system tables. Double clicking or right click > opening it will only bring up the help file connected to that table

 

You have to do “Right Mouse Click > Addins > Table Browser” to view the table. If you are logged in as Admin, you can do a lot of damage in these tables. I suggest you DONT change anything from here unless you really really know what you’re changing and why.

 

 

Check whether Current User is in Admin Group

If you want to check the current user is in the Admin group, use the UserGroupList system table. You can extend this code to check if a user is in a particular security group or not.

 

//check the UserGroupList system table if the current user is in there

#Admin

boolean canDoStuff()

{

    boolean ret;

    UserGroupList groupList;

    ;

   

    select firstfast groupList where

        groupList.groupId == #AdminUserGroup

        &&  groupList.UserId == curuserid();

 

    if (groupList)

        ret = true;

    else

        ret = false;

       

    return ret;

}

Sending Mail

You can use the SysInetMail class to send mail from AX. The example below also uses the Email Group setup in CRM

 

Public void EmailNotifyList(smmEmailGroupId _listName,str _subject, str _text)

{

    EmplTable emplTable;

    EmplId _emplId;

    smmEmailMembers emailList;

    sysInetMail sysInetMail = new sysInetMail();

    ;

 

    while select emailList index hint GroupIdx

        where emailList.GroupId == _listName

    {

        _emplId = emailList.EmplId;

        if (_emplId)

            if (emplTable::find(_emplId).Email)

                sysInetMail.sendMail(emplTable::find(_emplId).Email,_subject,_text, false);

   }

}