Loading

Utilisation de l’opérateur Pas dans au sein de Flow

Date de publication: Apr 2, 2026
Description
Dans Salesforce, l’accès des utilisateurs peut être étendu en leur attribuant des ensembles d’autorisations qui leur fournissent des fonctionnalités supplémentaires.

Il existe des types spéciaux d’ensembles d’autorisations appartenant à un profil (IsOwnedByProfile). Ces ensembles d’autorisations ne peuvent pas être supprimés sans que le profil leur étant associé soit modifié.

Dans cet article Knowledge, nous vous guiderons tout au long du processus d’utilisation d’un flux visant à supprimer les attributions d’ensembles d’autorisations tout en garantissant que celles appartenant à un profil restent intactes.

Cet exemple fait appel à l’opérateur de flux Pas dans, qui a été introduit dans la version Winter ’23.
Résolution
Modèle d’objet 
Avant de plonger dans la partie pratique de cet article, observons le modèle d’objet pour comprendre comment les attributions d’ensembles d’autorisations sont gérées.

Permission Set Diagram.png

Au sein de Salesforce, une licence d’ensembles d’autorisations constitue une licence qui peut être attribuée à un utilisateur sans modifier son profil. Une attribution de licence d’ensembles d’autorisations représente la relation entre un utilisateur et une licence d’ensembles d’autorisations. Un ensemble d’autorisations représente un groupe d’autorisations attribuées à un utilisateur via une attribution d’ensemble d’autorisations.

En raison de la nature du modèle de relation associant ces objets au sein de notre flux (en particulier les ensembles d’autorisations, les attributions d’ensembles d’autorisations et les utilisateurs), nous devons supprimer les ensembles d’autorisations qui n’appartiennent pas à un profil disposant d’une attribution d’ensembles d’autorisations associée à l’utilisateur actuel.

Création du flux
 
Dans le cas présent, nous allons supprimer toutes les attributions d’ensembles d’autorisations lorsqu’un utilisateur est rendu inactif, à l’exception des ensembles d’autorisations où IsOwnedByProfile = TRUE.

Dans cette solution, les noms d’API, les types de flux et d’autres paramètres seront prédéfinis. N’hésitez pas à adapter cette solution à votre cas d’utilisation et à l’étendre aux attributions de licences d’ensembles d’autorisations. L’attribut « IsOwnedByProfile » n’existe pas au sein des attributions de licences d’ensembles d’autorisations.
 
Étape 1. Accédez à la configuration de Salesforce (via l’engrenage Paramètres > Configuration).
 
Setup.png
 
Étape 2. Dans la zone Recherche rapide, saisissez Flux.
 
Quick Find.png
Étape 3. Appuyez sur Flux, puis sur Nouveau flux.
 
New Flow.png
 
Étape 4. Définissez le type de flux sur Déclenché par un enregistrement, puis appuyez sur Créer.
 
Record Trigger.png

Étape 5. Sélectionnez Utilisateur en tant qu’objet et Un enregistrement est mis à jour en tant que condition.
 
Select object.png
 
Étape 6. Configurez le flux pour qu’il s’exécute lorsque Toutes les conditions sont remplies (ET) quand IsActive est égal à {!$GlobalConstant.False}
           Set Entry.png
 
Étape 7. Configurez le flux pour qu’il s’exécute Uniquement lorsqu’un enregistrement est mis à jour pour remplir les exigences des conditions et, dans « Optimisation du flux pour : », sélectionnez Actions et enregistrements associés. Appuyez sur Terminé.
  
When to run the flow.png
Étape 8. En utilisant le symbole +, ajoutez un composant Obtenir des enregistrements afin d’obtenir les attributions d’ensembles d’autorisations pour l’utilisateur actuel : 
a. Étiquette : Obtenir les attributions d’ensembles d’autorisations
b. Nom d’API : Get_Permission_Set_Assignments
c. Description : Récupère les attributions d’ensembles d’autorisations pour l’utilisateur actuel
d. Nom de l’objet : Attribution d’ensembles d’autorisations
e. Exigences de condition : Toutes les conditions sont remplies (ET)
f. AssigneeId égal à {!$Record.Id}
g. Ordre de tri : Non trié
h. Nombre d’enregistrements à stocker : Tous les enregistrements
i. Comment stocker les données d’enregistrement : Stocker automatiquement tous les champs
 
Edit Get record.png
 
Étape 9. Utilisez le symbole + pour ajouter un élément Décision qui exécute l’ensemble d’actions suivant uniquement lorsque des attributions d’ensembles d’autorisations sont trouvées : 
a. Étiquette : L’utilisateur dispose-t-il d’ensembles d’autorisations ?
b. Nom d’API : Does_User_have_Permission_Sets
c. Description : Détermine s’il faut entreprendre une action en fonction du fait que l’utilisateur dispose ou non d’ensembles d’autorisations attribués
d. Détails du résultat :
i. Étiquette : True
ii. Nom d’API : True
iii. Exigences de condition pour exécuter le résultat : Toutes les conditions sont remplies (ET)
iv. Ressource : {!Get_Permission_Set_Assignments} Est nul {!$GlobalConstant.False}
v. Quand exécuter le résultat : Si les exigences de la condition sont remplies
e. Détails du résultat :
i. Étiquette : False
 
Edit Decision.png
 
Edit Decision 2.png
 
Étape 10. Sous le parcours TRUE (Résultat), ajoutez (via le symbole +) un élément Obtenir des enregistrements afin que nous puissions obtenir les ensembles d’autorisations pour lesquels IsOwnedByProfile = TRUE : 
a. Étiquette : Obtenir les ensembles d’autorisations appartenant à un profil
b. Nom d’API : Get_Permission_Sets_Owned_by_Profile
c. Description : Récupère tous les ensembles d’autorisations où IsOwnedByProfile = TRUE
d. Nom de l’objet : Ensemble d’autorisations
e. Exigences de condition : Toutes les conditions sont remplies (ET)
f. IsOwnedByProfile Égal à {!$GlobalConstant.True}
g. Ordre de tri : Non trié
h. Nombre d’enregistrements à stocker : Tous les enregistrements
i. Comment stocker les données d’enregistrement : Stocker automatiquement tous les champs
 
image.png
 
Étape 11. Maintenant, utilisez le symbole + pour parcourir les ensembles d’autorisations appartenant à un profil.
a. Étiquette : Parcourir les ensembles d’autorisations appartenant à un profil
b.  Nom d’API : Loop_around_Permission_Sets_Owned_by_Profile
c. Description : Parcourt les ensembles d’autorisations appartenant à un profil
d. Variable de collection : {!Get_Permission_Sets_Owned_by_Profile}
e. Direction : Premier au dernier élément
 
image.png
 
Étape 12. Créez une ressource qui servira à stocker dans la boucle les ID d’ensembles d’autorisations répondant à la condition Ensemble d’autorisations appartient à un profil. Appuyez sur l’icône Boîte à outils, puis sur Nouvelle ressource. 
 
 
Étape 13. Configurez la ressource de flux comme suit :
a. Type de ressource : Variable
b. Nom d’API : PermissionSetsToKeep
c. Description : Stocke les ID des ensembles d’autorisations à exclure de la suppression
d. Type de données : Texte
e.  c. Autoriser les valeurs multiples (collection) : coché
f. Disponible pour l’entrée : non coché
g. Disponible pour la sortie : non coché
 
Edit variable.png
 
Étape 14. Utilisez le symbole + dans la boucle pour ajouter un élément Attribution :
a. Étiquette : Ajouter l’élément actuel à la collection de texte
b. Nom d’API : Add_Current_Item_to_Text_Collection
c. Description : Ajoute l’élément actuel à une variable de collection de texte
d. {!PermissionSetsToRemove} Ajouter {!Loop_around_Permission_Sets_Owned_by_Profile.Id}
 
Edit Assignment.png
 
Étape 15. En dehors de la boucle, utilisez le symbole + pour ajouter un composant Supprimer des enregistrements :
a. Étiquette : Supprimer les attributions d’ensembles d’autorisations
b. Nom d’API : Delete_Permission_Set_Assignments
c. Description : Supprime les attributions d’ensembles d’autorisations qui n’appartiennent pas à un profil
d. Comment rechercher les enregistrements à supprimer : Spécifier les conditions
e. Objet : Attribution d’ensembles d’autorisations
f. Exigences de condition pour la suppression d’enregistrements : Toutes les conditions sont remplies (ET)
i. AssigneeId Égal à {!$Record.Id}
ii. PermissionSetId Pas dans {!PermissionSetsToKeep}

image.png
 
Étape 16. Appuyez sur Enregistrer.
a. Étiquette du flux : Supprimer les attributions d’ensembles d’autorisations
b. Nom d’API du flux : Delete_Permission_Set_Assignments
c. Description : Supprime les attributions d’ensembles d’autorisations lorsqu’un utilisateur est rendu inactif
 
Save the Flow.png
 
Étape 17. Appuyez sur Activer.
 
Activate Flow.png
 
 
Le flux final devrait ressembler à ceci une fois terminé.




___________________________________


Écrit par : Tom Bassett | Leader Réponses Salesforce
Tom Bassett est architecte solutions chez Trigg Digital et a plus de cinq ans d’expérience dans l’utilisation de la plate-forme Salesforce. Il souhaite permettre aux clients d’exploiter au mieux leur CRM, ainsi que diffuser la culture Ohana en soutenant la communauté Trailblazer au sens large grâce à de nouvelles idées de fonctionnalités et aux réponses qu’il fournit aux questions posées. Il codirige le groupe London Architect Community et contribue à Salesforce Ben en tant qu’auteur expert.

Les Soumissions reflètent uniquement l’opinion de l’utilisateur qui les a mises à disposition et non celle de Salesforce, que l’utilisateur soit affilié ou non à Salesforce. Elles peuvent contenir des produits, des services, des informations, des données, des contenus et d’autres éléments mis à disposition par ou pour le compte de tiers (« Contenus de tiers »). Salesforce ne contrôle ni n’approuve, et n’est pas non plus responsable de tout Contenu de tiers, notamment de leur exactitude, validité, actualité, exhaustivité, fiabilité, intégrité, qualité, légalité, utilité ou sécurité, ni de tout droit de propriété intellectuelle applicable. Toutes les Soumissions mises à disposition via un forum ou panneau de messages en réponse à des questions publiées, ou qui prétendent autrement répondre à des questions, y compris des questions sur Salesforce ou des programmes, sont mises à disposition pour votre information uniquement et vous ne devez jamais vous y fier pour répondre à des questions précises (même si une réponse est marquée comme « meilleure » réponse ou est accompagnée de qualifications similaires). Vous devez systématiquement contacter le support Salesforce pour obtenir des réponses à vos questions précises. Salesforce n’a aucun contrôle sur les Soumissions et n’est aucunement responsable de quelque utilisation que ce soit, y compris abusive, (ainsi que de toute diffusion) par un tiers des Soumissions. 

Si vous avez des questions, puisez dans la sagesse de l’ensemble de notre Trailblazer Community sous ce lien : 
https://trailhead.salesforce.com/trailblazer-community/feed
Numéro d’article de la base de connaissances

000394118

 
Chargement
Salesforce Help | Article