You are here:
Sample Apex Code for Generating Quotes in Batch
Here is a sample of Apex code that carries out two main functions. First, it creates a record named DocGenerateBatchProcess which is responsible for generating quotes. Second, it creates a list of 100 quote documents and links these documents with the DocGenerateBatchProcess record. To start a batch using Apex, update the Status field to InProgress. This value is case sensitive, and the batch runs automatically after the status is updated.
Create a DocGenerateBatchProcess record for generating quotes
DocGenerationBatchProcess dgbp = new DocGenerationBatchProcess( Description = 'Generate Quotes in Bulk', Category = 'Quotes');
insert dgbp;
Create a list of 100 quote documents and associate them with the DocGenerateBatchProcess record
DocGenerationBatchProcess dgbp = new DocGenerationBatchProcess( Description = 'Generate Quotes', Category = 'Quotes');
insert dgbp;
List<DocumentGenerationProcess> dgpList = new List<DocumentGenerationProcess>();
String quoteId = '0Q0OG0000000Yoc0AE';
String quoteTemplateContentVersionId = '068OG0000003iy6YAA';
String sampleTokenData = '{"SUBSCRIBER_NAME":"Subname","STREET1":"Panathur","CITY":"Blr","STATE":"KA","POSTALCODE":"494001","COUNTRY":"India"}';
for(Integer i=1; i<=1; i++) {
String docTitle = 'Quotes' + i;
DocumentGenerationProcess dgp = new DocumentGenerationProcess (
Type = 'GenerateAndConvert', Status = 'InProgress',
RequestText='{"keepIntermediate":true, "title":"' + docTitle + '","templateContentVersionId":"'+quoteTemplateContentVersionId+'"}',
TokenData = sampleTokenData,
ReferenceObject = quoteId,
DocGenApiVersionType='Advanced',
DocGenerationBatchProcessId = dgbp.Id
);
dgpList.add(dgp);
}
insert dgpList;
Parameters
| Parameter | Description |
|---|---|
| DocGenApiVersionType | Defines the API version that you want to use for document generation. To support rich text and hyperlink tokens for document generation process records, set the Doc Generation API Version Type setting to Advanced. |
| docTitle | Document title. |
| quoteId | ID of the quote. |
| quoteTemplateContentVersionId | Document template content version ID. |
| ReferenceObject | Indicates the object that the generated document is attached to. In the sample Apex code, Account ID is the reference object. The generated document is saved in the Notes and Attachments section of the account. |
| requestText |
|
| Status | Status of the document generation batch process request: Canceled, Completed, In Progress, New, or Paused. |
| templateContentVersionId | ID of the document associated with the batch process. |
| TokenData | Stores the JSON key-value pair that's used as an input for server-side document. |
| Type | GenerateAndConvert: Generates a Word document and creates a PDF document. |

