How to pass the object to PDF and create a table in PDF template.

const afterSubmit = (scriptContext) => {

      try {

        let newRecord = scriptContext.newRecord;

        let createdFrom = newRecord.getValue({ fieldId: ‘createdfrom’ })

        let IFdetails = IFDetailsSearch(createdFrom);

        log.debug(“IFDetails”, IFdetails)

        let recordObj = record.load({

          type: record.Type.SALES_ORDER,

          id: createdFrom,

          isDynamic: true

        });

        let renderer = render.create();

        renderer.setTemplateById(109);//internal id the advanced pdf template

        renderer.addRecord(‘record’, recordObj);

         // Pass the merged data to the renderer

        let test = [{

          “id”: “1234”,

          “data”: [{

            itemName: “TRE3PROS”,

            orderDate: “06/06/2024”,

            orderQuan: “6”,

            docNo: “IF44545”

          },

          {

            itemName: “TRE3PROS”,

            orderDate: “06/06/2024”,

            orderQuan: “6”,

            docNo: “IF44545”

          }]

        },

        ];

        renderer.addCustomDataSource({

          format: render.DataSource.OBJECT,

          alias: ‘tableValues’,

          data: { “data”: test }

        });

         // Render the PDF

 

        let transactionFile = renderer.renderAsPdf();

        transactionFile.name = “priya.pdf”;

        log.debug(“tra file”, transactionFile)

        transactionFile.folder = 733764;//internal id the folder

        transactionFile.save();

 

      }

      catch (e) {

        log.error(“error@afterSubmit”, e);

      }

 

    }

In PDF:

<#list tableValues.data as data>

<p>test1   ${data.id} </p>

<#list data.data as x>

<p>data: ${x.itemName}</p>

</#list>

</#list>

has context menu

Leave a comment

Your email address will not be published. Required fields are marked *