Compare records in code

When saving a record, I had to check which fields had changed and react in a special way if only certain fields (and not any other) changed their value. I could iterate all fields and compare their values in two table buffers (the original and the updated one), but I thought that D365FO might already …

Continue reading ‘Compare records in code’ »

Security API

The product that used to be called Microsoft Dynamics 365 for Finance and Operations (I truly don’t know how I should call it these days) allows defining security elements both by developers (delivered together with code) and by power users though GUI (stored in database). You may have a need to work with security objects …

Continue reading ‘Security API’ »

Beta exam MB-500

Today I took the beta exam MB-500: Microsoft Dynamics 365: Finance and Operations Apps Developer; I think it’s going to be made generally available on January. I was already planning to take it when I received an email with a significant discount, therefore I had no reason to hesitate. They didn’t show me my score …

Continue reading ‘Beta exam MB-500’ »

String format options for utcDateTime

I’ve run into a problem that reminded me that while X++ types and corresponding CLR types (such as str and System.String) can often be user interchangeably, they aren’t the same. I was trying to convert a utcdatetime value to the standard “sortable” format in D365FO, for which I wrote the following code: utcdatetime currentDateTime = …

Continue reading ‘String format options for utcDateTime’ »

Event handler for multiple events

I’m not sure that everybody is aware that a single event handler method (in Dynamics 365 for Finance and Operations) can be decorated with several event handler attributes. For example, a common method can handle both inserts and updates. [ DataEventHandler(tableStr(MyTable), DataEventType::Inserted), DataEventHandler(tableStr(MyTable), DataEventType::Updated) ] public static void myHandler(Common _sender, DataEventArgs _e) Or it can …

Continue reading ‘Event handler for multiple events’ »