![]() |
#1 |
Участник
|
ukcrm: Tracking Activity History
Источник: http://blogs.msdn.com/b/ukcrm/archiv...y-history.aspx
============== 22 Acacia Avenue… For a recent client demo, I needed to build a dashboard that would identify key accounts/contacts that hadn’t been contacted recently. Although all the activity data needed is in the CRM database, it’s not easy to consume within a dashboard. For example, suppose I wanted a chart of contacts who had not had a phone call in the last 3 months, segmented by role. I couldn’t find a way to display this out of the box. Luckily, with a small amount of configuration and customisation, I was able to solve the problem. The screenshot below is a dashboard showing the 6 main activity types (appointment, e-mail, fax, letter, phone call and service appointment) by role (decision make, influencer, employee). ![]() To create this I first configured 6 additional fields on the contact entity in order to track the last activity date of the main activity types (appointment, e-mail, fax, letter, phone call and service appointment). Then I configured 6 views to identify contacts who had not been contacted in the last 3 months, one view for each activity type. Next I configured 6 charts, one for each activity type, to show activity by role. Finally, i configured a new dashboard to display each chart, filtered by the relevant view. Now, all that is left to do update the new fields on a contact record whenever they participate in an activity. This is where we need a little “plug-in” magic. I created a plug-in that would execute on the SetStateDynamicEntity event for each of the main activity types. The plug-in loops through each PartyList field (To, From, Cc, Bcc, Organizer, Required Attendees, Optional Attendees etc.), and every time it finds a CRM contact, it updates the appropriate last activity date field for that contact. All fairly simple really. Just one note of caution, in large CRM deployments you might have a lot of activity tracking going on, which means the plug-in gets fired a lot. In order to reduce the likelihood of performance issues, I chose to trigger the plug-in on Asynchronous events. If you want to try this out, I have packaged up my solution (both managed and unmanaged solution packages) and made it available for download here. The solution package contains the following:
![]() This posting is provided "AS IS" with no warranties, and confers no rights. Laughing Boy Chestnuts Pre-School Chain Gang Источник: http://blogs.msdn.com/b/ukcrm/archiv...y-history.aspx
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору. |
|
|
|