Monthly Archives: January 2018

Using GetAttributeValue – same result, different meaning. Depending on the context

  We can use entity[“<attributeName>”], or we can use entity.GetAttributeValue<T>(“<attributeName>”) The second option won’t produce an exception if the attribute is missing – it will return null instead. It will also return null if the value of that attribute is, actually, null. This may look all right, but there is a difference. So when does… Read More »

Dynamics: how process duration is calculated

  When looking at the BPF-enabled entity in Dynamics, we can see process duration there – here is an example: In case you were wondering how the duration (“18 days, 1 hour” in this example) is calculated, here is a diagram: If the process is still active, what will show up in the duration area… Read More »

XperiDo – starting the trial

Before I continue.. I’m not affiliated with XperiDo, and I’m pretty sure they have no idea I am writing this blog post right now. Still, I was looking for a document generation solution, and, since XperiDo seems to have some interesting features, figured I’d try it a few days ago: Not pretending to be… Read More »

Custom indexes and solution upgrades

In the on-prem version of Dynamics, we can create our own custom indexes. And, even though it’s a supported customization (here is a reference: ), there is at least one scenario which may fail. Basically, the problem is that custom indexes are not managed by Dynamics, so what it means is that any operation… Read More »

Turns out business process flow entities have super powers

  Did you know that, when setting up a workflow for a business process flow entity (Opportunity Sales Process, for example), we can configure that workflow to trigger on change of the related entities?   In the example above, we can trigger that workflow on change of the related opportunity entity fields etc. That’s an interesting feature which… Read More »