Saturday, 1 June 2013

Using Hierarchy Custom Settings in Salesforce

1. Create a hierarchy custom setting like below

- As per the above screen shot create a custom field of data type check box
Note: App Setup > Develop > Custom Settings (To open custom settings)

2. Click on Manage button

- As per the above screen shot set the OWD value for isBypassed as 'False'
- Add two users by clicking on New button, set isBypassed as 'True' for one user and 'False' for another user

3. Create a page called 'Change Owner'
<apex:page tabStyle="Case" standardController="Case">
<apex:form >
<apex:sectionHeader title="Change Case Owner"/>
<p>This screen allows you to transfer cases from one user or queue to another. When you transfer ownership, the new owner will own:</p>
<ul><li>all open activities (tasks and events) for this case that are assigned to the current owner</li></ul>
<p>Note that completed activities will not be transferred. Open activities will not be transferred when assigning this case to a queue.</p>
<apex:pageBlock mode="Edit">
<apex:pageBlockButtons location="bottom">
<apex:commandButton value="Save" action="{!save}"/>
<apex:commandButton value="Cancel"/>
<br/><apex:pageBlockSection title="Select New Owner" collapsible="false" columns="3">
<apex:pageBlockSectionItem >
<apex:outputLabel value="Owner"></apex:outputLabel>
<apex:inputField value="{!Case.ownerId}"/>

- Design a visualforce page from the above code

4. Create custom button for the Case Object like below:

if ({!$Setup.Disable_Change_Owner__c.isBypassed__c}) {

window.location = "/apex/changeowner?id={!Case.Id}";


else {

alert("You don't have the permission");


- Use the above script for OnClick JavaScript
- Add the above custom button 'Change Owner' to Case Page Layout.
- "{!$Setup.Disable_Change_Owner__c.isBypassed__c}" is the way to refer the hierarchy custom setting in JavaScript.
- According to the above button one user can access the page and navigate to the 'Case Owner' page

- Another user is not able to access the page, it will throw JavaScript alert

Note: Above scenario helps to create custom change owner functionality for the case record

We can create multiple fields for the hierarchy custom settings and we can assign different values according to the business requirement.

No comments:

Post a Comment