Suppressing Display of Duplicate Meeting Records in Company and Person Context

Hints, Tips and Tricks

Technical Hints Tips and Tricks that cover customization and development using Sage CRM. API usage and coding are covered.

Suppressing Display of Duplicate Meeting Records in Company and Person Context

  • Comments 9
  • Likes
A component that implements this feature can be found in the download folder "Example components and developer resources".  You will need to be logged on to the community with the correct rights to be able to access this library of resources.
 
The image below shows the default behaviour of CRM. I have used the default demo data to produce this. We can see that the users System Administrator and Kylie Ward both attended the same meeting with Kieran O'Toole of Eurolandia. In the standard system the separate diary entries for each user creates a separate row underneath the Company. 



This is not necessarily the most attractive way of representing the data. In the image below we can see that the repeated reference to the same meeting in the context of the company has been suppressed. The meeting has one row and the names of the users attending are shown in the right hand column. 



This has been produced by simply adding in a new List definition in meta data. 



The new List block has to be called CommDedupeList and if it is present in the Meta Data definitions the eWare.dll will use it in place of the standard list when in the context of the company or person.

It does not replace the standard list used in the My CRM or Team areas.

It looks easy enough to add the new Meta Data into the system but be aware that the CommDedupeList has to be based on the vListCommunication view. 



Another way of adding the Meta Data definition into the system is via the component manager. The code you need to add in show below




DeleteCustom_ScreenObject('CommDedupeList','',1);
AddCustom_Lists('CommDedupeList','1','comm_action','','','','','communication','N','GIF','','',0);
AddCustom_Lists('CommDedupeList','2','comm_datetime','','Y','','','','','GIF','','',0);
AddCustom_Lists('CommDedupeList','3','comm_action','','Y','','','','Y','','','',0);
AddCustom_Lists('CommDedupeList','4','pers_fullname','','N','','','person','Y','','','',0);
AddCustom_Lists('CommDedupeList','5','comm_note','','N','','','','Y','','','',0);
AddCustom_Lists('CommDedupeList','6','comm_secterr','','N','','','','Y','','','',0);
ObjectName='CommDedupeList';
ObjectType='List';
EntityName='Communication';
TargetTable='vListCommunication';
AddScreenObject();
Comments
  • The component supports 6.2.1, but the text doesn't appear to - seems to think the list exists already. Can you clarify this in the text. Ta.

  • There is a bug(?) old/disabled users are shown with their ID not their name.

    Is there a way to fix that? Thanks in Advance!

  • Florian

    Yep!  I've tested this and disabled users are shown as their ID and not their name.  I have logged this as a bug.

  • I tried the top one by adding a new List called CommDedupeList but I can't save it because it already exists (even though I can't see it in the list of views in the Communications Entity). I would try to create a new component but I haven't touched them before and there's already some in there connecting MAS to CRM (I'd be scared to tinker around with that stuff.)

    Will it allow me to stack components? Can I go in there and add a component without worrying about it messing with the other ones? And to show you my knowledge level of components; what file(s) am I to upload? It looks like it's not as simple as clicking a "new component" button and plugging in the code listed above.

  • Nick

    A Component is a set of commands that automate changes to the meta data that describes the system.  You add multiple components just like you can carry out a set of customizations over a series of days.  This does mean that one component in theory could interact or 'overwrite' the changes made by a previous component.  Generally you should not apply a component to a production system until you have backed up Sage CRM and tested it in a development environment.

    But what version of Sage CRM are you using?  There are versions of the component described in this article for all the currently supported versions.

  • I am currently running version 6.2.i. And I do get the same result as Martin above, "This object name already exists."

    The only reason why I'm trying to do it with the list block method is I hesitate to mess with any of the components already that integrate our Sage MAS into CRM (where it gets some of the data for companies and contacts). Since I didn't put the code in that one, and it reads like Egyptian to me, I try not to touch it if at all possible.

    Even if I were to make a new component, all that's listed under Add Component is an upload button like it's asking for a file (and the link you provide leads me to a place that has "Resource not Available").

  • Nick

    Do you have EIS or Extensibility as part of your license?  

    I can't really send you the component as I create these for the members of the Developer Program.

  • looks like a broken link @ community.sagecrm.com/.../entry1638.aspx

  • The article has been updated ahead of release of Sage CRM 2017.