The Infolog

A blog of Dynamics AX development tips and tricks

Skip to: Content | Sidebar | Footer

Tag: AX

Display/Edit method caching

4 March, 2014 (10:54) | Dynamics AX | By: Howard Webb

When developing a new form or a new table that will have display or edit methods we should be thinking about how costly these types of methods are. Adding lots of these methods to a form can cause a large delay in opening and refreshing as these methods are recalculated every time a refresh is […]

Drill through on SSRS reports.

28 February, 2014 (15:48) | Dynamics AX, SSRS | By: Howard Webb

Drill through links in SSRS are controlled by C# code which produces a URL that can be processed to call AX which can open a form with the appropriate record. There is a common class (DrillThroughCommonHelper) that will need to be either referenced or modified if you would like to use a lookup in Your […]

Navigation links within a SSRS report

27 February, 2014 (16:38) | Dynamics AX, SSRS | By: Howard Webb

If you are developing a larger auto-design report which groups data together it might be worth adding document navigation to the query to allow the end user to jump between sections of the report:     To do this you will need to set up grouping on your table to allow the jumping. The label […]

Google maps mini-map for customers

10 October, 2013 (14:04) | Dynamics AX, Uncategorized | By: Howard Webb

I wanted to move some of the google maps work I did in AX 2009. One of the bits I did originally was to produce a mini map in the customer screen:   I decided to fit better with 2012 I have moved it to a factbox. To create a fact box first you have […]

Using AIF services

30 September, 2013 (13:46) | Uncategorized | By: Howard Webb

Here are the steps to get AIF up and running and accessible. In this example I have created an excel add-in to pull on hand information for items.   Create a port   Firstly you need to create a port to allow access to your data. There are two ways of creating a port, you […]

Using a Custom .net Control within AX 2012

30 September, 2013 (09:43) | Uncategorized | By: Howard Webb

I have developed a form using a 3rd party .net control and used this within a Dynamics Ax form in AX 2012. The control I used was the Amazing progress bar found here: http://www.codeproject.com/Articles/182973/The-Amazing-ProgressBar-Control To use a custom .net control firstly you will need to add the reference DLL file to all client. Adding the […]

Saving and merging Infolog items for later use

29 September, 2013 (15:38) | Uncategorized | By: Howard Webb

The job below that will get Infolog items, clear them and save each one for later use. This can be of use when you need to record the Infolog for later viewing static void Job1(Args _args) { container errors; container t; int i; int length; ;   warning(“Test1”); error(“Test2”); errors = conIns(errors, 1, t);   […]

Using the Outlook API to produce drafts

29 September, 2013 (15:22) | Uncategorized | By: Howard Webb

I have been playing a bit with the email process of an SSRS report in AX 2012 as a self-learning exercise. Thought it might be worthwhile to share the code I have written so far. Using real life examples of requested functionality I have changed the SalesInvoice report to:   Create an Email and save […]

Navigating XML with X++

29 September, 2013 (13:30) | Dynamics AX | By: Howard Webb

About a year ago I had the luxury of some self learning time at work. I set about a task to intergrate a mapping utility with route planning. I chose Google maps as it returned an XML file that was easy to read. I wanted to pick up the total distance and time for my […]

Adding to a container with += vs. ConIns()

29 September, 2013 (01:25) | Dynamics AX | By: Howard Webb

While adding data to the end of a container there can be large savings by using += rather than ConIns. Try the code below and compare the results:   static void Containertest(Args _args) { int                            ticks; Container                con; Random                  random = new Random(); int                            myrandom; int                            i; ;   //Start on […]