Understand Custom & Standard Objects /Compréhension des objets standard et personnalisés

Learning Objectives /Objectifs de formation

After completing this unit, you’ll be able to:/Une fois cette unité terminée, vous pourrez :

  • Describe the perks of using objects on the Salesforce platform. /Décrire les avantages de l’utilisation d’objets sur la plate-forme Salesforce
  • Explain the difference between standard objects and custom objects. /Expliquer la différence entre des objets standard et des objets personnalisés
  • List the types of custom fields an object can have. /Citer les types de champ personnalisé d’un objet

Overview of Objects /Présentation des objets

DreamHouse is a realty company that provides a way for customers to shop for homes and contact real estate agents online. DreamHouse brokers use some of Salesforce’s standard functionality, like contacts and leads, to track home buyers. /La société immobilière DreamHouse donne la possibilité aux clients de rechercher des maisons et de contacter les agents immobiliers en ligne. Les courtiers de DreamHouse utilisent certaines fonctionnalités standard de Salesforce, notamment les contacts et les pistes, pour suivre les acheteurs.

But when it comes to selling houses, there are a lot more things they want to track. For example, Salesforce doesn’t include a standard way to track properties. How is DreamHouse supposed to know which homes they have for sale or how much each home costs? /Cependant la vente de maisons nécessite de suivre beaucoup d’autres informations. Par exemple, Salesforce ne contient pas d’outil standard de suivi des propriétés. Comment DreamHouse peut-elle déterminer les propriétés qu’elle met sur le marché ou le prix de chaque maison ?

Luckily, their Salesforce admin, D’Angelo, knows that the Salesforce platform offers a solution. We’ll work with D’Angelo to see what he’s building. /Heureusement, leur administrateur Salesforce, D’Angelo, sait que la plate-forme Salesforce offre une solution. Nous allons travailler avec D’Angelo pour observer ce qu’il élabore.

Let’s start with the data model. A data model is more or less what it sounds like. It’s a way to model what database tables look like in a way that makes sense to humans. /Commençons par le modèle de données. Comme son nom l’indique, un modèle de données permet de modéliser la présentation des tables de base de données pour les rendre compréhensibles par l’être humain.

If you’re not familiar with databases, think about storing data in a spreadsheet. For example, D’Angelo can use a spreadsheet to track all DreamHouse’s properties. Columns can store the address, cost, and other important attributes. Rows can store this information for each property that DreamHouse is selling. Database tables are set up in a similar way. /Si vous ne savez pas à quoi correspond une base de données, songez au stockage de données dans une feuille de calcul. Par exemple, D’Angelo peut utiliser une feuille de calcul afin de suivre toutes les propriétés de DreamHouse. Les colonnes peuvent stocker l’adresse, le prix et d’autres attributs importants. Les lignes peuvent stocker ces informations pour chaque propriété que DreamHouse vend. La configuration des tables de bases de données est similaire.

A spreadsheet that stores property information.

But looking at data in tables isn’t ideal for humans. That’s where the data model comes in. /Cependant, la consultation de données dans des tableaux n’est pas idéale pour l’être humain. Le modèle de données prend ici tout son sens.

In Salesforce, we think about database tables as objects, we think about columns as fields, and rows as records. So instead of an account spreadsheet or table, we have an Account object with fields and a bunch of identically structured records. /Dans Salesforce, nous considérons les tables de base de données comme des objets, les colonnes comme des champs et les lignes comme des enregistrements. Ainsi, à la place d’une feuille de calcul ou d’un tableau de compte, nous avons un objet Compte avec des champs et une série d’enregistrements ayant une structure identique.

A property record with the same information as the table.

When we talk about the data model, we’re talking about the collection of objects and fields in an app. Let’s learn more about objects and fields so you can start building your own data model. /Lorsque nous évoquons le modèle de données, nous désignons la collection d’objets et de champs d’une application. Examinez de plus près les objets et les champs pour commencer à élaborer votre propre modèle de données.

Get to Know Objects /Découverte des objets

Salesforce supports several different types of objects. There are standard objects, custom objects, external objects, platform events, and BigObjects. In this module, we focus on the two most common types of objects: standard and custom. /Salesforce prend en charge plusieurs types d’objet différents, des objets standard, des objets personnalisés, des objets externes, des événements de plate-forme et des BigObjects. Dans ce module, nous allons nous intéresser aux deux types d’objet les plus courants : standard et personnalisés

Standard objects are objects that are included with Salesforce. Common business objects like Account, Contact, Lead, and Opportunity are all standard objects. /Les objets standard selon les objets inclus avec Salesforce. Les objets métiers courants tels que Compte, Contact, Piste et Opportunité sont tous des objets standard.

Custom objects are objects that you create to store information that’s specific to your company or industry. For DreamHouse, D’Angelo wants to build a custom Property object that stores information about the homes his company is selling. /Les objets personnalisés sont les objets que vous créez pour stocker des informations spécifiques à votre société ou secteur d’activité. Pour DreamHouse, D’Angelo souhaite élaborer un objet personnalisé Propriété qui stocke des informations sur les maisons que sa société met en vente.

Objects are containers for your information, but they also give you special functionality. For example, when you create a custom object, the platform automatically builds things like the page layout for the user interface. /Les objets sont les conteneurs de vos informations, mais ils offrent également des fonctionnalités spéciales. Par exemple, lorsque vous créez un objet personnalisé, la plate-forme crée automatiquement des éléments tels que la présentation de page pour l’interface utilisateur.

Create a Custom Object /Création d’un objet personnalisé

Let’s work alongside D’Angelo to see how he builds the Property object. We need this object later, so don’t skip these steps! /Travaillons avec D’Angelo pour observer comment il élabore un objet Propriété. Ne passez pas ces étapes, nous allons utiliser cet objet plus loin.

  1. Scroll to the bottom of this page. /Accédez au bas de cette page.
  2. Click the arrow next to Launch and select Create a Trailhead Playground. Don’t skip this step! You need to use a fresh and clean Trailhead Playground for this module. /Cliquez sur la flèche en regard de Lancer, puis sélectionnez Créer un Trailhead Playground. Ne négligez pas cette tâche ! Pour ce module, vous devez utiliser un tout nouveau Trailhead Playground.
  3. Once your playground is created (it takes a minute!), press Launch. /Une fois votre Trailhead Playground créé (cela prend une minute !), cliquez sur Lancer.
  4. Click the gear icon The setup gear. at the top of the page and launch setup. /Cliquez sur l’icône d’engrenage  en haut de la page et lancez la configuration.
  5. Click the Object Manager tab. /Cliquez sur l’onglet Gestionnaire d’objet.
  6. Click Create | Custom Object in the top-right corner. /Cliquez sur Créer | Objet personnalisé dans le coin supérieur droit.
  7. For Label, enter Property. Notice that the Object Name and Record Name fields auto-fill. /Dans Étiquette, saisissez Propriété. Notez le Nom de l’objet et le Nom de l’enregistrement qui sont automatiquement renseignés.
  8. For Plural Label, enter Properties. /Dans Étiquette au pluriel, saisissez Propriétés.
  9. Check the box for Launch New Custom Tab Wizard after saving this custom object. /Cochez la case Lancer l’assistant Nouvel onglet personnalisé après l’enregistrement de cet objet personnalisé.
  10. Leave the rest of the values as default and click Save. /Laissez les autres valeurs inchangées, puis cliquez sur Enregistrer.
  11. On the New Custom Object Tab page, click the Tab Style field and select a style you like. The style sets the icon to display in the UI for the object. /Sur la page Onglet Nouvel objet personnalisé, cliquez sur le champ Style d’onglet et sélectionnez le style de votre choix. Le style définit l’icône de l’objet à afficher dans l’interface utilisateur.
  12. Click NextNext, and Save. /Cliquez sur SuivantSuivant, puis sur Enregistrer.

Great job! You just created your first custom object. Now, let’s talk about adding fields to this object. /Vous avez bien travaillé ! Vous venez de créer votre premier objet personnalisé. Voyons maintenant comment ajouter des champs à cet objet.

Get to Know Fields /Découverte des champs

Every standard and custom object has fields attached to it. Let’s get familiar with the different types of fields. /Chaque objet standard et personnalisé a des champs associés. Découvrons les différents types de champ :

Field TypeWhat is it?Can I get an example?
IdentityA 15-character, case-sensitive field that’s automatically generated for every record. You can find a record’s ID in its URL.An account ID looks like 0015000000Gv7qJ .
SystemRead-only fields that provide information about a record from the system, like when the record was created or when it was last changed.CreatedDate, LastModifiedById, and LastModifiedDate .
NameAll records need names so you can distinguish between them. You can use text names or auto-numbered names that automatically increment every time you create a record.A contact’s name can be Julie Bean. A support case’s name can be CA-1024.
CustomFields you create on standard or custom objects are called custom fields.You can create a custom field on the Contact object to store your contacts’ birthdays.
Type de champ Description Exemple
Identité Un champ sensible à la casse de 15 caractères automatiquement générée pour chaque enregistrement. Vous pouvez trouver l’ID d’un enregistrement dans son URL. Un ID de compte se présente comme suit 0015000000Gv7qJ.
Système Des champs en lecture seule qui fournissent des informations sur un enregistrement stockées dans le système, par exemple la date de création ou de modification de l’enregistrement. CreatedDateLastModifiedById et LastModifiedDate.
Nom Tous les enregistrements ont besoin d’un nom qui les différencie. Vous pouvez utiliser des noms de texte ou des noms à numérotation automatiquement qui sont incrémentés chaque fois que vous créez un enregistrement. Le nom d’un contact peut être Julie Bean. Le nom d’une requête de support peut être CA-1024.
Personnalisé Les champs que vous créez dans des objets standard ou personnalisés sont appelés champs personnalisés. Vous pouvez créer un champ personnalisé dans l’objet Contact pour stocker les dates d’anniversaire de vos contacts.

Identity, system, and name fields are standard on every object in Salesforce. Each standard object also comes with a set of prebuilt, standard fields. You can customize standard objects by adding custom fields, and you can add custom fields to your custom objects. /Les champs Identité, Système et Nom sont standard dans chaque objet Salesforce. Chaque objet standard contient également une série de champs standard prédéfinis. Vous pouvez personnaliser des objets standard en ajoutant des champs personnalisés, et vous pouvez ajouter des champs personnalisés à vos objets personnalisés.

Every field has a data type. A data type indicates what kind of information the field stores. Salesforce supports a bunch of different data types, but here are a few you’ll run into. /Chaque champ a un type de données. Un type de données indique la nature des informations que le champ stocke. Salesforce prend en charge divers types de données, notamment les types suivants :

  • Checkbox—for fields that are a simple “yes” or “no,” a checkbox field is what you want. /Case à cocher : un champ de case à cocher est idéal pour de simples paramètres sélectionnés par « oui » ou « non ».
  • Date or DateTime—these field types represent dates or date/time combinations, like birthdays or sales milestones. /Date ou Date/Heure : ce type de champ représente une date ou une combinaison de date et d’heure, par exemple une date d’anniversaire ou un jalon commercial.
  • Formula—this special field type holds a value that’s automatically calculated based on a formula that you write. For example, D’Angelo can write a formula field that automatically calculates a real estate agent’s commission on a home sale. /Formule : ce type de champ spécial contient une valeur qui est automatiquement calculée en fonction d’une formule que vous rédigez. Par exemple, D’Angelo peut écrire un champ de formule qui calcule automatiquement la commission de l’agent immobilier sur la vente d’une propriété.

Again, there are quite a few field types, but most of them are fairly self-explanatory. The important takeaway here is that you want to think about what kind of data you’re trying to store when you create a custom field. /Encore une fois, il existe de nombreux types de champ, mais la plupart sont explicites. Retenez qu’il est important de tenir compte du type de données que vous souhaitez stocker lorsque vous créez des champs personnalisés.

Create a Custom Field /Création d’un champ personnalisé

The Property object we just created is pretty bare-bones. Let’s add some custom fields to it. Head back to your Trailhead Playground. /L’objet Propriété que nous venons de créer est réduit à l’essentiel. Ajoutons-lui quelques champs personnalisés. Revenez à votre organisation Trailhead Playground.

  1. From Setup, go to Object Manager | Property. /Dans Configuration, accédez à Gestionnaire d’objet | Propriété.
  2. In the sidebar, click Fields & Relationships. Notice that there are already some fields there. There’s a name field and some of the system fields we talked about earlier. /Dans le menu latéral, cliquez sur Champs et relations. Notez que cette page contient toujours quelques champs, un champ de nom et quelques champs système que nous avons évoqués plus haut.
  3. Click New in the top right. /Cliquez sur Nouveau en haut à droite.
  4. For data type, select Currency. /Sélectionnez le type de données Devise.
  5. Click Next. /Cliquez sur Suivant.
  6. Fill out the following: /Renseignez les champs suivants :
    1. Field Label: Price /Étiquette du champ : Prix
    2. Description: The listed sale price of the home. /Description : Liste de prix de vente des propriétés
  7. Check the Required box. /Cochez la case Obligatoire.
  8. Click NextNext again, and then Save. /Cliquez sur Suivant, de nouveau sur Suivant, puis sur Enregistrer.

You’ll see your new Price field in the list of Property fields. In the Field Name column, notice that it says Price__c. The “__c” part is an easy way to tell that a particular field is a custom field. /Votre nouveau champ Prix est affiché dans la liste des champs Propriété. Notez que la colonne Nom du champ indique Prix__c. Le «__c » indique simplement qu’il s’agit d’un champ personnalisé.

Create a Record /Création d’un enregistrement

Let’s create a property record to see what you did. /Créons un enregistrement de propriété pour observer ce que vous avez fait.

  1. From the App Launcher ( The App Launcher icon. in the navigation bar), find and select Sales. /Dans le lanceur d’application ( dans la barre de navigation), cherchez et sélectionnez Ventes.
  2. Click the Properties tab in the navigation bar. If you don’t see it, look under the More dropdown. /Cliquez sur l’onglet Propriétés dans la barre de navigation. Si vous ne trouvez pas l’onglet, regardez sous la liste déroulante Plus.
  3. Click New in the top corner. /Cliquez sur Nouveau dans le coin supérieur.
  4. Enter a name and price for the property and click Save. /Saisissez un nom et un prix pour la propriété, puis cliquez sur Enregistrer.

Awesome! You’ll see something like this: /Excellent ! Une page semblable à la suivante s’affiche :

The record you just created.

Customize Responsibly /Personnalisation responsable

While it can seem easy to add and customize objects, remember that what’s going on under the hood is technically complicated. Here are some best practices to keep in mind as you start customizing your own org. /L’ajout et la personnalisation d’objets semblent faciles, mais mémoriser ce qui se passe en arrière-plan est techniquement complexe. Lorsque vous personnalisez vos propres objets, nous recommandons de respecter les pratiques ci-dessous.

Be thoughtful about names. Once you start creating a bunch of objects, it can be tempting to give them “lazy” names. For example, if D’Angelo created another custom object to track condominiums, he might be tempted to name it “Property2” instead of “Condominium.” That’s a recipe for confusion in your org. Give your objects and fields descriptive, unique names to improve clarity./Nommez les objets avec précaution. Lorsque vous commencez à créer une série d’objets, il est tentant de leur attribuer des noms « faciles ». Par exemple, si D’Angelo avait créé un autre objet personnalisé pour suivre les copropriétés, il aurait pu être tenté de les nommer « Propriété2 » au lieu de « Copropriété ». Cette méthode peut entraîner une confusion au sein de votre organisation. Pour plus de clarté, accordez à vos objets et à vos champs des noms uniques et explicites.

Help out your users. Even with careful naming, your users might not always be clear about the purpose of a particular object or field. Include descriptions for your custom objects and fields. For specialized or complicated customizations, use help text to give more details. /Aidez vos utilisateurs. Même avec une convention de nommage rigoureuse, vos utilisateurs peuvent douter de la nature d’un objet ou d’un champ particulier. Insérez des descriptions pour vos objets et vos champs personnalisés. Pour décrire avec plus de précision les personnalisations spéciales ou complexes, utilisez un texte d’aide.

Require fields when necessary. Sometimes, you’ll want to force your users to fill out a field when they’re creating a record on a certain object. Every property needs a price, right? Make important fields required to avoid incomplete data./Définissez les champs comme obligatoires lorsque nécessaire. Parfois, vous souhaitez forcer vos utilisateurs à renseigner un champ lorsqu’ils créent un enregistrement dans un objet spécifique. Chaque propriété doit avoir un prix, n’est-ce pas ? Définissez les champs importants comme obligatoires pour éviter des données incomplètes.

Resources /Ressources

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *