I just created a simple quote template. With 1 Template Section. I have assigned that section with a Custom Template content that references a visualforce page I created.
Visualforce page,
<apex:page contentType="text/xml" controller="CustomQuoteController" showHeader="false">
<apex:outputText value="{!Quote.SBQQ__BillingName__c}"></apex:outputText>
</apex:page>
CustomQuoteController,
public class CustomQuoteController{
private final SBQQ__Quote__c currentQuote;
private SBQQ__QuoteLine__c[] currentQuoteLineList;
public CustomQuoteController(){
SBQQ__Quote__c[] currentQuoteList = [SELECT Id, SBQQ__BillingName__c
FROM SBQQ__Quote__c WHERE Id = :ApexPages.currentPage().getParameters().get('id')];
if(currentQuoteList.size() > 0){
currentQuote = currentQuoteList[0];
}
}
public SBQQ__Quote__c getQuote(){
return currentQuote;
}
public SBQQ__QuoteLine__c[] getQuoteLines(){
if(currentQuote != null){
currentQuoteLineList = [SELECT id, SBQQ__ProductCode__c
FROM SBQQ__QuoteLine__c WHERE SBQQ__Quote__r.id = :currentQuote.id];
}
return currentQuoteLineList;
}
}
SBQQ__BillingName__c name doesn't display when preview quote template document. It's just blank. Anyone know why ? What am I missing ? Do I have to change something ?
When I remove contentType="text/xml" and preview the visualforce page it shows the SBQQ__BillingName__c value.
This all also in Salesforce CPQ.
How to make it work and show up in quote document ?