Fermer

juin 24, 2024

Partager des objets dans Salesforce / Blogs / Perficient

Partager des objets dans Salesforce / Blogs / Perficient


Le modèle de partage robuste de Salesforce garantit que les utilisateurs ont accès aux données dont ils ont besoin tout en préservant la sécurité et l’intégrité des informations sensibles. Un élément clé de ce modèle est l’utilisation d’objets de partage, qui contrôlent l’accès aux enregistrements individuels. Dans ce blog, nous expliquerons ce que sont les objets de partage, comment les utiliser efficacement et fournirons des exemples de codage pratiques pour illustrer leur puissance.

Image de partage d'objets

Comprendre les objets de partage Salesforce

Les objets de partage sont des objets spéciaux dans Salesforce qui permettent aux développeurs de partager par programmation des enregistrements avec des utilisateurs ou des groupes, en remplaçant les paramètres de partage de l’organisation. Chaque objet standard et personnalisé dans Salesforce est associé à un objet de partage, nommé au format ObjectName__Share pour les objets personnalisés et ObjectNameShare pour les objets standard.

Composants clés du partage d’objets

  1. IDParent : L’ID de l’enregistrement partagé.
  2. ID utilisateur ou groupe : L’ID de l’utilisateur ou du groupe avec lequel l’enregistrement est partagé.
  3. Niveau d’accès : Le niveau d’accès accordé (Lecture, Édition).
  4. Cause de la ligne : La raison pour laquelle le partage existe (Manuel, Règle de partage, etc.).

Utilisation du partage d’objets

Les objets de partage sont utilisés pour étendre le comportement de partage standard de Salesforce. Ils sont utiles lorsque vous devez :

Scénarios de cas d’utilisation

  1. Gestion de projet : partagez les enregistrements de projet avec les membres de l’équipe en fonction de leurs rôles ou de leurs missions.
  2. Support client : partagez les dossiers avec les agents de support en fonction de leur expertise ou de leur charge de travail.
  3. Ventes : partagez des enregistrements de prospects avec des représentants commerciaux en fonction du territoire ou de la spécialisation du produit.

Exemples de codage

Examinons quelques exemples pratiques pour voir comment les objets de partage fonctionnent en action.

Exemple 1 : partage d’un enregistrement d’objet personnalisé avec un utilisateur

Supposons que nous ayons un objet personnalisé appelé Project__c et que nous souhaitions partager un enregistrement de projet spécifique avec un utilisateur.

// ID of the Project record to be shared

Id projectId = 'a0B0o00000ZrR7dEAF';




// ID of the User with whom the record is being shared

Id userId = '0050o00000BjjRdAAJ';




// Create a new Project__Share record

Project__Share projectShare = new Project__Share();

projectShare.ParentId = projectId;

projectShare.UserOrGroupId = userId;

projectShare.AccessLevel="Edit"; // Access level can be 'Read' or 'Edit'

projectShare.RowCause = Schema.Project__Share.RowCause.Manual;




// Insert the sharing record

try {

    insert projectShare;

    System.debug('Project shared successfully.');

} catch (DmlException e) {

    System.debug('An error occurred while sharing the project: ' + e.getMessage());

}





Exemple 2 : partage d’un enregistrement d’objet standard avec un groupe public

Partageons un enregistrement de compte avec un groupe public.

// ID of the Account record to be shared

Id accountId = '0010o00002Zp6RgAAJ';




// ID of the Public Group with whom the record is being shared

Id groupId = '00G0o00000XyzRtAAJ';




// Create a new AccountShare record

AccountShare accountShare = new AccountShare();

accountShare.ParentId = accountId;

accountShare.UserOrGroupId = groupId;

accountShare.AccessLevel="Read"; // Access level can be 'Read' or 'Edit'

accountShare.RowCause = Schema.AccountShare.RowCause.Manual;




// Insert the sharing record

try {

    insert accountShare;

    System.debug('Account shared successfully.');

} catch (DmlException e) {

    System.debug('An error occurred while sharing the account: ' + e.getMessage());

}

Informations et meilleures pratiques

  1. Réduire le partage des enregistrements : un partage excessif peut entraîner des problèmes de performances. Ne partagez les enregistrements que lorsque cela est nécessaire.
  2. Utiliser des groupes publics : le partage avec des groupes publics plutôt qu’avec des utilisateurs individuels peut simplifier la gestion et améliorer les performances.
  3. Surveillez l’utilisation du partage : examinez régulièrement les paramètres et les enregistrements de partage pour vous assurer qu’ils correspondent aux besoins actuels de l’entreprise et aux politiques de sécurité.
  4. Comprendre les valeurs RowCause : différentes valeurs RowCause (telles que Manual, SharingRule, etc.) aident à identifier la raison du partage, ce qui peut être utile pour les audits et le dépannage.

Conclusion

Les objets de partage Salesforce sont un outil puissant pour gérer l’accès aux enregistrements dans des scénarios complexes. En comprenant comment exploiter ces objets, vous pouvez vous assurer que votre partage de données est sécurisé et efficace, répondant ainsi aux besoins spécifiques de votre organisation. Que vous travailliez sur une application de gestion de projet, un système de support client ou une plateforme de vente, la maîtrise du partage d’objets améliorera votre capacité à créer des applications Salesforce évolutives et sécurisées.

Bon partage ! 🚀

Pour plus de connaissances, vous pouvez également consulter les articles ci-dessous

arget=”_blank” rel=”noopener”>Accessibilité sécurisée avec Apex

Partager un enregistrement à l’aide d’Apex | Guide Salesforce






Source link