Génération de PDF avec un plug-in Salesforce CLI3 minutes de lecture
introduction
Ouais, je sais, une autre semaine, un autre plug-in. Malheureusement, il est probable que continuer pendant un certain temps, car mes plug-ins ne sont vraiment limités que par mon imagination. Je pense que celui-ci est plutôt cool et j’espère, cher lecteur, tu es d’accord.
Lors de Dreamforce 2019, Salesforce a lancé Evergreen – une technologie pour permettre Les microservices Heroku doivent être appelés de manière transparente depuis Apex (et d’autres endroits). L’un des cas d’utilisation d’Evergreen est la création d’un PDF à partir de données Salesforce, et un des lignes de sangle autour de ceci est qu’avec Evergreen vous avez accès au tout l’écosystème de packages Node. Chaque fois que j’entends ça, je pense que c’est vrai mais les plug-ins CLI ont le même accès, car ils sont construits sur le nœud, et comme Evergreen, aucune authentification supplémentaire n’est requise.
C’est essentiellement le contraire d’Evergreen – plutôt que d’invoquer quelque chose qui vit sur un autre serveur qui renvoie un fichier PDF, j’appelle une commande locale qui écrit un fichier dans le système de fichiers local. J’ai joué avec l’idée d’appeler ce plug-in Deciduous, mais a décidé que ce n’était qu’un long nom à taper, et je devrais l’expliquer beaucoup! (et oui je sais qu’Evergreen est beaucoup plus que de créer un PDF, mais j’ai aimé l’image alors j’ai décidé de l’accompagner).
Le plug-in est disponible sur NPM – vous pouvez l’installer en exécutant: plugins sfdx: installez bbpdf
Modèles EJS
Je ne vais pas entrer trop dans les détails dans cet article sur la création de le HTML via EJS, mais si vous voulez plus d’informations, consultez mon article de blog sur comment je l’ai utilisé dans mon plug-in bbdoc pour créer des documents HTML à partir des métadonnées Salesforce.
Mon plug-in nécessite deux indicateurs pour spécifier le modèle. Le nom du template lui-même, spécifié via l’indicateur –template / -t, et les templates répertoire, spécifié via l’indicateur –template-dir / -d. La raison pour laquelle j’ai besoin du répertoire est que tout css ou image requis par le modèle sera spécifié par rapport à l’emplacement du modèle. Vous pouvez voir que cela fonctionne en clonant le repo d’échantillons et l’essayer.
Données Salesforce
Mon plug-in fournit deux mécanismes pour récupérer des données depuis Salesforce.
Paramètre de requête
C’est pour le cas d’utilisation simple où le modèle nécessite un seul enregistrement. La requête de récupération de l’enregistrement est fournie via le –requete/-q drapeau.
L’interrogation des données Salesforce à partir d’un plug-in est assez simple, je précise que j’ai besoin d’un nom d’utilisateur qui me garantit l’accès à une organisation:
protected static requiresUsername = true;
puis je crée une connexion:
const conn = this.org.getConnection();
et enfin j’exécute la requête, basée sur le paramètre fourni, et vérifie Les resultats:
Nous sommes spécialisés dans la transformation digitales et l’adoption de Pardot. Nous vous aidons à développer une stratégie de Marketing Automation qui fonctionne tout simplement !
Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site web. Si vous continuez à utiliser ce site, nous supposerons que vous en êtes satisfait.Ok