Creating Groups on Custom Entities in Sage CRM

2 minute read time.

I have created a new custom entity called 'Project' using the Advanced Customization Wizard (aka Entity Wizard, Main Entity Wizard).

The requirement:

The requirement was to be able to use data from the project table in groups used for outbound emails, and within the Interactive Dashboard as data sources for List Gadgets.

This article will demonstrate how to build the group to use as a data source in outbound emails and within the interactive dashboard.

The Project entity is a child of the following entities. The foreign key fields are listed.

  • Company (proj_companyid)
  • Person (proj_personid)
  • Opportunity (proj_opportunityid
  • Team (proj_channelid)
  • User (proj_userid)

The entity is the parent of the following entities.

  • Cases
  • Communications
  • Documents

All groups are based on Views.

Creating the View

The view is created under

Administration -> Customization -> Project

The SQL is based on the view that is called vSearchListCase.

I have used that view because it is also a view used for Groups and correctly joins the Person and Company records.

[code language="sql"]
CREATE VIEW vSearchListProjects
AS
SELECT RTRIM(ISNULL(Pers_FirstName, '')) + ' ' + RTRIM(ISNULL(Pers_LastName, '')) AS Pers_FullName,
RTRIM(ISNULL(Pers_PhoneCountryCode, '')) + ' ' + RTRIM(ISNULL(Pers_PhoneAreaCode, '')) + ' '
RTRIM(ISNULL(Pers_PhoneNumber, '')) AS Pers_PhoneFullNumber, RTRIM(ISNULL(Pers_FaxCountryCode, '')) + ' ' +
RTRIM(ISNULL(Pers_FaxAreaCode, '')) + ' ' + RTRIM(ISNULL(Pers_FaxNumber, '')) AS Pers_FaxFullNumber, vPersonPE.*,
Project.*, vCompanyPE.*, Address.* FROM Project LEFT JOIN vCompanyPE ON proj_CompanyId = Comp_CompanyId LEFT
JOIN vPersonPE ON proj_PersonId = Pers_PersonId LEFT JOIN Address ON Pers_PrimaryAddressId = Addr_AddressId WHERE
proj_Deleted IS NULL
[/code]

Once the view has been created it can used to create Groups.

I called my group "All Projects (group)". The view created above allows all fields from the company, person, address and the project entity.

You can add search criteria if necessary on any of the included fields. I did not do that as I wanted my group to return all records.

Once the group has been saved you will be warned "This is a custom entity or legacy group. Not all of the Group actions can be performed on it."

But I have found that I can carry out the following tasks

New Document

  • The Mail Merged Letter can include any fields from the Project Entity. BUT the documents are stored at the level of the Company and Person, not attached to the Project.

New Task

  • Tasks will be created linked to the Company and Person BUT NOT the Project.

New E-mail

  • Email Templates can be created for the custom entity (Project).

  • These templates can include any of the fields from custom entity (Project) included in the group.

Export to File

  • This will include any fields from the custom entity (Project) within the displayed fields of the group.

Interactive Dashboards

The Group is also available for Interactive Dashboards as a data source for List Gadgets.

Note: This group is not available for use in Outbound Calls.