• Venkatesan Sundaram
  • NEWBIE
  • -1 Points
  • Member since 2015

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 2
    Questions
  • 6
    Replies
Hello All, I would like to define the Sales Process that can vary by Opportunity Product under each opportunity rather than one Sales Process for the entire Opportunity. Any thoughts to design this in Salesforce helps. I understand this can be done by customization but my first preference is to do through configuration using point and click tools in Salesforce.  I understand unlike Opportunity or Lead there is no standard way to define a sales process at Opportunity product level. Appreciate your inputs.
Hello All, I am stuck on the above assignment with the below error 

Challenge Not yet complete... here's what's wrong: 
The 'Opp Stage by Adventure' report does not appear to be configured correctly. Make sure it has the correct report type, groupings, filters and chart type.


I have tried all suggestions provided in this topic but no help. You can find attached the reports / adventure page as of now. Any clue to resolve the issue helps

User-added image

User-added image
below is vf page where i tried to access wave dashboard along with accesstoken and endpoint url.
<apex:page >
    <apex:includeScript value="/lightning/lightning.out.js"/>
    <apex:outputLabel >Sample Dashboard</apex:outputLabel>
    <apex:includeLightning />

    <div id="lightning" />

    <script>
        $Lightning.use("wave:waveApp", function() {               
             $Lightning.createComponent("wave:waveDashboard", {                    
                 dashboardId: "0FK7F000000H7K8WAK"                
             }, "app");
            }, "https://lt-wave-dev-ed.my.salesforce.com/analytics/wave/wave.apexp?tsid=02u7F000000tvPn", "00D7F000000pXMH!AR8AQO.bcc44cTOYSFnr5EnbO5VHKOLk2.pRtvB95GtatxSw6h8Lt1fsn5yFIEREkkfREgjLMP.NBVsgm8sBWcmtWmrJ_SDy")
    </script>
</apex:page>

i am getting blank page with only header.
Hi, I'm starting a specific post for this topic. 

I'm getting the following message on step 9. 

Challenge Not yet complete... here's what's wrong: 
The 'Opp Stage by Adventure' report does not appear to be configured correctly. Make sure it has the correct report type, groupings, filters and chart type.

It is ironic to get to the end and get stuck on charts which I do all the time. :) Ok, here are the instructions:

Give sales reps a visual indicator to compare product performance. First, create a summary report on opportunities named Opp Stage by Adventure. Filter it by Product Date within the past year. For the purpose of this superbadge, assume this date range is 1/1/2026-12/31/2026. Second, add a stacked vertical bar chart of the number of explorers by product name, grouped by stage, to your summary report. Finally, add this chart to your Lightning Adventure Record Page with the label Adventure Stage Comparison. To ensure that this chart isn’t accidentally displayed to customers, add it to a new section called Adventure Comparison.

And, here is what I have. 

I have a Summary Report of "Opportunities with Adventures". In the data model, each Opportunnity corresponds to 1 Explorer from what I can tell per the data model. I've grouped the report by adventure and stage. I have not grouped by Explorer (which is a Contact Role on each Opportunity). I have tried that though and still got the same error. Note also that I'm using "Adventure Date" instead of Procuct Date per the instructions since Product has been renamed to Adventure. 

Opp Stage by Adventure Report



Chart Editor

In the Lightning Record page for Adventure, I've created a custom tab called "Adventure Comparison" and added in the chart called " Adventure Stage Comparison". I've also tried flipping those names, but I still got the same error. 

Adventure Chart in Lightning Record

Any hints would be appreciated. :)
Hi All,

Challenge Not yet complete... here's what's wrong: 
There was an unexpected error in your org which is preventing this assessment check from completing: System.DmlException: Delete failed. First exception on row 0 with id 0032800000VuJdTAAV; first error: DELETE_FAILED, Your attempt to delete Sam the ninja could not be completed because it is associated with the following adventure packages.: null, null : []

I am stuck with this error from long time.

I checked with debug logs when challenge tries to test our work. It is :
 
Execute Anonymous: Contact sam = new Contact(firstname='Sam', lastname='the ninja');
Execute Anonymous: insert sam;
Execute Anonymous: Opportunity opp = new Opportunity(name='Make Kite to Fly', stagename='New', closedate=date.today());
Execute Anonymous: insert opp;
Execute Anonymous: // insert product
Execute Anonymous: Product2 product = new Product2(name='Butterfly Net', isActive=true);
Execute Anonymous: insert product;
Execute Anonymous: // insert the pricebookentry
Execute Anonymous: Pricebook2 stdPrice = [Select id from Pricebook2 where isStandard=true limit 1];
Execute Anonymous: PricebookEntry pbe = new PricebookEntry( IsActive = true, Product2Id = product.id, UnitPrice = 2.00, Pricebook2Id = stdPrice.Id);
Execute Anonymous: insert pbe;
Execute Anonymous: // create the opp line item
Execute Anonymous: OpportunityLineItem oli1 = new OpportunityLineItem(OpportunityId=opp.Id, UnitPrice=2, quantity=1,pricebookentryid=pbe.Id, servicedate = date.newInstance(2050, 1, 1), explorer__c = sam.id);
Execute Anonymous: OpportunityLineItem oli2 = new OpportunityLineItem(OpportunityId=opp.Id, UnitPrice=2, quantity=1,pricebookentryid=pbe.Id, servicedate = date.newInstance(2010, 1, 1), explorer__c = sam.id);
Execute Anonymous: insert oli1;
Execute Anonymous: insert oli2;
Execute Anonymous: // this will create a fulfillment record
Execute Anonymous: // find the fulfillment -- by AdventurePackageId__c which is the opp line item
Execute Anonymous: Fulfillment__c f1 = [select id, deposit__c from Fulfillment__c where AdventurePackageId__c = :oli1.Id];
Execute Anonymous: Fulfillment__c f2 = [select id, deposit__c from Fulfillment__c where AdventurePackageId__c = :oli2.Id];
Execute Anonymous: // update the fulfillment and set to cancelled
Execute Anonymous: f1.Status__c = 'Cancelled';
Execute Anonymous: update f1;
Execute Anonymous: f2.Status__c = 'Cancelled';
Execute Anonymous: update f2;
Execute Anonymous: // get the fulfillment again to check the values
Execute Anonymous: oli1 = [select id, unitprice from OpportunityLineItem where Id = :oli1.Id];
Execute Anonymous: oli2 = [select id, unitprice from OpportunityLineItem where Id = :oli2.Id];
Execute Anonymous: // make sure the deposit matches the unit price
Execute Anonymous: System.assertEquals(f1.deposit__c, oli1.unitprice); // one way in the future
Execute Anonymous: System.assertNotEquals(f2.deposit__c, oli2.unitprice); // one way in the past
Execute Anonymous: // clean up
Execute Anonymous: delete opp;
Execute Anonymous: delete f1;
Execute Anonymous: delete f2;
Execute Anonymous: delete product;
Execute Anonymous: delete sam;

I tiried the same in anonymous window except the code of deleting records and there is no error. It means challenge is actually passed. But deleting test records causing error :
User-added image


Please help.
 
I'm receiving the following error on challenge #6 of the Lightning Superbadge:

Challenge Not yet complete... here's what's wrong: 
There was an unexpected error in your org which is preventing this assessment check from completing: System.DmlException: Delete failed. First exception on row 0 with id 0035000002hUBgRAAW; first error: DELETE_FAILED, Your attempt to delete Sam the ninja could not be completed because it is associated with the following adventure packages.: null, null : []

Looking at the Developer Console, it looks like the code which checks the system is forgetting to delete the Adventure Package records before deleting the Contact. Has anyone else run into this issue?

Thank you!
Ok, so I have a few questions about this specific challenge... First one of the requirements states:
"the Report Date field reflects the day the request was created, and the Due Date is calculated from the Report Date.".  Which request?  The original request or the new request?

Second, when checking the challenge I get the following notice:

"The challenge is expecting to find the closed Maintenance Request plus an 'New' Maintenance Request of type 'Routine Maintenance' with the same Vehicle as the closed one."

I have checked this trigger via the UI and it meets this requirement.  The new maintenance request does in fact show the same vehicle as the closed request, so why would I be getting this error?

 
for(Case C : triggerNew){
        	Case newCase = triggerNewMap.get(C.Id);
            Case oldCase = triggerOldMap.get(C.Id);
            if(newcase.status.contains('Closed') && !oldCase.status.contains('Closed') &&(newCase.recordTypeId=='012360000011FOeAAM' || newCase.recordTypeId =='012360000011FOjAAM')){
                for(Product2 prod : prodCodes){
                    
                    if(newCase.Product__c == prod.productCode){
                        prodExpiration = prod.lifespan_Months__c;
                    }
                }
                Decimal daysTilDue = prodExpiration * 30;
                Case maintenance = new Case(status='New',
                                            origin='Routine Maintenance',
                							//Added a routine maintenance type to the drop down field because I wasn't sure if it meant this 'type' or record type
                                            type='Routine Maintenance',
                                            //Id for 'Routine Maintenance' record type
                                            recordTypeId = '012360000011FOjAAM',
                                            reason= newCase.reason,
                                            subject='Routine Maintenance',
                                            product__c = newCase.Product__c,
                                           vehicle__c = newCase.Vehicle__c);
                maintenance.Date_Reported__c= newCase.CreatedDate.date();
                maintenance.Date_Due__c = maintenance.Date_Reported__c + daysTilDue.intValue();
                
                if(newCase.ContactId != null){
                    maintenance.ContactId = newCase.ContactId;
                }
                followUpCases.add(maintenance);
            }
        }//end of triggerNew for-loop
			insert followUpCases;

 
Has anyone completed this trail? I am stomped on challenge number 3, regarding created the process for fulfillment. Any pointers or guidance would be appreciated.