Convert a 15-character Id to an 18-character Id in a formula field
Formula:
CASESAFEID(Id)
Formula:
CASESAFEID(Id)
Sample Code:
//Create a chatter group CollaborationGroup gp = new CollaborationGroup(); gp.Name = 'Test Group'; gp.CollaborationType = 'Public';//It can be 'Public' or 'Private' insert gp; //Add member to above created chatter group CollaborationGroupMember gpMember = new CollaborationGroupMember(); gpMember.MemberId = userId;//User id which you want to add gpMember.CollaborationGroupId = gp.Id;//Above created group id insert gpMember;
Endpoint Type | OAuth Endpoint | Description |
---|---|---|
OAuth 2.0 authorization endpoint | https://login.salesforce.com/services/oauth2/authorize | The Salesforce instance’s OAuth 2.0 authorization endpoint. Connected apps send OAuth authorization requests to this endpoint. |
OAuth 2.0 token endpoint | https://login.salesforce.com/services/oauth2/token | The Salesforce instance’s OAuth 2.0 token endpoint. Connected apps send OAuth token requests to this endpoint. |
Revoke endpoint | https://login.salesforce.com/services/oauth2/revoke | The Salesforce instance’s OAuth 2.0 revoke endpoint. Send requests to this endpoint to revoke a connected app’s access. |
Profile information endpoint | https://login.salesforce.com/services/oauth2/userinfo | The OpenID Connect OAuth 2.0 user profile information endpoint. OpenID Connect defines the UserInfo endpoint to get a user’s profile information. |
Dynamic client registration endpoint | https://hostname/services/oauth2/register | The OpenID Connect dynamic client registration endpoint. Send requests to this endpoint to automatically register connected apps with Salesforce. |
Introspection endpoint | https://hostname/services/oauth2/introspect | The OpenID Connect token introspection endpoint. Send requests to this endpoint to check the current state of an OAuth 2.0 access or refresh token. |
OpenID connect discovery endpoint | https://login.salesforce.com/.well-known/openid-configuration | The OpenID Connect discovery endpoint. Send queries to this endpoint for information about the Salesforce OpenID Connect configuration. |
Authentication configuration endpoint | https://hostname/.well-known/auth-configuration | The authentication configuration endpoint. Send queries to this endpoint for information about an org’s SAML single sign-on and authentication provider settings. |
Using the SUBSTITUTE()
function in formula field we can replace value.
Sample Formula:
SUBSTITUTE(Field__c, '&', 'and')
Sample Code:
//Pass dependent field parameter e.g.: Account.YourDependentField__c public static Map<Object,List<String>> getDependentPicklistValues(Schema.sObjectField dependentField){ Map<Object,List<String>> dependentPicklistValues = new Map<Object,List<String>>(); //Get dependent field result Schema.DescribeFieldResult dependentFieldResult = dependentField.getDescribe(); //Get dependent field controlling field Schema.sObjectField controllerField = dependentFieldResult.getController(); //Check controlling field is not null if(controllerField == null){ return null; } //Get controlling field result Schema.DescribeFieldResult controllerFieldResult = controllerField.getDescribe(); //Get controlling field picklist values if controlling field is not a checkbox List<Schema.PicklistEntry> controllerValues = (controllerFieldResult.getType() == Schema.DisplayType.Boolean ? null : controllerFieldResult.getPicklistValues()); //It is used to decode the characters of the validFor fields. String base64map = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; for (Schema.PicklistEntry entry : dependentFieldResult.getPicklistValues()){ if (entry.isActive()){ //The PicklistEntry is serialized and deserialized using the Apex JSON class and it will check to have a 'validFor' field List<String> base64chars = String.valueOf(((Map<String,Object>)JSON.deserializeUntyped(JSON.serialize(entry))).get('validFor')).split(''); for (Integer i = 0; i < controllerValues.size(); i++){ Object controllerValue = (controllerValues == null ? (Object) (i == 1) : (Object) (controllerValues[i].isActive() ? controllerValues[i].getLabel() : null)); Integer bitIndex = i / 6; Integer bitShift = 5 - Math.mod(i, 6 ); if(controllerValue == null || (base64map.indexOf(base64chars[bitIndex]) & (1 << bitShift)) == 0){ continue; } if (!dependentPicklistValues.containsKey(controllerValue)){ dependentPicklistValues.put(controllerValue, new List<String>()); } dependentPicklistValues.get(controllerValue).add(entry.getLabel()); } } } return dependentPicklistValues; }