Tip#20 -Restricted Picklists



A restricted picklist field includes only the values that you’ve defined and users cannot enter any value other than the defined picklist values. This is to ensure that the integrity of the picklist data is maintained and your picklist stays clean. Salesforce has introduced this functionality in Spring’16 and it is in Beta.

If you have a Developer Edition org or sandbox org, no setup is required to use restricted picklists. For all other editions, restricted picklists are available as a beta feature, which means they’re highly functional but have known limitations. Contact Salesforce to enable restricted picklists.

Suppose, you have configured a restricted picklist in Sandbox and when you move it to production, you might get an error “Cannot have restricted picklists in this organization.” To resolve the issue, you can contact support to enable restricted picklists in production org.

Here you can find the release notes from Salesforce.


Extract Controlling and Dependent picklist values


, ,

If you ever want to print or extract Controlling and Dependent picklist values, you can use the solution highlighted by Kenny Jacobson

here is the link

I had to use it in my current project to check the field dependencies for 2 picklist fields and make modifications accordingly.

Tip#19 – Using workbench to execute APEX


Today, I was working on a requirement which queries public group and sends an email to the users(group members) with an attachment from the custom object record and it was implemented using APEX code. I wanted to test using Execute Anonymous option in Developer Console before I call the code using process builder. When I tried executing it in Developer Console, it was throwing Sending Request – Execution Failed error. I could not figure out the reason for it, but I realised that using workbench to execute Anonymous APEX code is better than Dev Console since your code, results are displayed in the same page and you can set the log level too.

Steps to execute APEX in Workbench:

a. Login to https://workbench.developerforce.com
b. Select Sandbox or Production(obviously, we will test the code in Sandbox first)
c. Then system will ask you to login to Salesforce
d. Once logged in, select “Apex Execute” in Jump to option
e. Paste your code in the text box and click on Execute button.
f. System will show the results on the same page. You can select the appropriate Log category and Log level too.

In the future post, I will write about creating a flow to query the public group based on the name and send an email to the group members(role based members).

Tip#18 Get Salesforce instance in Apex


Recently, I worked on a requirement where in I had to send an email by using APEX and I had to prepare the HTML body within APEX itself. As part of it, there has to be a clickable link in the email which should take the user to the Salesforce record after clicking on it and we should not hardcode the URL in the code.

So, here is the code below to get the logged in user’s URL and concatenate it with the Salesforce record ID:

String u=System.Url.getSalesforceBaseURL().toExternalForm();//this returns the base URL of the Salesforce instance as String.
String ufinal=u+’/’+POId;//POId is the variable that holds Id of the custom object record.

or you can write the above code in one line:

String ufinal = URL.getSalesforceBaseUrl().toExternalForm() + ‘/’ + POId;