
VF CODE :
<apex:page standardController="Quote"
applyHtmlTag="false" renderAs="PDF" showheader="false" applyBodyTag="false" extensions="QuoteContentController">
<h2>OpportunityForecast Details</h2>
<table class="bordered">
<thead>
<tr>
<td class="header-table-heading" bgcolor="#.C0C0C0"> Part Numbers</td>
<td class="header-table-heading" bgcolor="#.C0C0C0">Quantity</td>
<td class="header-table-heading" bgcolor="#.C0C0C0"> Price</td>
<td class="header-table-heading" bgcolor="#.C0C0C0"> Amount</td>
<td class="header-table-heading" bgcolor="#.C0C0C0">Quarter</td>
<td class="header-table-heading" bgcolor="#.C0C0C0">Actual Price</td>
</tr>
</thead>
<tbody>
<apex:repeat value="{!disp_list}" var="opf">
<tr>
<td class="header-table-data"><apex:outputText value="{!opf.gmod_Product}"/></td>
<td class="header-table-data"><apex:outputText value="{!opf.gmod_Quantity}"/></td>
<td class="header-table-data"><apex:outputText value="{!opf.gmod_Price }"/></td>
<td class="header-table-data"><apex:outputText value="{!opf.gmod_Amount }"/></td>
<td class="header-table-data"><apex:outputText value="{!opf.gmod_Quarter }"/></td>
<td class="header-table-data"><apex:outputText value="{!opf.Actual_Price }"/></td>
</tr>
</apex:repeat>
</tbody>
</table>
</apex:page>
APEX CLASS :
public with sharing class QuoteContentController {
public List<wrapperClass> disp_list {get;set;}
public Competitor__c com{get;set;}
public Id qId {get;set;}
public QuoteContentController(ApexPages.StandardController controller) {
qId=Apexpages.currentPage().getparameters().get('Id');
}
//Declare a wrapper class
public class Wrapperclass{
public gmod__Opportunity_Forecast__c oppf{get;set;}
//custom wrapper datatype
public string Name{get;set;}
public string AccountType{get;set;}
public date todaysDate{get;set;}
public date Expected_Order_Date{get;set;}
public string Probability{get;set;}
public string Internal_Comment{get;set;}
public string External_Comment{get;set;}
public string Segment{get;set;}
public string Application{get;set;}
public string Persona{get;set;}
public string Geogrpahy{get;set;}
public string PartNumbers{get;set;}
public Decimal Price{get;set;}
public Decimal End_Customer_Price{get;set;}
public Decimal Quantity {get;set;}
public Decimal Total{get;set;}
public string RFQ_justification{get;set;}
public string Main_Customer_of_Account{get;set;}
public string Bridgelux_competition_at_account{get;set;}
public string Geographic_regions_serviced{get;set;}
public string Annual_lighting_revenue{get;set;}
public string Annual_LED_revenue_or_percent{get;set;}
public string Annual_purchases_of_LED_light_sources{get;set;}
public string Percent_of_LED_purchases_that_are_COB{get;set;}
public string Other_information{get;set;}
public string Product_Series{get;set;}
public string Volume{get;set;}
public string Date_Price_is_Valid{get;set;}
Public string gmod_Product{get;set;}
Public Decimal gmod_Quantity{get;set;}
Public Decimal gmod_Price{get;set;}
Public Decimal gmod_Quarter{get;set;}
Public Decimal gmod_Amount{get;set;}
Public Decimal Actual_Price{get;set;}
public wrapperClass(){}
}
public QuoteContentController(){
//define constructor to instantiate the wrapper data type
disp_list=new list<wrapperclass>();
//Query all the list
list<Quote> q =[select id ,Name ,Effective_Date__c ,Comments__c ,
Quote.Opportunity.Probability ,Quote.Opportunity.AccSegment__c ,Quote.Opportunity.AccApplication__c,Quote.Opportunity.Persona__c,Quote.Opportunity.Region__c
from Quote where id=:apexpages.currentpage().getparameters().get('id')];
list<QuoteLineItem> qli =[Select QuoteId , PricebookEntry.Product2.Name ,Unitprice ,End_Customer_Price__c ,Quantity , TotalPrice from QuoteLineItem where QuoteId =:qId ];
list<Account> a = [Select id ,Name ,Main_Customers_of_Account__c ,Bridgelux_Competition_at_Account__c,Servicing_Region__c ,
Annual_LED_Revenue__c,Annual_Purchases_of_LED_Sources_SAM__c ,Percent_of_LED_purchases_that_are_COB__c from Account where account.id =:qId ];
list<Competitor__c> com = [Select id ,Part_Number__c,Product_Series__c,Price_Offered__c,Volume__c,Date_Price_is_Valid__c from Competitor__c ] ;
list<gmod__Opportunity_Forecast__c> opflist = [Select id ,gmod__Product__c,gmod__Quantity__c,gmod__Price__c , gmod__Quarter__c ,gmod__Amount__c ,Actual_Price__c from gmod__Opportunity_Forecast__c where createddate!=null order by name limit 1 ];
//Iterate through each list to extract the values and add it to the custom wrapper data type
for (Quote qt :q){
for(integer i=0;i<opflist.size();i++){
//Instantiating the wrapper SObject
wrapperclass w = new wrapperclass();
//Assigning the wrapper variables from the SObject Fields in the database.
w.gmod_Product = opflist[i].gmod__Product__c;
w.gmod_Quantity =opflist[i].gmod__Quantity__c;
w.gmod_Price=opflist[i].gmod__Price__c;
w.Name =opflist[i].Name;
w.gmod_Quarter=opflist[i].gmod__Quarter__c;
w.gmod_Amount=opflist[i]. gmod__Amount__c;
w.Actual_Price=opflist[i].Actual_Price__c;
//Adding everthing to the List
disp_list.add(w);
w.name =qt.name;
disp_list.add(w);
}
}
}
} //End of Class
1 risposta
This forum is mostly configuration based. For a coding question like this, I would take this to the developer forum or The Salesforce Stack Exchange forum. They are much more geared towards coding question
https://developer.salesforce.com/forums/#!/feedtype=RECENT&criteria=ALLQUESTIONS (https://developer.salesforce.com/forums/#!/feedtype=RECENT&criteria=ALLQUESTIONS)
http://salesforce.stackexchange.com/