Linked Entity Column Data in Advanced Find

Why do I not see any linked entity columns data in either advanced find or by customizing system views for Activities (Emails/Appointments etc…) (after adding related entity columns)?

Problem:            

Microsoft Dynamics CRM 4.0’s FetchXML does not retrieve Link-Entity data for all activity entities (Appointment, E-Mail, Fax, Phone call, etc.)

When you use advanced find or customize the out of box views to add linked entity columns, say for e.g.: on an appointment you add the regarding Lead’s company name, this column comes up blank.

Cause:

We currently use QueryExpression and this has a limitation of not handling linked entity column set so all the linked entity columns are returned blank. CRM platform code does not return any party info data in case we use EntityExpression as it removes them in ProcessAggregates extension.

Fix:

In case we have any linked entity columns the fix now uses EntityExpression and this successfully retrieves the linked entity columns data. Now come the party info fields which will not be returned if we use EntityExpression.

This fix checks if the fetch has any party info fields and if so, only then makes an additional call to Activity Service to get the party info for the retrieved activity ids returned by the EntityExpression above. The list of activity ids for which we need to retrieve the party info fields is limited to the page size of records which has a default value of 25 and a maximum of 250 records. This additional call will be made only if the fetch has any linked entity columns.

Where can I download this fix from?

The KB number for this bug is 959419 and this is part of CRM 4.0 UR2 and please contact your support personnel if you need more details on downloading this fix.

Update:

EntityExpression is exposed through SDK as Fetch. CRM Application (UI) which was using the QueryExpression has linked entity column limitations and so we now use the EntityExpression internally to resolve this issue of being able to handle linked entity columns with this fix but we have to make an additional call as mentioned in this blog to retrieve the party list info since this is a current CRM platform limitation of EntityExpression to pull party list fields like required attendees, option attendees, from of an email, to list of an email (Email recipients).

In V5 there is a possibility that the Fetch is enhanced to retrieve party list information in which case, users of SDK can use Fetch to get the party list info and similarly the CRM Application which is using the EntityExpression instead of a QueryExpression in this fix will start benefiting by not having to make another additional call using QueryExpression to ActivityService to get the party list fields.