Answers - Salesforce Trailblazer Community
Trailblazer Community
Ask Search:
Shubhashini RajaShubhashini Raja 
Hello Trailblazers!!
I cleared my Admin Certification today. I'm so happy. Thank you so much Trailblazer Community for helping me accomplish this. You guys have responded immediately for every question I posted and thanks a lot for sharing the required materials on topics I need referencing. You guys are amazing. Let's keep Blazing!!

Next prep for "Advanced Admin"
 
Best Answer chosen by Shubhashini Raja
Sakthivel MadeshSakthivel Madesh
Wow.. Congratulation Shubhashini !!

Try this trailmix from trailhead - https://trailhead.salesforce.com/en/users/strailhead/trailmixes/prepare-for-your-salesforce-advanced-administrator-credential

Advanced Administrator Quiz from SalesforceBen Website - https://www.salesforceben.com/certified-advanced-administrator-quiz/
Bob JohnsonBob Johnson 
For the life of me I cannot figure this out.   The Admin Cert 2021 is a simple item but it is acting very buggy for me.   I did the major steps:

1.  Set up new org
2.  Import the CSV to create object
3.  Edited the Dynamic Form as intended (since this is the showcase item of the mini badge)

But it will not complete verification -- each timve giving the message below:

We can’t find the custom object with api name 'Laptop_Warranty'.

NOTE:   Shouldn't it be looking for Laptop_Warranty__c ???  Since it has to be a custom object, is there a bug in the check-for-complete code perhaps?

Did anyone else get stuck on this?


Link:  https://trailhead.salesforce.com/en/content/learn/modules/administrator-certification-maintenance-spring-21/maintain-your-administrator-certification-for-spring21
Course Link (https://trailhead.salesforce.com/en/content/learn/modules/administrator-certification-maintenance-spring-21/maintain-your-administrator-certification-for-spring21)
Best Answer chosen by Bob Johnson
Bob JohnsonBob Johnson
Ok, I finally solved it and I figured out the two problems I had were, and I do not believe they were related. 

1st -- even though I created a new org like the instructions suggest, AND I was using the "Launch" button with that Org selected, because I was logged into two different orgs at the time the "validation" function was clearly going to the right org.  When I started over with a new reboot (no changes at all) and fresh Chrome, the validation now found the object.   Then the error changed to something like "please set your filters correct" (sorry I missed exact error).

I had set the filters correctly on the Active Warranty field -- but because I had messed up the page originally, somehow it got renamed as Laptop_Warranty_Record_Page2.     Once I fixed the name of the page by removing that number, it now successfully completed the challenge.

So:
1.  If you are getting the "cant find object" message, make sure you log out of all sandbox/sf instances and start fresh.
2.  If you are getting an error on the record_detail component, check your page name and make sure it is correct.

Thanks for the replies all. 
Moumita SahaMoumita Saha 
Please help me to resolve the issue I am facing.
Error:
Challenge Not yet complete... here's what's wrong:
The WarehouseCalloutService class does not appear to have run successfully. Make sure that you run this class at least once before attempting this challenge. Since this class is implementing the queueable interface, you may want to wait to ensure that it has processed successfully.
Question:
Synchronize Salesforce data with an external system
Implement an Apex class (called WarehouseCalloutService) that implements the queueable interface and makes a callout to the external service used for warehouse inventory management. This service receives updated values in the external system and updates the related records in Salesforce. Before checking this section, enqueue the job at least once to confirm that it's working as expected.
My Code:
public with sharing class WarehouseCalloutService implements queueable, Database.AllowsCallouts {
    private static final String WAREHOUSE_URL = 'https://th-superbadge-apex.herokuapp.com';
    
    public void execute(QueueableContext context){
        Http http = new Http();
        HttpRequest request = new HttpRequest();
        request.setEndpoint(WAREHOUSE_URL);
        request.setMethod('GET');
        HttpResponse response = http.send(request);
        if(response.getStatusCode() == 200)
        {
            List<Object> externalProducts = (List<Object>) JSON.deserializeUntyped(response.getBody());
            List<Product2> newProducts = new List<Product2>();
            
            for(Object p : externalProducts)
            {
                Map<String, Object> productMap = (Map<String, Object>) p;
                Product2 pr = new Product2();
                pr.Replacement_Part__c = (Boolean)productMap.get('replacement');
                pr.Cost__c = (Integer)productMap.get('cost');
                pr.Current_Inventory__c = (Integer)productMap.get('quantity');
                pr.Lifespan_Months__c = (Integer)productMap.get('lifespan') ;
                pr.Maintenance_Cycle__c = (Integer)productMap.get('maintenanceperiod');
                pr.Warehouse_SKU__c = (String)productMap.get('sku');
                pr.ProductCode = (String)productMap.get('_id');
                pr.Name = (String)productMap.get('name');
                newProducts.add(pr);
            }
            if(newProducts.size() >0)
            {
                upsert newProducts; 
            }
        }   
    }
}
Best Answer chosen by Moumita Saha
Moumita SahaMoumita Saha
Thank you Keiji and Dipojjal for your responses.
I was able to resolve by above code only, just changed the URL from https://th-superbadge-apex.herokuapp.com to https://th-superbadge-apex.herokuapp.com/equipment
Chandramohan YetukuriChandramohan Yetukuri 
Hello Experts..

The below SFDX command
Command: SFDX: Retrieve Source from Org
gives the below error
ERROR:- Cannot read property 'split' of undefined
Its been happpenning since few days. I generated package.xml again and then tried...still getting the same error.

Regards,
Chandra
 
Steve MolisSteve Molis 
Here's a few custom Formula Fields that I created in my Salesforce org to make building Report Formulas a lot easier and to get around some of the limitations of Row-Level and Summary Level Formulas

Enjoy

SteveMo

FieldName: Open 
Datatype: Formula(Checkbox)
Formula: 
IsClosed = FALSE

FieldName: Lost 
Datatype: Formula(Checkbox)
Formula:
AND( IsClosed = TRUE , IsWon = FALSE )

FieldName: $Amount(Closed)
Datatype: Formula(Currency)
Formula:
IF( IsClosed = TRUE , Amount , 0 )

FieldName: $Amount(Open)  
Datatype: Formula(Currency)
Formula:
IF( IsClosed = FALSE , Amount , 0 )

FieldName: $Amount(Won)  
Datatype: Formula(Currency)
Formula:
IF( IsWon = TRUE , Amount , 0 )

FieldName: $Amount(Lost)
Datatype: Formula(Currency)
Formula:
IF( AND( IsClosed = TRUE , IsWon = FALSE ), Amount , 0 )
Ben GautBen Gaut 
When attempting to add a product (or products) to an Opportunity in Lightning, the Search function produces no results. I found that this is a known issue that will be fixed in the Spring '18 release, but the known issue page has no workaround listed.

I found a workaround.

We only had a single price book for our products, so I copied the price book, activated it, and named it "Copy of Standard Price book," though I doubt the name of the second price book matters. When I went back into the Opportunity to search for a Product to add, the search function worked properly. 

For what it's worth, I was also able to deactivate the copy of the price book, and the Product search on the Opportunity object still worked. 

Hopefully this helps some others get through until the patch is in place this coming Spring.
Steve MolisSteve Molis 
First bow and give thinks to the DemiGod of Analytics Tom Tobin (https://success.salesforce.com/_ui/core/chatter/groups/GroupProfilePage?g=0F9300000001pFV) (the guy who taught me "The Power of One").  Then create a new custom field on the object that you want to count in your Reports (my advice: do it on every Object in your Salesforce org). 

Documentation Create Custom Fields​

Step 1.  Choose the Field Type 
Select: Formula 
User-added image 
Step 2. Choose the Output Type 
Select: Number (0 decimals)
User-added image

Step 3. Build the Formula
1
that's it, just a number one, nothing else...  What??? why are you looking at me like that???  

The moment you click "Save" every existing record of that Object will have a number 1 on it, no matter how many thousands, millions, bahzillions of them you have on your SFDC org, and every record that is created after that for as long as you have your SFDC org and the stars shine and the Sun burns bright.  

So what's the big f*ing deal???  It's just a 1...  you create a Power of One field on an Account, you look at an Account and there's just a 1, what's so friggin' awesome about that???  

Grab a Report and add your shiny new "Power of One" fields to it and select Summarize(SUM) 
User-added image

Then Run the Report...

*** Spoiler Alert: Here's where the magic happens ***

User-added image
Now you can get the number of Opportunity Owners, the number of Accounts, the number of Opportunities, the number of Opportunity Products, Lightbulbs, Widgets, Bottles of Beer on the Wall... all using The Power of One    

But don't take my word for it...
User-added image
 
Hemant PareekHemant Pareek 
Lwc components are visible on record page but in flexiPage.xml it is not there.
1. I have updated the package.xml to latest 51 version but issue is still there.
2. When I add an aura component, it reflects in the .xml file after retrieval but when I add lwc, no changes are there in .xml of flexi page.
Michael LeydetMichael Leydet 

Hello, I couldn't actually reach support so I'll have to rely on the brains here.

I am an admin for my company's Quip (apparently this is now called Salesforce anywhere?) and I have a user that cannot log in. When I log in, I use my email and it presents me with a Google Auth screen, where I click on my email and it logs me in. When my user does the same thing, it brings them to a SLack auth page requesting that they allow Quip to use Slack, they click Ok, then it takes them to a server error splash page and asks them to refresh, which takes them back to login, and repeat. 

How can I clear this up? I'd prefer that my users only use Google Auth for this, so I'd like to turn the ability for them to use Slack off or at the very least, I'd like to be able to help them switch between the two.

Kendra KellyKendra Kelly 
Hi everyone,

I'm having an issue with a workflow rule where I want to update a custom field "Renewal_Date__c" on an Opportunity record, with a custom Opportunity Product field "End_Date__c" when the Opportunity stage is changed to "Delivery Won."

My workflow rule object is the Opportunity Product and the criteria is:

(Opportunity Product: Opportunity Product Name EQUALS Annual Subscription) AND (Opportunity: Stage EQUALS Delivery Won)

The rule evaluates when a record is created, and every time it's edited.

My field to update is Opportunity: Renewal Date and updates with the formula "End_Date__c" (from the Opportunity Product, don't worry, no " " in the actual formula!)

I have made sure my rule is active.

When I add the product "annual subscription" and change the Opportunity Stage to "Delivery Won" nothing happens to "Renewal_Date__c". However, if I change the Opportunity stage "Delivery Won" and THEN add my "annual subscription" Opportunity Product to the Opportunity, the field updates. I orignally figured that is because the field will only update if the Opportunity Product updates since that is my primary object in the workflow rule. However, I added another workflow field update to the same rule, this time on an Opportunity Product field, to arbitrary update the record. Looking at the last modified date on the Opportunity Product, this does update the Opportunity Product record, but it still does not cause my workflow rule to update "Renewal_Date__c" on the Opportunity if the Opportunity Product is added before the Opportunity stage is "Delivery Won."

I'm really hoping this is not a trigger, because while I'd love to write a trigger, I'm not quiet at that level yet. Is this possible with a cross object formula? Am I missing something in the workflow rule?

My end goal is to get a renewal date field on the Account record from the Opportunity Product "End_Date__c". I was planning on Opportunity Product ("End_Date__c") --> Opportunity ("Renwal_Date__c") --> Account ("Account_Renewal_Date__c"), so if that helps with a workaround, great.

I'm not sure why this only works when I add an the "annual subscription" Opportunity Product to the Opportunity when my workflow conditions are already true, but I'm hoping someone can help me out.

​Thank you in advance!
Best Answer chosen by Kendra Kelly
Jeff MayJeff May
You can't control a Parent record based on a value from one of its children, since there would be no way to know which child record the parent criteria should use.

However, you can create a Rollup Summary field on Opportunity that holds the "Max" Date from all the related LineItem records.  Then, your Opportunity Workflow Rule could set an Opportunity field based on the value in that Rollup field.