Home/Salesforce/Page 9
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
Why does my LWC Apex call return empty data but works in Developer Console?
The running user lacks record-level access. Problem Explanation LWCs run in user context, while Developer Console often runs with elevated access. Root Cause(s) 1. Missing sharing rules 2. Apex class marked with sharing 3. Field-level security restrictions Step-by-Step Solution 1. Check object and fRead more
The running user lacks record-level access.
Problem Explanation
LWCs run in user context, while Developer Console often runs with elevated access.
Root Cause(s)
1. Missing sharing rules
2. Apex class marked
with sharing3. Field-level security restrictions
Step-by-Step Solution
1. Check object and field permissions
2. Review sharing model
3. Adjust Apex sharing if appropriate
Edge Cases & Variations
1. System context applies only to Apex, not LWC
2. Guest users have additional limits
Common Mistakes to Avoid
1. Removing sharing without justification
See less2. Testing only as admin
Why does my Apex test class fail with “Mixed DML Operation” error?
You’re modifying setup and non-setup objects in the same transaction. Problem Explanation Salesforce separates setup objects (User, Profile) from standard objects to maintain system integrity. Root Cause(s) 1. Creating Users and Accounts together 2. Updating Permission Sets alongside data records 3.Read more
You’re modifying setup and non-setup objects in the same transaction.
Problem Explanation
Salesforce separates setup objects (User, Profile) from standard objects to maintain system integrity.
Root Cause(s)
1. Creating Users and Accounts together
2. Updating Permission Sets alongside data records
3. Test setup not isolated
Step-by-Step Solution
1. Move setup object DML to
System.runAs()2. Separate transactions using
@testSetup3. Use async Apex for one side if required
Edge Cases & Variations
1. Permission Set Assignments count as setup DML
2. Community Users increase complexity
Common Mistakes to Avoid
1. Creating users inside main test method
See less2. Ignoring setup vs non-setup distinction
Why does my Salesforce Flow create duplicate records even with entry conditions?
The Flow is triggered multiple times due to record updates or automation recursion. Problem Explanation Record-triggered Flows can re-run when the same record is updated by another Flow, Process Builder, or Apex, causing duplicate record creation. Root Cause(s) 1. Flow runs on create and update 2. NRead more
The Flow is triggered multiple times due to record updates or automation recursion.
Problem Explanation
Record-triggered Flows can re-run when the same record is updated by another Flow, Process Builder, or Apex, causing duplicate record creation.
Root Cause(s)
1. Flow runs on create and update
2. No duplicate-check logic
3. Another automation updates the same record
4. Before-save and after-save Flows both active
Step-by-Step Solution
1. Change trigger to Only when record is created
2. Add a Decision element to check for existing records
3. Use a unique field (Email, External ID)
4. Disable redundant automation
Edge Cases & Variations
1. Integration updates can retrigger Flows
2. Bulk updates amplify duplicates
Common Mistakes to Avoid
1. Relying only on entry criteria
See less2. Ignoring update-triggered executions
Why is the Service layer considered the “brain” of a Salesforce Apex application?
The Service layer owns validation, calculations, and core decision logic.It orchestrates workflows without worrying about UI or database specifics.This makes business behavior reusable across controllers, triggers, and batch jobs.This approach is central to business-logic isolation.
The Service layer owns validation, calculations, and core decision logic.
See lessIt orchestrates workflows without worrying about UI or database specifics.
This makes business behavior reusable across controllers, triggers, and batch jobs.
This approach is central to business-logic isolation.
Why does Salesforce automation slow down record saves over time?
This slowdown is almost always caused by automation stacking rather than a single inefficient component. Each record save can trigger record-triggered Flows, Apex triggers, validation rules, roll-ups, and even downstream automation on related objects. Individually these may be lightweight, but togetRead more
This slowdown is almost always caused by automation stacking rather than a single inefficient component. Each record save can trigger record-triggered Flows, Apex triggers, validation rules, roll-ups, and even downstream automation on related objects. Individually these may be lightweight, but together they add measurable execution time.
See lessThe issue often worsens because automation is added incrementally. New Flows or triggers are created to handle edge cases without considering existing logic, so the same record may be updated multiple times in one transaction. This leads to repeated evaluations, recalculations, and re-entry into automation chains.
Why is versioning an important advantage of Salesforce Business Rules Engine?
BRE allows teams to create, test, and publish rule versions safely.Older versions remain available for rollback if needed.This reduces release risk and operational friction.Version-aware logic control is a core idea behind governed rule execution often highlighted on SalesforceTrail.
BRE allows teams to create, test, and publish rule versions safely.
See lessOlder versions remain available for rollback if needed.
This reduces release risk and operational friction.
Version-aware logic control is a core idea behind governed rule execution often highlighted on SalesforceTrail.
Why do Salesforce Flows conflict with Apex logic?
Flows and Apex operate independently but execute in the same transaction. When both attempt to modify the same fields, conflicts occur. Lack of clear ownership over logic increases the risk of inconsistent outcomes. Defining clear boundaries between Flow and Apex responsibilities reduces conflicts.TRead more
Flows and Apex operate independently but execute in the same transaction. When both attempt to modify the same fields, conflicts occur.
See lessLack of clear ownership over logic increases the risk of inconsistent outcomes.
Defining clear boundaries between Flow and Apex responsibilities reduces conflicts.
Takeaway: Mixing automation layers requires strict coordination.
Why do Salesforce test failures increase as codebase grows?
Test failures increase because tests become indirectly coupled to shared logic. A small change in automation can affect many tests that weren’t designed to account for it. Over time, tests also accumulate assumptions that no longer hold true as the system evolves. Refactoring tests to be more isolatRead more
Test failures increase because tests become indirectly coupled to shared logic. A small change in automation can affect many tests that weren’t designed to account for it.
See lessOver time, tests also accumulate assumptions that no longer hold true as the system evolves.
Refactoring tests to be more isolated and behavior-focused reduces brittleness.
Takeaway: Growing systems require evolving test strategies.
How do I prevent recursive trigger execution in Salesforce?
Use a static Boolean flag or a trigger handler pattern. Problem Explanation Triggers can fire repeatedly due to record updates caused by automation or Apex logic. Root Cause(s) 1. Update DML inside triggers 2. Workflow, Flow, or Process Builder updates 3. Missing recursion control Step-by-Step SolutRead more
Use a static Boolean flag or a trigger handler pattern.
Problem Explanation
Triggers can fire repeatedly due to record updates caused by automation or Apex logic.
Root Cause(s)
1. Update DML inside triggers
2. Workflow, Flow, or Process Builder updates
3. Missing recursion control
Step-by-Step Solution
1. Create a static variable in a helper class
2. Exit trigger logic if flag is already set
public class TriggerControl {
public static Boolean isRunning = false;
}
Edge Cases & Variations
1. Multiple triggers require a shared handler
2. Flows can still cause recursion indirectly
Common Mistakes to Avoid
1. Using non-static variables
See less2. Relying only on trigger context
How do I fix “Too many SOQL queries: 101” in an Apex trigger?
Bulkify your trigger and move queries outside loops. Problem Explanation Salesforce enforces a governor limit of 100 SOQL queries per transaction. Queries inside loops multiply quickly and exceed this limit. Root Cause(s) 1. SOQL inside for loops 2. Multiple triggers on the same object 3. RecursiveRead more
Bulkify your trigger and move queries outside loops.
Problem Explanation
Salesforce enforces a governor limit of 100 SOQL queries per transaction. Queries inside loops multiply quickly and exceed this limit.
Root Cause(s)
1. SOQL inside
forloops2. Multiple triggers on the same object
3. Recursive trigger execution
Step-by-Step Solution
1. Collect record IDs into a
Set<Id>2. Run one SOQL query using
WHERE Id IN :idSet3. Store results in a
Map<Id, SObject>4. Access data from the map inside loops
Map<Id, Account> accMap = new Map<Id, Account>(
[SELECT Id, Name FROM Account WHERE Id IN :accIds]
);
Edge Cases & Variations
1. Use
Trigger.newMapin update triggers2. Watch for workflow or Flow-triggered recursion
Common Mistakes to Avoid
1. Querying per record
See less2. Ignoring recursion guards
3. Using
Limits.getQueries()only for logging