• Padmaja Gadepalli
  • NEWBIE
  • 0 Points
  • Member since 2016

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 3
    Questions
  • 2
    Replies
hi Everyone , i am trying to  show data on an inline vfpage on opportunity  from junction obejct on lead an dcustom object . vfpage on opportunity is giving error :"Content cannot be displayed: Attempt to de-reference a null object"
i see that opprtunity id is being picked from debug log  but looks like the list is not being passed onto page.


here is my code :
controller:

public with sharing class OpportunityLeadQuestionnaire {
    private final ApexPages.StandardController controller;
    private final Opportunity OppRecord;
    public String opptyrecord {get;set;}
    public String OpportunityId{set;get;}

    public list<LeadQualificationAns__c> questions{get;set;}
    
    public ApexPages.StandardSetController quesRecords { get;set;}
    
     
    public OpportunityLeadQuestionnaire(ApexPages.StandardController  scMain) {  
    
    OpportunityId = System.currentPageReference().getParameters().get('id');
    Opportunity Opp = [select Id,Name from Opportunity where id =: OpportunityId];
     // OpptyRecord = Opp.id;
      questions=new list<leadqualificationans__C>();
      questionslist();
  }
 
    
 
 
// public OpportunityLeadQuestionnaire(){
  //opptyrecord = System.currentPageReference().getParameters().get('id');
     
//  questionslist();  }
 
    public void questionslist(){      
      
      OpptyRecord = System.currentPageReference().getParameters().get('id');
     
    // opptyrecord = System.currentPageReference().getParameters().get('id');
     // new ApexPages.StandardSetController(Database.getQueryLocator([select Id,Subject,CaseNumber, Resolution__c,AccountId, Status, Priority,Productweb__c, Created__c,Modified__c,Submitted_By__c,CreatedDate from Case where status=:caseType order by CreatedDate desc]));
    opptyrecord = new ApexPages.StandardSetController(Database.getQueryLocator(select Id,Name from Opportunity where id =:)));
       
    
      list<lead> LeadRecord = [SELECT Id ,status FROM Lead WHERE ConvertedOpportunityId = :OpptyRecord and status='Converted'];
        
             if ( LeadRecord.size()>0)
           {
                list<LeadQualificationAns__c> quesrecords =[select id,lead__r.id,questionaire__C,Questionaire__r.answerdatatype__C,Questionaire__r.order__C,opportunityid__c,answer__C, AnswerDate__c,problem__C,prompt__c,ProblemSolve__c,Project_Compliance__c,budgetallocated__c,contactreason__c,Solution__c,DurationRange__c,QualificationComplete__C  from LeadQualificationAns__c where lead__c =:LeadRecord[0].Id ] ;
                 }
               
                 quesrecords.setPageSize(10);

        }
   
   public List<LeadQualificationAns__c> getquestions() {

        return (List<LeadQualificationAns__c>) quesRecords.getRecords();

    }
 
     
  
    
    }


vf page :


<apex:page standardController="Opportunity" id="thepage" extensions="OpportunityLeadQuestionnaire" docType="html-5.0" > <apex:outputPanel > <apex:pageMessages ></apex:pageMessages> <apex:form id="theForm" > <apex:pageBlock id="theBlock" > <apex:pageBlockSection id="section" columns="1" > <apex:repeat var="question" value="{!questions}"> <apex:outputLabel style="font-weight:bold;" value="{!question.Question__c}" rendered="{!IF(Question.Questionaire__r.AnswerDataType__c=='LongText',true,false)}" /> <apex:inputTextarea cols="80" rows="3" value="{!question.Answer__c}" rendered="{!IF(Question.Questionaire__r.AnswerDataType__c=='LongText',true,false)}"/> </apex:repeat> <apex:pageBlockSection columns="2" > <apex:repeat var="question" value="{!questions}"> <tr style="display:rendered={!question.Questionaire__r.AnswerDataType__c=='Date'}"> <apex:inputField label="{!question.Question__c}" value="{!question.AnswerDate__c}" rendered="{!IF(question.Questionaire__r.AnswerDataType__c=='Date',true,false)}" /> </tr> <tr style="display:rendered={!question.Questionaire__r.AnswerDataType__c=='Picklist'} && {!question.Questionaire__r.Order__c==50}"> <apex:inputfield label="{!question.Question__c}" value="{!question.prompt__c}" rendered="{!IF(question.Questionaire__r.AnswerDataType__c=='Picklist' && question.Questionaire__r.Order__c==50,true,false)}"/> </tr> <tr style="display:rendered={!question.Questionaire__r.AnswerDataType__c=='Picklist'} && {!question.Questionaire__r.Order__c==51}"> <apex:inputfield label="{!question.Question__c}" value="{!question.ProblemSolve__c}" rendered="{!IF(question.Questionaire__r.AnswerDataType__c=='Picklist' && question.Questionaire__r.Order__c==51,true,false)}"/> </tr> <tr style="display:rendered={!question.Questionaire__r.AnswerDataType__c=='Picklist'} && {!question.Questionaire__r.Order__c==52}"> <apex:inputfield label="{!question.Question__c}" value="{!question.problem__c}" rendered="{!IF(question.Questionaire__r.AnswerDataType__c=='Picklist' && question.Questionaire__r.Order__c==52,true,false)}"/> </tr> <tr style="display:rendered={!question.Questionaire__r.AnswerDataType__c=='Picklist'} && {!question.Questionaire__r.Order__c==53} "> <apex:inputfield label="{!question.Question__c}" value="{!question.Project_Compliance__c}" rendered="{!IF(question.Questionaire__r.AnswerDataType__c=='Picklist' && question.Questionaire__r.Order__c==53,true,false)}"/> </tr> <tr style="display:rendered={!question.Questionaire__r.AnswerDataType__c=='Picklist'} && {!question.Questionaire__r.Order__c==54} "> <apex:inputfield label="{!question.Question__c}" value="{!question.budgetallocated__c}" rendered="{!IF(question.Questionaire__r.AnswerDataType__c=='Picklist' && question.Questionaire__r.Order__c==54,true,false)}"/> </tr> <tr style="display:rendered={!question.Questionaire__r.AnswerDataType__c=='Picklist'} && {!question.Questionaire__r.Order__c==55} "> <apex:inputfield label="{!question.Question__c}" value="{!question.contactreason__c}" rendered="{!IF(question.Questionaire__r.AnswerDataType__c=='Picklist' && question.Questionaire__r.Order__c==55,true,false)}"/> </tr> <tr style="display:rendered={!question.Questionaire__r.AnswerDataType__c=='Picklist'} && {!question.Questionaire__r.Order__c==56} "> <apex:inputfield label="{!question.Question__c}" value="{!question.Solution__c}" rendered="{!IF(question.Questionaire__r.AnswerDataType__c=='Picklist' && question.Questionaire__r.Order__c==56,true,false)}"/> </tr> <tr style="display:rendered={!question.Questionaire__r.AnswerDataType__c=='Picklist'} && {!question.Questionaire__r.Order__c==57} "> <apex:inputfield label="{!question.Question__c}" value="{!question.DurationRange__c}" rendered="{!IF(question.Questionaire__r.AnswerDataType__c=='Picklist' && question.Questionaire__r.Order__c==57,true,false)}"/> </tr> </apex:repeat> </apex:pageBlockSection> </apex:pageBlockSection> </apex:pageBlock> </apex:form> </apex:outputPanel> </apex:page>
 
i have a custom object to build questions and answers with a lookup to lead and have VF page to save answers .i am displaying VFpage on lead and eventully on opportunity after lead conversion .i see that these answers are saved and available to all leads instead of the particular lead where i open page from
i am getting  "Too many SOQL queries: 101" issue when trying ot save a quote and only when the quote lineitems count exceeds 80.
Here is piece of code that apparently is causing issue .
cQuoteGroups = new List<SelectOption>();
            cQuoteGroups.add(new SelectOption('','--None--'));
                  lstQLG = [SELECT Id,Name FROM Quote_Line_Group__c WHERE Quote__c = :cQuote.Id Order By Order__c ASC];
            for(Quote_Line_Group__c qlg : lstQLG){
                if(qlg.Name != 'Change' && qlg.Name != 'Remove'){
                    cQuoteGroups.add(new SelectOption(qlg.Name,qlg.Name));
                                 }
            }
please advise..
hi Everyone , i am trying to  show data on an inline vfpage on opportunity  from junction obejct on lead an dcustom object . vfpage on opportunity is giving error :"Content cannot be displayed: Attempt to de-reference a null object"
i see that opprtunity id is being picked from debug log  but looks like the list is not being passed onto page.


here is my code :
controller:

public with sharing class OpportunityLeadQuestionnaire {
    private final ApexPages.StandardController controller;
    private final Opportunity OppRecord;
    public String opptyrecord {get;set;}
    public String OpportunityId{set;get;}

    public list<LeadQualificationAns__c> questions{get;set;}
    
    public ApexPages.StandardSetController quesRecords { get;set;}
    
     
    public OpportunityLeadQuestionnaire(ApexPages.StandardController  scMain) {  
    
    OpportunityId = System.currentPageReference().getParameters().get('id');
    Opportunity Opp = [select Id,Name from Opportunity where id =: OpportunityId];
     // OpptyRecord = Opp.id;
      questions=new list<leadqualificationans__C>();
      questionslist();
  }
 
    
 
 
// public OpportunityLeadQuestionnaire(){
  //opptyrecord = System.currentPageReference().getParameters().get('id');
     
//  questionslist();  }
 
    public void questionslist(){      
      
      OpptyRecord = System.currentPageReference().getParameters().get('id');
     
    // opptyrecord = System.currentPageReference().getParameters().get('id');
     // new ApexPages.StandardSetController(Database.getQueryLocator([select Id,Subject,CaseNumber, Resolution__c,AccountId, Status, Priority,Productweb__c, Created__c,Modified__c,Submitted_By__c,CreatedDate from Case where status=:caseType order by CreatedDate desc]));
    opptyrecord = new ApexPages.StandardSetController(Database.getQueryLocator(select Id,Name from Opportunity where id =:)));
       
    
      list<lead> LeadRecord = [SELECT Id ,status FROM Lead WHERE ConvertedOpportunityId = :OpptyRecord and status='Converted'];
        
             if ( LeadRecord.size()>0)
           {
                list<LeadQualificationAns__c> quesrecords =[select id,lead__r.id,questionaire__C,Questionaire__r.answerdatatype__C,Questionaire__r.order__C,opportunityid__c,answer__C, AnswerDate__c,problem__C,prompt__c,ProblemSolve__c,Project_Compliance__c,budgetallocated__c,contactreason__c,Solution__c,DurationRange__c,QualificationComplete__C  from LeadQualificationAns__c where lead__c =:LeadRecord[0].Id ] ;
                 }
               
                 quesrecords.setPageSize(10);

        }
   
   public List<LeadQualificationAns__c> getquestions() {

        return (List<LeadQualificationAns__c>) quesRecords.getRecords();

    }
 
     
  
    
    }


vf page :


<apex:page standardController="Opportunity" id="thepage" extensions="OpportunityLeadQuestionnaire" docType="html-5.0" > <apex:outputPanel > <apex:pageMessages ></apex:pageMessages> <apex:form id="theForm" > <apex:pageBlock id="theBlock" > <apex:pageBlockSection id="section" columns="1" > <apex:repeat var="question" value="{!questions}"> <apex:outputLabel style="font-weight:bold;" value="{!question.Question__c}" rendered="{!IF(Question.Questionaire__r.AnswerDataType__c=='LongText',true,false)}" /> <apex:inputTextarea cols="80" rows="3" value="{!question.Answer__c}" rendered="{!IF(Question.Questionaire__r.AnswerDataType__c=='LongText',true,false)}"/> </apex:repeat> <apex:pageBlockSection columns="2" > <apex:repeat var="question" value="{!questions}"> <tr style="display:rendered={!question.Questionaire__r.AnswerDataType__c=='Date'}"> <apex:inputField label="{!question.Question__c}" value="{!question.AnswerDate__c}" rendered="{!IF(question.Questionaire__r.AnswerDataType__c=='Date',true,false)}" /> </tr> <tr style="display:rendered={!question.Questionaire__r.AnswerDataType__c=='Picklist'} && {!question.Questionaire__r.Order__c==50}"> <apex:inputfield label="{!question.Question__c}" value="{!question.prompt__c}" rendered="{!IF(question.Questionaire__r.AnswerDataType__c=='Picklist' && question.Questionaire__r.Order__c==50,true,false)}"/> </tr> <tr style="display:rendered={!question.Questionaire__r.AnswerDataType__c=='Picklist'} && {!question.Questionaire__r.Order__c==51}"> <apex:inputfield label="{!question.Question__c}" value="{!question.ProblemSolve__c}" rendered="{!IF(question.Questionaire__r.AnswerDataType__c=='Picklist' && question.Questionaire__r.Order__c==51,true,false)}"/> </tr> <tr style="display:rendered={!question.Questionaire__r.AnswerDataType__c=='Picklist'} && {!question.Questionaire__r.Order__c==52}"> <apex:inputfield label="{!question.Question__c}" value="{!question.problem__c}" rendered="{!IF(question.Questionaire__r.AnswerDataType__c=='Picklist' && question.Questionaire__r.Order__c==52,true,false)}"/> </tr> <tr style="display:rendered={!question.Questionaire__r.AnswerDataType__c=='Picklist'} && {!question.Questionaire__r.Order__c==53} "> <apex:inputfield label="{!question.Question__c}" value="{!question.Project_Compliance__c}" rendered="{!IF(question.Questionaire__r.AnswerDataType__c=='Picklist' && question.Questionaire__r.Order__c==53,true,false)}"/> </tr> <tr style="display:rendered={!question.Questionaire__r.AnswerDataType__c=='Picklist'} && {!question.Questionaire__r.Order__c==54} "> <apex:inputfield label="{!question.Question__c}" value="{!question.budgetallocated__c}" rendered="{!IF(question.Questionaire__r.AnswerDataType__c=='Picklist' && question.Questionaire__r.Order__c==54,true,false)}"/> </tr> <tr style="display:rendered={!question.Questionaire__r.AnswerDataType__c=='Picklist'} && {!question.Questionaire__r.Order__c==55} "> <apex:inputfield label="{!question.Question__c}" value="{!question.contactreason__c}" rendered="{!IF(question.Questionaire__r.AnswerDataType__c=='Picklist' && question.Questionaire__r.Order__c==55,true,false)}"/> </tr> <tr style="display:rendered={!question.Questionaire__r.AnswerDataType__c=='Picklist'} && {!question.Questionaire__r.Order__c==56} "> <apex:inputfield label="{!question.Question__c}" value="{!question.Solution__c}" rendered="{!IF(question.Questionaire__r.AnswerDataType__c=='Picklist' && question.Questionaire__r.Order__c==56,true,false)}"/> </tr> <tr style="display:rendered={!question.Questionaire__r.AnswerDataType__c=='Picklist'} && {!question.Questionaire__r.Order__c==57} "> <apex:inputfield label="{!question.Question__c}" value="{!question.DurationRange__c}" rendered="{!IF(question.Questionaire__r.AnswerDataType__c=='Picklist' && question.Questionaire__r.Order__c==57,true,false)}"/> </tr> </apex:repeat> </apex:pageBlockSection> </apex:pageBlockSection> </apex:pageBlock> </apex:form> </apex:outputPanel> </apex:page>
 
i am getting  "Too many SOQL queries: 101" issue when trying ot save a quote and only when the quote lineitems count exceeds 80.
Here is piece of code that apparently is causing issue .
cQuoteGroups = new List<SelectOption>();
            cQuoteGroups.add(new SelectOption('','--None--'));
                  lstQLG = [SELECT Id,Name FROM Quote_Line_Group__c WHERE Quote__c = :cQuote.Id Order By Order__c ASC];
            for(Quote_Line_Group__c qlg : lstQLG){
                if(qlg.Name != 'Change' && qlg.Name != 'Remove'){
                    cQuoteGroups.add(new SelectOption(qlg.Name,qlg.Name));
                                 }
            }
please advise..