Sputnik Moment Logo Final

Getting Around Salesforce List View Limitations

The ability to edit multiple records from List Views is a great feature of Salesforce. However, there are a couple of frustrating limitations to the standard functionality.

For one, as soon as Record Types are created on an Object, multiple records that have different Record Types can no longer be edited from one List View. To continue to edit records from the List View, a specific Record Type must be defined in the List View’s filter criteria. This is obviously not ideal because duplicate List Views must then be created for each Record Type.

Another limitation is on the Opportunity object. The ‘Stage’ field or the ‘Amount’ field may not be edited from a List View. Opportunity records must be edited one-by-one, or custom fields that mimic Stage and Amount can be created with workflows that subsequently populate the standard fields.

Enter the FREE Salesforce Labs App, Mass Update And Mass Edit From List View.

For the purpose of this blog post, we are going to focus on the Mass Edit feature.

Once the App is installed, some custom Buttons and Visualforce pages are added to the standard Objects within Salesforce.

Let’s work on customizing Mass Edit for the Opportunity object.

To make the Mass Edit button available on List Views (Classic Interface Instructions)

  1. Navigate to Setup –> Build –> Customize –> Opportunities –> Search Layouts
  1. Click the Edit link next to Opportunities List View
  1. Under the Custom Buttons section, move Mass Edit to the list of Selected Buttons
  1. Click Save

To Customize the columns on the Visualforce Page (Classic Interface Instructions)

  1. Navigate to Setup –> Build –> Develop –> Visualforce Pages
  1. Sort the list of Pages by the Label column
  1. Click on the letter M in the Alphabet at the top of the list
  1. Click the Edit link next to the Visualforce page called MassEditOpp
  1. Around line 14 of the Visualforce page is where the set of rows that you can customize begin (see screenshot below)
massedit, Salesforce
MassEditOpp Visualforce Page

Even without extensive Visualforce experience, you can make modifications to this page fairly easily.

Let’s break down lines 14-16:

14 – <apex:column headerValue=”Request Number”>

15 – <apex:outputField value=”{!opp.FGM_Base__Request_Number__c”/>

16 – </apex:column>

Line 14 defines the Column Header:

Simply replace the text in between the two quotes with your preferred column header.

Line 15 defines which Salesforce field is going to be displayed or made editable:

If the line says apex:outputField, the Salesforce field will be READ-ONLY. If the field should be editable, simply change it to say apex:inputField.

Then the text within the brackets determines the Salesforce field itself. For the Opportunity object, the field must always be prefaced with !opp. (line 13 shows that this is the variable name that has been given to the Opportunity object). Then, after the period, type the API Name of the Salesforce field.

Line 16 ends the Column.

To insert more columns, just copy the 3 rows (similar to 14-16), paste them where you would like them to go, and make the necessary modifications.

To use the Mass Edit Feature

  1. Create and Run a List View on the Opportunity tab
  1. Select the records to be edited by placing checkmarks next to them
  1. Click the Mass Edit button
  1. Make the necessary changes to the records and click Save

Some Limitations with this App

  1. Some Formula Fields don’t display (for example, I tried to get the Shipping Address from a related record to display, and it didn’t work.
  2. You can not display the Record Type on the Visualforce page.
  3. Since only one Visualforce page can be linked to the Mass Edit button for a particular Object, the set of columns you define is what will always appear no matter what fields might be on your List View output.

There is also another Mass Edit / Mass Update app, but I don’t have as much experience with it. It can be found here: https://appexchange.salesforce.com/listingDetail?listingId=a0N30000003J6KcEAK

About Getting Around Salesforce List View Limitations

The ability to edit multiple records from List Views is a great feature of Salesforce. However, there are a couple of frustrating limitations to the standard functionality.

For one, as soon as Record Types are created on an Object, multiple records that have different Record Types can no longer be edited from one List View. To continue to edit records from the List View, a specific Record Type must be defined in the List View’s filter criteria. This is obviously not ideal because duplicate List Views must then be created for each Record Type.

Another limitation is on the Opportunity object. The ‘Stage’ field or the ‘Amount’ field may not be edited from a List View. Opportunity records must be edited one-by-one, or custom fields that mimic Stage and Amount can be created with workflows that subsequently populate the standard fields.

Enter the FREE Salesforce Labs App, Mass Update And Mass Edit From List View.

For the purpose of this blog post, we are going to focus on the Mass Edit feature.

Once the App is installed, some custom Buttons and Visualforce pages are added to the standard Objects within Salesforce.

Let’s work on customizing Mass Edit for the Opportunity object.

To make the Mass Edit button available on List Views (Classic Interface Instructions)

  1. Navigate to Setup –> Build –> Customize –> Opportunities –> Search Layouts
  1. Click the Edit link next to Opportunities List View
  1. Under the Custom Buttons section, move Mass Edit to the list of Selected Buttons
  1. Click Save

To Customize the columns on the Visualforce Page (Classic Interface Instructions)

  1. Navigate to Setup –> Build –> Develop –> Visualforce Pages
  1. Sort the list of Pages by the Label column
  1. Click on the letter M in the Alphabet at the top of the list
  1. Click the Edit link next to the Visualforce page called MassEditOpp
  1. Around line 14 of the Visualforce page is where the set of rows that you can customize begin (see screenshot below)
massedit, Salesforce
MassEditOpp Visualforce Page

Even without extensive Visualforce experience, you can make modifications to this page fairly easily.

Let’s break down lines 14-16:

14 – <apex:column headerValue=”Request Number”>

15 – <apex:outputField value=”{!opp.FGM_Base__Request_Number__c”/>

16 – </apex:column>

Line 14 defines the Column Header:

Simply replace the text in between the two quotes with your preferred column header.

Line 15 defines which Salesforce field is going to be displayed or made editable:

If the line says apex:outputField, the Salesforce field will be READ-ONLY. If the field should be editable, simply change it to say apex:inputField.

Then the text within the brackets determines the Salesforce field itself. For the Opportunity object, the field must always be prefaced with !opp. (line 13 shows that this is the variable name that has been given to the Opportunity object). Then, after the period, type the API Name of the Salesforce field.

Line 16 ends the Column.

To insert more columns, just copy the 3 rows (similar to 14-16), paste them where you would like them to go, and make the necessary modifications.

To use the Mass Edit Feature

  1. Create and Run a List View on the Opportunity tab
  1. Select the records to be edited by placing checkmarks next to them
  1. Click the Mass Edit button
  1. Make the necessary changes to the records and click Save

Some Limitations with this App

  1. Some Formula Fields don’t display (for example, I tried to get the Shipping Address from a related record to display, and it didn’t work.
  2. You can not display the Record Type on the Visualforce page.
  3. Since only one Visualforce page can be linked to the Mass Edit button for a particular Object, the set of columns you define is what will always appear no matter what fields might be on your List View output.

There is also another Mass Edit / Mass Update app, but I don’t have as much experience with it. It can be found here: https://appexchange.salesforce.com/listingDetail?listingId=a0N30000003J6KcEAK