Skip to content

Instantly share code, notes, and snippets.

View SalesforceBobLightning's full-sized avatar
💭
Easy-peasy

Salesforce Bob Lightning SalesforceBobLightning

💭
Easy-peasy
View GitHub Profile
@SalesforceBobLightning
SalesforceBobLightning / CustomLog.cls
Last active October 17, 2018 20:47
Custom Logging using Apex
public without sharing class CustomLog {
private static StringBuffer buffer;
static {
buffer = new StringBuffer();
}
public static void append(String value) {
buffer.append(value + '\n');
@SalesforceBobLightning
SalesforceBobLightning / CreateDuplicateReportAndAttachToUserProfile.cls
Last active January 12, 2023 09:35
SOQL Query for finding Duplicate Person Account by Email Address
List<AggregateResult> results = [SELECT Count(ID), PersonEmail
FROM Account
WHERE IsPersonAccount = TRUE
GROUP BY PersonEmail
HAVING Count(ID) > 1
ORDER BY Count(ID) DESC
LIMIT 2000];
String report = 'count,PersonEmail\n';
@SalesforceBobLightning
SalesforceBobLightning / card.html
Last active October 10, 2018 09:54
Salesforce Lightning Design System - Card without SVG icons
<article class="slds-card">
<div class="slds-card__header slds-grid">
<header class="slds-media slds-media_center slds-has-flexi-truncate">
<div class="slds-media__figure">
<lightning:icon iconName="standard:opportunity" alternativeText="TITLE" />
</div>
<div class="slds-media__body">
<h2 class="slds-card__header-title">
<a href="javascript:void(0);" class="slds-card__header-link slds-truncate" title="TITLE">
@SalesforceBobLightning
SalesforceBobLightning / getSObjectTypeById.cls
Created September 25, 2018 12:04
Get SObject type from Record Id
public String getSObjectTypeById(Id recordId) {
return recordId.getSobjectType().getDescribe().getName();
}
@SalesforceBobLightning
SalesforceBobLightning / ExportSObjectAsCSV.cls
Created September 8, 2018 13:43
Export SObjects Fields as CSV files
public class ExportSObjectAsCSV {
// update with lowercase object names that you want to export as CSV files
private static Set<String> sObjectsToExport = new Set<String> {'account', 'appointment__c', 'triages__c'};
public static void Execute() {
System.debug('Starting: ExportSObjectAsCSV');
System.debug('SObjects to Export As CSV:');
@SalesforceBobLightning
SalesforceBobLightning / StringUtils.cls
Last active August 23, 2018 16:08
String Utilities for Salesforce Apex
public class StringUtils {
public static String format(String format, String param1){
return String.format(format, new String[] {param1});
}
public static String format(String format, Object param1){
return String.format(format, new String[] {String.valueOf(param1)});
}
@SalesforceBobLightning
SalesforceBobLightning / README.md
Last active August 17, 2018 14:35
Custom Visualforce Component to display DateTime with User TimeZone

Visualforce Component to display DateTime using User TimeZone

Usage

@SalesforceBobLightning
SalesforceBobLightning / SystemDebugAction.cls
Last active August 1, 2018 09:45
Write to System.Debug from Salesforce Process Builder
public class SystemDebugAction {
@InvocableMethod(
label='System Debug'
)
public static void logDebugMessages(List<Request> requests) {
for(Request request : requests){
logDebugMessage(request);
}
@SalesforceBobLightning
SalesforceBobLightning / makeHttpCallout.cls
Created July 28, 2018 16:01
Making Http Callout using Salesforce Apex, with PATCH workaround
public static HttpResponse makeHttpCallout(String url, String method, String body, Map<String,String> headers){
HttpRequest request = new HttpRequest();
Http http = new Http();
if(method == 'PATCH'){
request.setMethod('POST');
url += '?_HttpMethod=PATCH';
} else {
request.setMethod(method);
@SalesforceBobLightning
SalesforceBobLightning / GeneratePDFAction.cls
Created July 26, 2018 22:48
Generate PDF from a Docomotion Form Name via Salesforce Process Builder. Rather than using Docomotion Form ID
/**
* @description: Using Docomotion: create PDF via Process Builder using Form Name. Rather than using Form IDs which are different in each Org
* @documentation: https://www.docomotion.com/support/generating-documents/silent-mode-generating-output-through-an-api/?highlight=API
**/
public class GeneratePDFAction {
@InvocableMethod(
label='Custom Generate PDF'
description = 'Generate PDF using a Form Name and What Id'
)