V9: Checking string fields for null

It seems there is an unexpected change in how V9 (specifically, is treating string fields on the SDK side. Normally, if you clear a field, you can use this code in the plugin to see if the field is being cleared:             if (entity.Contains(“ita_integer”) && entity[“ita_integer”] == null)             {                 throw new InvalidPluginExecutionException(“Integer is null”);            … Read More »

Developing the plugins – divide and conquer

  One of the main problems with plugin development is that we have a very limited set of debugging techniques. We can use the Tracing Service, but it’s not, really, debugging.. It’s tracing. We can keep throwing errors from the plugin, but that’s just another form of tracing. We can use a plugin profiler, and… Read More »

Plugins recursion – how can you handle it?

  What if you register a plugin step on update of some attribute, and, then, update the same attribute in the plugin again? Dynamics can’t decide, for you, when is the right time to stop this endless loop, but it will detect the recursion, and, after a few repetitions, will stop it: It will do… Read More »

Paging in FetchXml

Was working on the code that needed paging with FetchXml.. There is a good example on MSDN: https://msdn.microsoft.com/en-us/library/gg328046.aspx But, in case you don’t want to mess with XmlDocument (not that it’s really that messy), you can easily do the same using simple string Replace – there is an example below. The only tricky part is… Read More »

Dates in Dynamics: TimeZone Independent vs User Local

Did you ever have to look into the DateTime fields behaviour in Dynamics? DateTime fields can be “User Local”, “Date Only”, and “Time Zone independent”: https://technet.microsoft.com/en-us/library/dn946904.aspx If what you see at that link does not look 100% clear (and, to me, it did not..  until a few days ago), let me try to explain it… Read More »

Dynamics Plugin Developer Training

I’ve been working on the Dynamics Plugin Developer Course lately, and, it seems, it’s finally shaping up: Plugin Developer Course At this point, I may need a few “testers”  (although, guinea pigs might be a better name for what you are going to be up to since I really need to test the whole model on… Read More »

Dynamics 365: The craziest thing I learned lately..

You know how we’ve always been looking for ways to export data from Dynamics, and that’s never been a simple task. There are reports, there are templates, there are plugins, workflows, and custom actions.. But how about this (hint – it’s all javascript): This is something that I learned from the guys at MNP (former… Read More »

POA: What it looks like on the SQL side

POA table is well known for its ability to cause performance issues, so, even though we can’t avoid record sharing, it’s always been recommended to sort of keep record sharing at bay by reducing the number of records in the POA. This is where Access Teams come into play. Sure we can use Owner Teams… Read More »

Dynamics portals–just thinking out loud..

I have to admit, I have not worked a lot with the portals. It’s always been occasional. But every time I turn to them, somehow it feels like the concept itself is almost foreign to Dynamics. Not because there is no need for the portals – there has always been, and there is still a… Read More »

A validation step that won’t validate

A plugin registered in the validation step won’t intercept any of the changes that get added to the plugin Target in the pre-create. It seems so obvious.. but it’s not something I’d normally be thinking about when developing the plugins. One of the plugin patterns most of us like using looks like this: – We… Read More »