Save storage with data deduplication

This blog post isn’t directly about software development, because I’m going to look at a certain feature of Windows Server, but my primary motivation is still dealing with development and testing. When you want to set up AX 7 (Microsoft Dynamics 365 for Finance and Operations, Enterprise Edition :)) environments for development, testing or demonstration …

Continue reading ‘Save storage with data deduplication’ »

Catching exceptions in AX 7

In this blog post, I briefly recapitulate how to throw and catch exceptions in X++ and introduce a new way of handling CLR exceptions in AX 7. X++ exceptions When you want to throw an exception in X++, you typically do it by something like this: throw error("It’s broken!"); It’s a functional equivalent of adding a …

Continue reading ‘Catching exceptions in AX 7’ »

IoC containers for extensibility

Dynamics 365 for Operations (AX 7) tries to get rid of the ugly concept of “customizations”, when developers directly change somebody else’s code, which has a plenty of negative consequences. Most importantly, installing a new version isn’t easy, because it requires dealing with conflicts in code. There are several ways how to make a class …

Continue reading ‘IoC containers for extensibility’ »

Filter for enum fields in OData service

It took me a while to figure out how to filter AX (Operations) enum fields in the URL for OData service (I was using Get records in Flow). For example, let’s say I wanted to get sales orders with status = open order. After a few failed attempts, I actually used classes generated by OData …

Continue reading ‘Filter for enum fields in OData service’ »