Tabs and Lists

From Accelerator for SageCRM
Revision as of 18:14, 15 November 2024 by Sagecrmw (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

The tabs we are referring to here are against the Entity

EG

Hovering over the tabs tells you what is behind it.

Tab list screens can contain a filter and the list.

Users click on the filter icon to see the filter modal. (Text fields on filters must add in a percent (%) wild card for a partial search/filter)

Case and opportunity screens by default have a filter option. This must be clicked to apply it.

Lists will only display by default 2 columns. To see extra data (if there is any) click on the "Expand" option.

Lists also have an internal and external link allowing you to navigate into that record in the task pane or in CRM.


Customizing

A. List fields are controlled by the screens "ENTITYOfficeintSmall" in CRM. The number of columns displayed is controlled at the user level in their local settings (List Column Count). PLEASE NOTE: Fields under the carat that have no value will not display.

The first column is the default SORT field. Clicking on the column will also apply a sort based on that column.

B. Tabs are controlled via CRM using the tab group called "ENTITYint"

Caption: Locations Action: customfile Custom File: sagecrmws/ac2020/companylocations.asp

You can add custom (ASP) pages also which render in an iframe.

C. Custom Filters

To update a filter you must create a screen in CRM called

  "ENTITYofficeintfilter"
  • cases expects a screen called "caseofficeintfilter"

and add fields to that.

Both fields should have the same create script

                   DefaultValue="All";


It should appear like this in Accelerator

The default order is empty You can add in a case_updateddate to the list EG

Users can order the data then by clicking on the column header


Custom Entities in Lists

You can add in custom entities in tab under company for example.

In our example we create an entity called "Equipment" (created using the Entity Wizard in Sage CRM)

In our tab we set this up as follows

Caption: Equipement Custom File: list_Equipment SQL: equi_companyid

1. Custom File:

  The value in this is in the format "list_ENTITY"

2. SQL:

  The value in this is the field that links the context. So we have this tab in tabgroup "companyint" and so we set the companyid. 

(1) This appears in Accelertor like this. The icon cannot be customised.

(2) List Filter:

This is shown if we have a screen called "ENTITYofficeintfilter" EG "Equipmentofficeintfilter"

(3) List Title

(4) List columns If the screen "ENTITYofficeintsmall" is not found we default to displaying the "ENTITYPREFIX_name" field.

To control the list create the screen in CRM (not a list!) and add fields to that.

The first column in this list is the default order by DESC

(5) Internal Link - Opens entity in Accelerator

(6) External link to entity (opens in full Sage CRM)



Add in the entity Library as a list

Within CRM go to the tab group (example "CompanyInt")

Custom File: list_Library

Within the app it looks like this

There is a download link available when you expand the list

CUSTOMISING THE "libraryList" CAPTION or "ENTITYList"

Create a new Caption

  • Family=Grid
  • Code="ENTITYList"
  • Family Type=Tags
  • Translation=ENTITY List (or what ever you want)

Example


Add in the entity Notes as a list (example "CompanyInt")

Within CRM go to the tab group

Custom File: list_Notes

Within the app it looks like this



Cases and Opportunity Lists Under Person

These lists by default show all company opportunities and not just the person its assigned to.

To turn this off open the web.config file and find setting(s)

   <add key="opportunities_ShowCompanyListUnderPerson" value="Y"/>
   <add key="cases_ShowCompanyListUnderPerson" value="Y"/>

and set their values to N


Add in a custom screen (not a list or iframe) - ideal for when you have a one to one relationship with another entity

Sample code

 <%
 var myreport= JSON.clone(_reportClass);
 myreport.name="test101";
 myreport.title="Company Extra Data";
 var _companyboxlong=JSON.clone(_reportItem);
 _companyboxlong.name='companyboxlong';
 _companyboxlong.componenttype='screen';
 var qCompany=CRM.Findrecord("company,vsummarycompany","comp_companyid="+Request.Form("entityid"));
 var companyboxlong=getScreenSection("company",qCompany,"companyboxlong","Company Extra");
 _companyboxlong.data=companyboxlong;
 myreport.reportdetails.push(_companyboxlong);
 Response.Write(JSON.stringify(myreport));
 %>

Save the file as

 SageCRMWS/ac2020/companyextra_js.asp

Note the _js.asp is important

In this example within the tabs "companyint" we add in an item caption and the path to the file

 SageCRMWS/ac2020/companyextra_js.asp