Quote Calculator Plugin Methods
The Quote Calculator Plugin can reference these seven methods. You can export any, all,
or none of them to achieve your desired behavior.
| 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 };