• Accueil / Salesforce / Mises à jour…
, Mises à jour de la communauté commune FinancialForce Apex<span class="wtr-time-wrap after-title"><span class="wtr-time-number">4</span> minutes de lecture</span>

Mises à jour de la communauté commune FinancialForce Apex4 minutes de lecture


, Mises à jour de la communauté commune FinancialForce Apex<span class="wtr-time-wrap after-title"><span class="wtr-time-number">4</span> minutes de lecture</span>Ce court blog met en évidence un lot de nouvelles fonctionnalités récemment fusionnées avec le Bibliothèque commune FinancialForce Apex aka fflib. En plus des différentes ressources Dreamforce et blog liées à partir du référentiel, les fans de Trailhead peut également trouver des modules relatifs à la bibliothèque ici et ici. Mais veuillez d’abord lire ce blog avant de partir sur les sentiers pour traquer les badges! C’est vraiment agréable de le voir continuer à recevoir d’excellentes contributions, alors voilà…

Ajout de méthodes pour détecter les enregistrements modifiés avec des champs donnés dans la couche Domaine (fflib_SObjectDomain)

Tout d’abord, une excellente nouvelle fonctionnalité d’optimisation pour vos méthodes de classe de domaine de Nathan Pepper alias MayTheSForceBeWithYou basé sur une suggestion de Daniel Hoechst. Le cas échéant, il est conseillé de comparer les anciennes et les nouvelles valeurs des champs relatifs au traitement que vous effectuez dans vos méthodes de domaine pour éviter des frais généraux inutiles. Le nouveau fflib_SObjectDomain.getChangedRecords peut être utilisée comme alternative à la propriété Records aux seuls enregistrements qui ont été modifiés en fonction de la liste de champs transmise à la méthode.

// Returns a list of Account where the Name or AnnaulRevenue has changed
List accounts =
  (List) getChangedRecords(
     new List { Account.Name, Account.AnnualRevenue });

Supporting EventBus.publish (liste) dans l’unité de travail (fflib_SObjectUnitOfWork)

Événements de la plateforme deviennent de plus en plus populaires dans de nombreuses situations. Si vous les considérez comme faisant logiquement partie de l’unité de travail que votre code exécute, cette amélioration de Chris Mail est pour toi! Vous pouvez désormais enregistrer les événements de plate-forme à envoyer en fonction de divers scénarios. Chris a également fourni des versions globales des méthodes suivantes, bien!

    /**
     * Register a newly created SObject (Platform Event) instance to be published when commitWork is called
     *
     * @param record A newly created SObject (Platform Event) instance to be inserted during commitWork
     **/
    void registerPublishBeforeTransaction(SObject record);
    /**
     * Register a newly created SObject (Platform Event) instance to be published when commitWork has successfully
     * completed
     *
     * @param record A newly created SObject (Platform Event) instance to be inserted during commitWork
     **/
    void registerPublishAfterSuccessTransaction(SObject record);
    /**
     * Register a newly created SObject (Platform Event) instance to be published when commitWork has caused an error
     *
     * @param record A newly created SObject (Platform Event) instance to be inserted during commitWork
     **/
    void registerPublishAfterFailureTransaction(SObject record);

Ajouter un DML personnalisé pour l’appel Application.UnitOfWork.newInstance (fflib_Application)

Il est possible depuis un certain temps déjà de remplacer les moyens par défaut par lesquels le fflib_SObjectUnitOfWork.commitWork La méthode effectue des opérations DML (par exemple, si vous souhaitez effectuer un pré / post-traitement ou une journalisation supplémentaire). Cependant, si vous avez utilisé le modèle de classe Application pour accéder à votre UOW (raccourci et aide à se moquer), cela n’a pas été possible. Grâce à William Velzeboer vous pouvez maintenant profiter du meilleur des deux mondes!

fflib_SObjectUnitOfWork.IDML myDML = new MyCustomDMLImpl();
fflib_ISObjectUnitOfWork uow = Application.UnitOfWork.newIntance(myDML);

Ajout de méthodes à Unit of Work pour pouvoir enregistrer un enregistrement pour upsert (fflib_SObjectUnitOfWork)

Unit Of Work est une classe très populaire et reçoit encore une autre amélioration dans ce lot de Yury Bondarau. Ces deux méthodes vous permettent d’enregistrer des enregistrements qui seront soit insérés soit mis à jour comme déterminé automatiquement par les enregistrements ayant un identifiant rempli ou non, c’est-à-dire un upsert UOW.

    /**
     * Register a new or existing record to be inserted or updated during the commitWork method
     *
     * @param record An new or existing record
     **/
    void registerUpsert(SObject record);
    /**
     * Register a list of mix of new and existing records to be upserted during the commitWork method
     *
     * @param records A list of mix of existing and new records
     **/
    void registerUpsert(List<SObject> records);
    /**
     * Register an existing record to be deleted during the commitWork method
     *
     * @param record An existing record
     **/

Réduit les exceptions de test unitaire lorsque le service de messagerie de l’organisation est limité

Enfin, méga fan de longue date de la bibliothèque John Storey est livré avec une solution ingénieuse à un échec du test Apex qui se produit lorsque le paramètre « Niveau d’accès » de la délivrabilité des e-mails de l’organisation n’est pas « Tous les e-mails ». John a exploité une fonctionnalité d’extensibilité dans l’unité de travail pour éviter que le test ne dépende de cette configuration d’organisation. sans perdre de couverture de code, sucré!

Last but not least, merci Christian Coleman pour corriger ces fautes de frappe ennuyeuses dans la documentation! 🙂



Source de l’article traduit automatiquement en Français

Besoin d'aide ?
Voulez-vous utiliser Pardot à sa capacité maximale et avoir
+ DE LEADS QUALIFIÉS

Notre analyse de votre Pardot offerte dès aujourd'hui
Merci, vous pouvez compléter notre questionnaire
Nous allons revenir vers vous rapidement !

Fermer