Electronic reporting: Method returning a list of records

I had a scenario in electronic report where I wanted to reuse existing X++ code that generates some temporary table records for reporting purpose. Therefore I wanted electronic reporting to call my X++ method (for a particular context, an invoice in this case) and use the list of records returned by this method. Electronic reporting …

Continue reading ‘Electronic reporting: Method returning a list of records’ »

Getting attributes in X++

In X++, you can decorate classes and methods with attributes. Attributes were added in AX 2012 (I believe), where the typical use case was a definition of data contracts. They’re much more common in F&O, because they’re also used for CoC and event handlers. For most developers, attributes are something defined by Microsoft and used …

Continue reading ‘Getting attributes in X++’ »

Run settings for SysTest

When you execute automated tests of X++ code with SysTest, the test service (SysTestService class) gets called with some parameters, defined in SysTestRunnerSettings: You could, for example, set granularity to execute just unit tests and skip integration tests, or produce a trace file for diagnostics. You may want to use such parameters in automatic processes …

Continue reading ‘Run settings for SysTest’ »

Detection of code upgrade conflicts in F&O

When you overlayered an application element (e.g. a method or a form) in Dynamics AX, a copy was saved in a higher layer. You modified the object there, therefore you ended up with two copies of the same element – the original one in a lower layer (such as SYS) and your modified one in …

Continue reading ‘Detection of code upgrade conflicts in F&O’ »

Avoiding code duplication in F&O

In the previous post, I explained that duplicating application elements is expensive and we should avoid it whenever possible. Let me mention a few techniques that you could use. Obviously, you can create metadata extensions, use Chain of Command for methods, subscribe to events and so on; I’m assuming that you all know that. What …

Continue reading ‘Avoiding code duplication in F&O’ »