Note: This release is in preview. Features described here don’t become generally available until the latest general availability date that Salesforce announces for this release. Before then, and where features are noted as beta, pilot, or developer preview, we can’t guarantee general availability within any particular time frame or at all. Make your purchase decisions only on the basis of generally available products and features.
Quote Calculator Plugin Methods
| Available in: Salesforce CPQ Winter ’16 and later |
onInit
| Param | Type | Description |
|---|---|---|
| {QuoteLineModel[]} | quoteLineModels | An array containing Javascript representations of all lines in a quote. |
The calculator calls this method before formula fields are evaluated. Returns {promise}.
1export function onInit(quoteLineModels) {
2return Promise.resolve();
3};onBeforeCalculate
| Param | Type | Description |
|---|---|---|
| {QuoteModel} | quoteModel | Javascript representation of the quote you’re evaluating |
| (QuoteLineModel[]} | quoteLineModels | An array containing Javascript representations of all lines in the quote |
The calculator calls this method before calculation begins, but after formula fields have been evaluated. Returns {promise}.
1export function onBeforeCalculate(quoteModel, quoteLineModels) {
2return Promise.resolve();
3};onBeforePriceRules
| Param | Type | Description |
|---|---|---|
| {QuoteModel} | quoteModel | Javascript representation of the quote you’re evaluating |
| (QuoteLineModel[]} | quoteLineModels | An array containing Javascript representations of all lines in the quote |
The calculator calls this method before it evaluates price rules. Returns {promise}.
1export function onBeforePriceRules(quoteModel, quoteLineModels) {
2return Promise.resolve();
3};onAfterPriceRules
| Param | Type | Description |
|---|---|---|
| {QuoteModel} | quoteModel | Javascript representation of the quote you’re evaluating |
| (QuoteLineModel[]} | quoteLineModels | An array containing Javascript representations of all lines in the quote |
The calculator calls this method after it evaluates price rules. Returns {promise}.
1export function onAfterPriceRules(quoteModel, quoteLineModels) {
2return Promise.resolve();
3};onAfterCalculate
| Param | Type | Description |
|---|---|---|
| {QuoteModel} | quoteModel | Javascript representation of the quote you’re evaluating |
| (QuoteLineModel[]} | quoteLineModels | An array containing Javascript representations of all lines in the quote |
The calculator calls this method after it completes a calculation, but before re-evaluating formula fields. Returns {promise}
1export function onAfterCalculate(quoteModel, quoteLineModels) {
2return Promise.resolve();
3};isFieldVisible
| Param | Type | Description |
|---|---|---|
| {FieldName} | String | Name of the field that will be hidden or made visible |
| (QuoteLineModelRecord} | quoteLineModelRecord | Javascript representation of the SObject record of line you’re evaluating |
The calculator calls this method after it completes a calculation. Returns {Boolean}
1export function isFieldVisible(fieldName, quoteLineModelRecord) {
2
3 if (fieldName == 'SBQQ__Description__c') {
4 return false;
5 }
6
7 return true;
8
9 };isFieldEditable
| Param | Type | Description |
|---|---|---|
| {FieldName} | String | Name of the field that will be made read-only or editable |
| (QuoteLineModelRecord} | quoteLineModelRecord | Javascript representation of the SObject record of line you’re evaluating |
The calculator calls this method after it completes a calculation. Returns {Boolean}
1export function isFieldEditable(fieldName, quoteLineModelRecord) {
2
3 if (fieldName == 'SBQQ__Description__c') {
4 return false;
5 }
6
7 return true;
8
9 };