I was just working on a UDR designed to rollup the "Last Pledge Date" on the contact record.
To do this I created a "Pledge Date" formula field on the opportunity object using the following formula:
IF ( AND( IsClosed = FALSE, IsWon = FALSE), CloseDate, NULL)
The formula field works as designed.
The user defined roll up is then supposed to take the MAX "Pledge Date" value and store it in the "Last Pledge Date" field.
However, when I run the batch, the field created on the contact record called "Last Pledge Date" isn't being populated on any of the contact records. I'm also not getting any kind of error message when I run the batch .
At first I thought maybe I was using too many user defined rollups and exceeded a limit (I had 36 active including the Last Pledge Date one). So I deleted several of the rollups that only really needed to be run one time, but that didn't change the result
I saw @Sam Dorman had posted earlier about an issue when an opportunity has a NULL value in a date field being rolled up, and wondered if my issue might be related. In order to confirm this was a problem with the presence of a NULL value, I re-wrote the formula as follows:
IF ( AND( IsClosed = FALSE, IsWon = FALSE), CloseDate, Date (1900, 1, 1))
Now when I run the batch, every contact's "Last Pledge Date" field is equal to 1/1/1900, even if they have a more recent open opportunity. I've verified on numerous contacts that they have dates in the "Pledge Date" field that is more recent, but those dates are not being rolled up.
I've attached screenshots of my rollup definition and the formula field I created.
Any ideas?
I'm guessing this is still a bit of an unresolved issue based on this: https://github.com/SalesforceFoundation/Cumulus/issues/2494
No you're 100% right, this is one of the core reasons we established at the @NPSP Community Sprints in Baltimore to choose DLRS or RollUp helper vs. a Native feature.