Salesforce недавно анонсировала бессерверные функции Evergreen. Информацию о Evergreen можно найти:

https://developer.salesforce.com/blogs/2019/11/introduction-salesforce-evergreen.html

В приведенной выше ссылке приведен пример функции Evergreen и показано, как использовать логику отдела продаж в NodeJS.

import { UnitOfWork, SObject } from '@salesforce/functions';
import { PDFDocument } from 'pdfkit';
import * as fs from 'fs';

module.exports = async function(event, context, logger) {
const folioPayload = event.payload;

// Creating a new Unit Of Work instance
const uow = UnitOfWork;

// Run SOQL query to fetch folio data
const query = `SELECT Id, Description__c, Amount__c, Date__c FROM Booking_LineItems__c WHERE Reservation__c =
'${folioPayload.recordId}'`;
const folioLineItems = await context.sfApi.query(query);

// Call function to generate PDF and store in external data store
// for Files Connect
const pdfFilesConnect = await generatePdf(
    folioPayload.recordId,
    folioLineItems
);

// Update the booking object
const ReservationObject = new SObject('Reservation__c');
ReservationObject.Id = folioPayload.recordId;
ReservationObject.Status__c = 'Paid and Folio created';
uow.registerModified(ReservationObject);

// Update data
uow.commit();
};

async function generatePdf(id, lineItems) {
   # generate and store folio PDF
}

Приведенный выше код импортирует UnitOfWork и SObject из @salesforce/functions, использует библиотеку npm, а затем фиксирует в Salesforce.

Кто-нибудь знает, как я могу вызвать эту функцию из Apex или Flow?

4
Derminal 16 Фев 2020 в 13:09

1 ответ

Лучший ответ