i18n - docs translations (#17433)
Created by Github action Co-authored-by: github-actions <github-actions@twenty.com>
This commit is contained in:
committed by
GitHub
parent
c8c821a692
commit
2353bc62cc
+43
-43
@@ -1,76 +1,76 @@
|
||||
---
|
||||
title: Error Handling & Validation
|
||||
description: Review and fix import errors directly in the UI before confirming.
|
||||
title: Gestion des erreurs et validation
|
||||
description: Examinez et corrigez les erreurs d'importation directement dans l'interface avant de confirmer.
|
||||
---
|
||||
|
||||
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
|
||||
|
||||
## Pre-Import Validation
|
||||
## Validation préalable à l'importation
|
||||
|
||||
After uploading your file and mapping fields, Twenty validates your data **before** importing. This allows you to catch and fix errors without affecting your existing data.
|
||||
Après avoir téléversé votre fichier et fait la correspondance des champs, Twenty valide vos données **avant** l'importation. Cela vous permet de détecter et de corriger les erreurs sans affecter vos données existantes.
|
||||
|
||||
## How It Works
|
||||
## Comment ça marche
|
||||
|
||||
1. **Upload** your CSV file
|
||||
2. **Map** your columns to Twenty fields
|
||||
3. **Review** the potential errors highlighted in yellow
|
||||
4. **Fix errors** directly in the UI
|
||||
5. **Confirm** the import
|
||||
1. **Téléversez** votre fichier CSV
|
||||
2. **Faites correspondre** vos colonnes aux champs de Twenty
|
||||
3. **Passez en revue** les erreurs potentielles mises en évidence en jaune
|
||||
4. **Corrigez les erreurs** directement dans l'interface
|
||||
5. **Confirmez** l'importation
|
||||
|
||||
<VimeoEmbed videoId="1145273857" title="Video demonstration" />
|
||||
<VimeoEmbed videoId="1145273857" title="Démonstration vidéo" />
|
||||
|
||||
## Error Display
|
||||
## Affichage des erreurs
|
||||
|
||||
Rows with issues are highlighted in **yellow**. You can:
|
||||
Les lignes présentant des problèmes sont mises en évidence en **jaune**. Vous pouvez :
|
||||
|
||||
* **Edit the cell directly** to fix the error
|
||||
* **Remove the row** to skip it entirely
|
||||
* **Modifiez la cellule directement** pour corriger l'erreur
|
||||
* **Supprimez la ligne** pour l'ignorer complètement
|
||||
|
||||
This inline editing saves time—no need to go back to your spreadsheet, fix errors, and re-upload.
|
||||
Cette modification en ligne vous fait gagner du temps — inutile de revenir à votre feuille de calcul, de corriger les erreurs et de téléverser à nouveau.
|
||||
|
||||
## Common Error Types
|
||||
## Types d'erreurs courants
|
||||
|
||||
### Duplicate Values
|
||||
### Valeurs en double
|
||||
|
||||
**Cause**: A unique field (email, domain) already exists in Twenty or appears twice in your file.
|
||||
**Cause** : Un champ unique (email, domaine) existe déjà dans Twenty ou apparaît deux fois dans votre fichier.
|
||||
|
||||
**Fix**:
|
||||
**Correctif** :
|
||||
|
||||
* Edit the duplicate value in the import UI
|
||||
* Remove one of the duplicate rows
|
||||
* Modifiez la valeur en double dans l'interface d'importation
|
||||
* Supprimez l'une des lignes en double
|
||||
|
||||
See [Uniqueness Constraints](/l/fr/user-guide/data-migration/capabilities/uniqueness-constraints) for more details on how uniqueness is enforced.
|
||||
Voir [Contraintes d'unicité](/l/fr/user-guide/data-migration/capabilities/uniqueness-constraints) pour plus de détails sur la façon dont l'unicité est appliquée.
|
||||
|
||||
### Invalid Format
|
||||
### Format invalide
|
||||
|
||||
**Cause**: Data doesn't match the expected format (e.g., invalid email, wrong date format).
|
||||
**Cause** : Les données ne correspondent pas au format attendu (p. ex., email invalide, format de date incorrect).
|
||||
|
||||
**Fix**: Edit the cell to use the correct format.
|
||||
**Correctif** : Modifiez la cellule pour utiliser le format correct.
|
||||
|
||||
See [Field Mapping](/l/fr/user-guide/data-migration/capabilities/field-mapping) for the expected format of each field type.
|
||||
Voir [Correspondance des champs](/l/fr/user-guide/data-migration/capabilities/field-mapping) pour le format attendu de chaque type de champ.
|
||||
|
||||
### Missing Required Fields
|
||||
### Champs obligatoires manquants
|
||||
|
||||
**Cause**: A required field is empty.
|
||||
**Cause** : Un champ obligatoire est vide.
|
||||
|
||||
**Fix**: Enter a value in the required field or remove the row.
|
||||
**Correctif** : Saisissez une valeur dans le champ obligatoire ou supprimez la ligne.
|
||||
|
||||
### Relation Not Found
|
||||
### Relation introuvable
|
||||
|
||||
**Cause**: The referenced record doesn't exist (e.g., a Company domain that wasn't imported).
|
||||
**Cause** : L'enregistrement référencé n'existe pas (p. ex., un domaine d'entreprise qui n'a pas été importé).
|
||||
|
||||
**Fix**:
|
||||
**Correctif** :
|
||||
|
||||
* Import the parent records first
|
||||
* Or correct the reference value
|
||||
* Importez d'abord les enregistrements parents
|
||||
* Ou corrigez la valeur de référence
|
||||
|
||||
See [Import Relations](/l/fr/user-guide/data-migration/capabilities/import-relations) for the correct import order and how to link records.
|
||||
Voir [Importation des relations](/l/fr/user-guide/data-migration/capabilities/import-relations) pour l'ordre d'importation correct et la manière de lier les enregistrements.
|
||||
|
||||
## Tips for Fewer Errors
|
||||
## Conseils pour réduire les erreurs
|
||||
|
||||
1. **Download the template** to see expected format prior to importing your file
|
||||
2. **Clean your data** in the spreadsheet first
|
||||
3. **Import files in correct order** to import relations (Companies → People → Opportunities)
|
||||
4. **Test with small batches** before full import
|
||||
5. **Check for duplicates** before uploading
|
||||
6. **Limit the size of your file to 10,000 records** per file
|
||||
1. **Téléchargez le modèle** pour voir le format attendu avant d'importer votre fichier
|
||||
2. **Nettoyez vos données** d'abord dans votre feuille de calcul
|
||||
3. **Importez les fichiers dans le bon ordre** pour importer les relations (Entreprises → Personnes → Opportunités)
|
||||
4. **Testez avec de petits lots** avant l'importation complète
|
||||
5. **Vérifiez les doublons** avant de téléverser
|
||||
6. **Limitez la taille de votre fichier à 10 000 enregistrements** par fichier
|
||||
|
||||
+15
-15
@@ -164,11 +164,11 @@ Phone is a nested field with multiple columns that **must be filled**
|
||||
|
||||
Use the API name format: `RATING_1`, `RATING_2`, `RATING_3`, `RATING_4`, `RATING_5`
|
||||
|
||||
### Relation Fields
|
||||
### Champs de relation
|
||||
|
||||
Please see our dedicated article: [Import Relations Between Objects](/l/fr/user-guide/data-migration/capabilities/import-relations)
|
||||
|
||||
### Select Fields
|
||||
### Champs de sélection
|
||||
|
||||
Use the **API name** of the option (not the display label):
|
||||
|
||||
@@ -176,23 +176,23 @@ Use the **API name** of the option (not the display label):
|
||||
VALUE1
|
||||
```
|
||||
|
||||
See [here](#finding-api-names-for-select-fields) where to find the API names.
|
||||
<Note>New select options will not be created automatically by the import. They must be added under **Settings → Data Model** before importing.</Note>
|
||||
Voir [ici](#finding-api-names-for-select-fields) où trouver les noms d'API.
|
||||
<Note>Les nouvelles options de sélection ne seront pas créées automatiquement par l'importation. Elles doivent être ajoutées sous **Paramètres → Modèle de données** avant l'importation.</Note>
|
||||
|
||||
### Text Fields
|
||||
### Champs de texte
|
||||
|
||||
* No special formatting required
|
||||
* Leading/trailing spaces are trimmed
|
||||
* Aucun formatage particulier requis
|
||||
* Les espaces au début et à la fin sont supprimés
|
||||
|
||||
## Finding API Names
|
||||
## Recherche des noms d'API
|
||||
|
||||
For Select, Multi-Select, and Array fields with predefined options, you must use the **API names**, not the display labels.
|
||||
Pour les champs Select, Multi-Select et Array avec des options prédéfinies, vous devez utiliser les **noms d'API**, et non les libellés affichés.
|
||||
|
||||
### How to Find API Names
|
||||
### Comment trouver les noms d'API
|
||||
|
||||
1. Go to **Settings → Data Model**
|
||||
2. Select the object and field
|
||||
3. Enable **Advanced mode** (toggle at the bottom right of the settings page)
|
||||
4. View the API name for each option
|
||||
1. Allez dans **Paramètres → Modèle de données**
|
||||
2. Sélectionnez l'objet et le champ
|
||||
3. Activez le **mode avancé** (bouton à bascule en bas à droite de la page des paramètres)
|
||||
4. Affichez le nom d'API pour chaque option
|
||||
|
||||
<VimeoEmbed videoId="1144910809" title="Video demonstration" />
|
||||
<VimeoEmbed videoId="1144910809" title="Démonstration vidéo" />
|
||||
|
||||
@@ -1,48 +1,48 @@
|
||||
---
|
||||
title: Supported File Formats
|
||||
description: File formats supported for data import in Twenty.
|
||||
title: Formats de fichiers pris en charge
|
||||
description: Formats de fichiers pris en charge pour l’importation de données dans Twenty.
|
||||
---
|
||||
|
||||
## Supported Formats
|
||||
## Formats pris en charge
|
||||
|
||||
Twenty supports three file formats for import:
|
||||
Twenty prend en charge trois formats de fichiers pour l’importation :
|
||||
|
||||
| Format | Extension | Notes |
|
||||
| ------------------ | --------- | ---------------------------- |
|
||||
| **CSV** | .csv | Recommended, most compatible |
|
||||
| **Excel** | .xlsx | Modern Excel format |
|
||||
| **Excel (Legacy)** | .xls | Older Excel format |
|
||||
| Format | Extension | Notes |
|
||||
| ------------------ | --------- | ------------------------------ |
|
||||
| **CSV** | .csv | Recommandé, le plus compatible |
|
||||
| **Excel** | .xlsx | Format Excel moderne |
|
||||
| **Excel (hérité)** | .xls | Ancien format Excel |
|
||||
|
||||
## File Requirements
|
||||
## Exigences relatives aux fichiers
|
||||
|
||||
| Requirement | Value |
|
||||
| ---------------- | ------------------------------------- |
|
||||
| **Encoding** | UTF-8 recommended |
|
||||
| **Record limit** | 10,000 records per file |
|
||||
| **Structure** | First row must contain column headers |
|
||||
| **Content** | One object type per file |
|
||||
| Exigence | Valeur |
|
||||
| ---------------------------- | -------------------------------------------------------- |
|
||||
| **Encodage** | UTF-8 recommandé |
|
||||
| **Limite d’enregistrements** | 10 000 enregistrements par fichier |
|
||||
| **Structure** | La première ligne doit contenir les en-têtes de colonnes |
|
||||
| **Contenu** | Un seul type d’objet par fichier |
|
||||
|
||||
## CSV Best Practices
|
||||
## Meilleures pratiques pour les fichiers CSV
|
||||
|
||||
* **Delimiter**: Use comma (`,`) or semicolon (`;`)
|
||||
* **Text qualifier**: Use double quotes (`"`) for text containing commas
|
||||
* **Line endings**: Windows (CRLF) or Unix (LF) both supported
|
||||
* **Empty values**: Leave cells empty, don't use "NULL" or "N/A"
|
||||
* **Délimiteur** : Utilisez une virgule (`,`) ou un point-virgule (`;`)
|
||||
* **Délimiteur de texte** : Utilisez des guillemets doubles (`\"`) pour le texte contenant des virgules
|
||||
* **Fins de ligne** : Windows (CRLF) ou Unix (LF) sont tous deux pris en charge
|
||||
* **Valeurs vides** : Laissez les cellules vides, n’utilisez pas "NULL" ni "N/A"
|
||||
|
||||
## Excel Best Practices
|
||||
## Meilleures pratiques pour Excel
|
||||
|
||||
When exporting from Excel:
|
||||
Lors de l’exportation depuis Excel :
|
||||
|
||||
* Remove formulas (export values only)
|
||||
* Delete empty rows at the end
|
||||
* Ensure no merged cells
|
||||
* Use the first sheet only
|
||||
* Supprimez les formules (exportez uniquement les valeurs)
|
||||
* Supprimez les lignes vides à la fin
|
||||
* Assurez-vous qu’aucune cellule n’est fusionnée
|
||||
* Utilisez uniquement la première feuille
|
||||
|
||||
## Large Datasets
|
||||
## Jeux de données volumineux
|
||||
|
||||
For datasets larger than 10,000 records:
|
||||
Pour les jeux de données de plus de 10 000 enregistrements :
|
||||
|
||||
* Split into multiple files
|
||||
* Or use the [API import](/l/fr/user-guide/data-migration/how-tos/import-data-via-api) for unlimited records
|
||||
* Divisez en plusieurs fichiers
|
||||
* Ou utilisez l’[importation via l’API](/l/fr/user-guide/data-migration/how-tos/import-data-via-api) pour un nombre illimité d’enregistrements
|
||||
|
||||
<Note>For very large migrations (100,000+ records), the API is significantly faster and more reliable than CSV imports.</Note>
|
||||
<Note>Pour des migrations très volumineuses (plus de 100 000 enregistrements), l’API est nettement plus rapide et plus fiable que les importations CSV.</Note>
|
||||
|
||||
+78
-78
@@ -1,94 +1,94 @@
|
||||
---
|
||||
title: Import Relations Between Objects
|
||||
description: Import relationships between records via CSV.
|
||||
title: Importer des relations entre objets
|
||||
description: Importer des relations entre enregistrements via CSV.
|
||||
---
|
||||
|
||||
## Overview
|
||||
## Vue d'ensemble
|
||||
|
||||
Twenty supports importing relationships between objects during CSV import. This allows you to link records (e.g., attach People to Companies) as part of your data migration.
|
||||
Twenty prend en charge l'importation de relations entre objets lors de l'importation CSV. Cela vous permet de lier des enregistrements (p. ex., associer des Personnes à des Entreprises) dans le cadre de votre migration de données.
|
||||
|
||||
<Note>**Currently supported for import**: One-to-many relations pointing to a single object type on each side (e.g., People → Companies). Relations pointing to multiple object types are not yet supported in import/export.</Note>
|
||||
<Note>**Actuellement pris en charge pour l'importation** : Relations un-à-plusieurs pointant vers un seul type d'objet de chaque côté (p. ex., Personnes → Entreprises). Les relations pointant vers plusieurs types d'objet ne sont pas encore prises en charge pour l'import/export.</Note>
|
||||
|
||||
## How Relations Work in Twenty
|
||||
## Fonctionnement des relations dans Twenty
|
||||
|
||||
### One to Many / Many to One
|
||||
### Un à plusieurs / Plusieurs à un
|
||||
|
||||
Twenty supports standard relations where one record links to many others:
|
||||
Twenty prend en charge des relations standard où un enregistrement est lié à plusieurs autres :
|
||||
|
||||
* **One Company → Many People**: A company can have multiple employees, but each person belongs to one company
|
||||
* **One Company → Many Opportunities**: A company can have multiple deals, but each opportunity belongs to one company
|
||||
* **Une Entreprise → Plusieurs Personnes** : Une entreprise peut avoir plusieurs employés, mais chaque personne appartient à une seule entreprise
|
||||
* **Une Entreprise → Plusieurs Opportunités** : Une entreprise peut avoir plusieurs affaires, mais chaque opportunité appartient à une seule entreprise
|
||||
|
||||
### Relations That Can Point to Multiple Object Types
|
||||
### Relations pouvant pointer vers plusieurs types d'objet
|
||||
|
||||
Some relations can connect to different types of objects. This works in two ways:
|
||||
Certaines relations peuvent se connecter à différents types d'objets. Cela fonctionne de deux façons :
|
||||
|
||||
**Pattern 1: Many records linking to one record each from different object types**
|
||||
**Modèle 1 : De nombreux enregistrements liés chacun à un enregistrement provenant de différents types d'objets**
|
||||
|
||||
Several Notes, Tasks, or Activities can each be attached to multiple object types at once:
|
||||
Plusieurs Notes, Tâches ou Activités peuvent chacune être rattachées simultanément à plusieurs types d'objets :
|
||||
|
||||
* **Notes** can be linked to one Person, one Company, and one Opportunity simultaneously
|
||||
* **Tasks** can be linked to one Person, one Company, and one Opportunity simultaneously
|
||||
* **Notes** peuvent être liées à une Personne, une Entreprise et une Opportunité simultanément
|
||||
* **Tâches** peuvent être liées à une Personne, une Entreprise et une Opportunité simultanément
|
||||
|
||||
Here, the Notes/Tasks are on the "many" side. Each links to one record per object type.
|
||||
Ici, les Notes/Tâches sont du côté "plusieurs". Chacune est liée à un enregistrement par type d'objet.
|
||||
|
||||
<img src="/images/user-guide/fields/many-to-one-morph.png" style={{width:'100%'}} />
|
||||
|
||||
**Pattern 2: One record receiving links from many records of different object types**
|
||||
**Modèle 2 : Un enregistrement recevant des liens de nombreux enregistrements de différents types d'objets**
|
||||
|
||||
A Project can receive links from multiple records across different object types:
|
||||
Un Projet peut recevoir des liens de plusieurs enregistrements provenant de différents types d'objets :
|
||||
|
||||
* **A Project** can have many People linked to it, many Companies linked to it, and many Notes attached to it
|
||||
* **Un Projet** peut avoir de nombreuses Personnes qui lui sont liées, de nombreuses Entreprises qui lui sont liées, et de nombreuses Notes qui y sont rattachées
|
||||
|
||||
Here, the Project is on the "one" side. Multiple records from different objects can all link to the same Project.
|
||||
Ici, le Projet est du côté "un". Plusieurs enregistrements issus d'objets différents peuvent tous être liés au même Projet.
|
||||
|
||||
<img src="/images/user-guide/fields/one-to-many-morph.png" style={{width:'100%'}} />
|
||||
|
||||
<Warning>
|
||||
**Import/Export limitation**: Relations that point to multiple object types (like Notes → People/Companies/Opportunities) are **not yet supported** in CSV import or export.
|
||||
**Limitation d'import/export** : Les relations qui pointent vers plusieurs types d'objet (comme Notes → Personnes/Entreprises/Opportunités) ne sont **pas encore prises en charge** lors de l'import ou de l'export CSV.
|
||||
|
||||
* **Import**: Only one-to-many relations pointing to a single object type on each side can be imported
|
||||
* **Export**: Columns for relations pointing to multiple object types are currently left empty
|
||||
* **Import** : Seules les relations un-à-plusieurs pointant vers un seul type d'objet de chaque côté peuvent être importées
|
||||
* **Export** : Les colonnes pour les relations pointant vers plusieurs types d'objet sont actuellement laissées vides
|
||||
|
||||
This is on our roadmap.
|
||||
C'est sur notre feuille de route.
|
||||
</Warning>
|
||||
|
||||
### What's Not Supported Today
|
||||
### Ce qui n'est pas pris en charge aujourd'hui
|
||||
|
||||
**Many to Many relations** are not yet available. For example, you cannot currently create a relation where:
|
||||
**Les relations plusieurs à plusieurs** ne sont pas encore disponibles. Par exemple, vous ne pouvez pas actuellement créer une relation où :
|
||||
|
||||
* Many People are linked to many Projects
|
||||
* De nombreuses Personnes sont liées à de nombreux Projets
|
||||
|
||||
<Note>Many to Many relations are planned for H1 2026.</Note>
|
||||
<Note>Les relations plusieurs à plusieurs sont prévues pour S1 2026.</Note>
|
||||
|
||||
## Linking Records During Import
|
||||
## Lier des enregistrements lors de l'importation
|
||||
|
||||
<Note>**Reminder**: Only one-to-many relations pointing to a single object type can be imported (e.g., People → Companies). Relations pointing to multiple object types (e.g., Notes → People/Companies/Opportunities) are not yet supported.</Note>
|
||||
<Note>**Rappel** : Seules les relations un-à-plusieurs pointant vers un seul type d'objet peuvent être importées (p. ex., Personnes → Entreprises). Les relations pointant vers plusieurs types d'objet (p. ex., Notes → Personnes/Entreprises/Opportunités) ne sont pas encore prises en charge.</Note>
|
||||
|
||||
### Step 1: Identify the "One" and "Many" Sides
|
||||
### Étape 1 : Identifier les côtés "un" et "plusieurs"
|
||||
|
||||
First, determine which object is on the "one" side and which is on the "many" side of the relationship.
|
||||
Commencez par déterminer quel objet est du côté "un" et lequel est du côté "plusieurs" de la relation.
|
||||
|
||||
**Example**:
|
||||
**Exemple**:
|
||||
|
||||
* **Company** is the "one" side (one company has many employees)
|
||||
* **People** is the "many" side (each person belongs to one company)
|
||||
* **Entreprise** est le côté "un" (une entreprise a de nombreux employés)
|
||||
* **Personnes** est le côté "plusieurs" (chaque personne appartient à une seule entreprise)
|
||||
|
||||
### Step 2: Ensure the "One" Side Records Exist
|
||||
### Étape 2 : Assurez-vous que les enregistrements du côté "un" existent
|
||||
|
||||
Before importing the "many" side, the "one" side records must already exist in Twenty.
|
||||
Avant d'importer le côté "plusieurs", les enregistrements du côté "un" doivent déjà exister dans Twenty.
|
||||
|
||||
* Import or create the "one" side records first (e.g., Companies)
|
||||
* Validate their unique identifier. This can be:
|
||||
* The `id` (Twenty's UUID)
|
||||
* A field set as unique (e.g., `domain` for Companies, or an external ID from your previous system)
|
||||
* Importez ou créez d'abord les enregistrements du côté "un" (p. ex., Entreprises)
|
||||
* Validez leur identifiant unique. Cela peut être :
|
||||
* L'`id` (UUID de Twenty)
|
||||
* Un champ défini comme unique (p. ex., `domain` pour les Entreprises, ou un identifiant externe provenant de votre système précédent)
|
||||
|
||||
<Warning>The import will fail if a reference is made to a record that does not exist.</Warning>
|
||||
<Warning>L'importation échouera si une référence est faite à un enregistrement inexistant.</Warning>
|
||||
|
||||
### Step 3: Prepare Your CSV File
|
||||
### Étape 3 : Préparer votre fichier CSV
|
||||
|
||||
Add a column in your "many" side CSV file that references the "one" side record.
|
||||
Ajoutez une colonne dans votre fichier CSV du côté "plusieurs" qui référence l'enregistrement du côté "un".
|
||||
|
||||
**Example**: For a People CSV file linking to Companies:
|
||||
**Exemple** : Pour un fichier CSV Personnes lié aux Entreprises :
|
||||
|
||||
```
|
||||
firstName,lastName,email,companyDomain
|
||||
@@ -96,53 +96,53 @@ John,Smith,john@acme.com,https://acme.com
|
||||
Jane,Doe,jane@widgets.co,https://widgets.co
|
||||
```
|
||||
|
||||
**Important**:
|
||||
**Important** :
|
||||
|
||||
* The value must **exactly match** the unique field on the Company record
|
||||
* For domains, use the **Domain URL** (e.g., `https://acme.com`), not the Domain Label
|
||||
* Map only **one** unique identifier per relation: this leads to a smoother import
|
||||
* La valeur doit **correspondre exactement** au champ unique de l'enregistrement de l'Entreprise
|
||||
* Pour les domaines, utilisez l'**URL de domaine** (p. ex., `https://acme.com`), pas le libellé de domaine
|
||||
* N'associez qu'**un seul** identifiant unique par relation : cela rendra l'importation plus fluide
|
||||
|
||||
### Step 4: Ensure the Relation Field Exists
|
||||
### Étape 4 : Vérifier que le champ de relation existe
|
||||
|
||||
Before uploading your file, make sure the relation field exists between your objects.
|
||||
Avant de téléverser votre fichier, assurez-vous que le champ de relation existe entre vos objets.
|
||||
|
||||
If it doesn't exist:
|
||||
S'il n'existe pas :
|
||||
|
||||
1. Go to **Settings → Data Model**
|
||||
2. Select your object (e.g., People)
|
||||
3. Create a relation field pointing to the target object (e.g., Company)
|
||||
1. Allez dans **Paramètres → Modèle de données**
|
||||
2. Sélectionnez votre objet (p. ex., Personnes)
|
||||
3. Créez un champ de relation pointant vers l'objet cible (p. ex., Entreprise)
|
||||
|
||||
### Step 5: Upload and Map the Relation
|
||||
### Étape 5 : Téléverser et associer la relation
|
||||
|
||||
1. Upload your CSV file via the import UI
|
||||
2. In the field mapping step, find your relation column (e.g., `companyDomain`)
|
||||
3. Map it to the relation field (e.g., Company)
|
||||
4. Twenty will automatically link each record to the matching parent
|
||||
1. Téléversez votre fichier CSV via l'interface d'importation
|
||||
2. À l'étape de correspondance des champs, trouvez votre colonne de relation (p. ex., `companyDomain`)
|
||||
3. Associez-la au champ de relation (p. ex., Entreprise)
|
||||
4. Twenty liera automatiquement chaque enregistrement au parent correspondant
|
||||
|
||||
### Available Unique Fields for Relations
|
||||
### Champs uniques disponibles pour les relations
|
||||
|
||||
| Object | Unique Fields Available |
|
||||
| ------------------------------------- | --------------------------------------- |
|
||||
| **Companies** | `id`, `domain`, any custom unique field |
|
||||
| **People** | `id`, `email`, any custom unique field |
|
||||
| **Workspace Members** | `id`, `email` (not name) |
|
||||
| **Other standard and custom objects** | `id`, any field marked as unique |
|
||||
| Objet | Champs uniques disponibles |
|
||||
| ------------------------------------------- | ---------------------------------------------- |
|
||||
| **Entreprises** | `id`, `domain`, tout champ unique personnalisé |
|
||||
| **Personnes** | `id`, `email`, tout champ unique personnalisé |
|
||||
| **Membres de l'espace de travail** | `id`, `email` (pas le nom) |
|
||||
| **Autres objets standard et personnalisés** | `id`, tout champ marqué comme unique |
|
||||
|
||||
<Note>**Linking to Workspace Members**: When the relation points to Workspace Members (your team logging into Twenty), reference them by their **email address**, not their name.</Note>
|
||||
<Note>**Liaison vers les membres de l'espace de travail** : Lorsque la relation pointe vers des membres de l'espace de travail (votre équipe se connectant à Twenty), référencez-les par leur **adresse e-mail**, et non par leur nom.</Note>
|
||||
|
||||
<Note>We recommend using `domain` for Companies and `email` for People, as these are human-readable and easy to maintain in spreadsheets.</Note>
|
||||
<Note>Nous recommandons d'utiliser `domain` pour les Entreprises et `email` pour les Personnes, car ces valeurs sont lisibles par l'humain et faciles à maintenir dans les feuilles de calcul.</Note>
|
||||
|
||||
<Note>**Reminder**: Soft-deleted records (visible under Command Menu → See deleted records) count toward uniqueness criteria. If you import a record with the same unique value as a deleted record, the deleted record will be restored. See [Uniqueness Constraints](/l/fr/user-guide/data-migration/capabilities/uniqueness-constraints) for more details.</Note>
|
||||
<Note>**Rappel** : Les enregistrements supprimés de manière logique (visibles sous Menu Commandes → Voir les enregistrements supprimés) comptent pour les critères d'unicité. Si vous importez un enregistrement avec la même valeur unique qu'un enregistrement supprimé, l'enregistrement supprimé sera restauré. Voir [Contraintes d'unicité](/l/fr/user-guide/data-migration/capabilities/uniqueness-constraints) pour plus de détails.</Note>
|
||||
|
||||
## Import Order Rule
|
||||
## Règle d'ordre d'importation
|
||||
|
||||
<Warning>
|
||||
**Always import the "one" side first!**
|
||||
**Importez toujours d'abord le côté "un" !**
|
||||
|
||||
1. **Companies** first (no dependencies)
|
||||
2. **People** second (linked to Companies)
|
||||
3. **Opportunities** third (linked to Companies/People)
|
||||
4. **Custom objects** following their dependencies
|
||||
1. **Entreprises** d'abord (aucune dépendance)
|
||||
2. **Personnes** en second (liées aux Entreprises)
|
||||
3. **Opportunités** en troisième (liées aux Entreprises/Personnes)
|
||||
4. **Objets personnalisés** en suivant leurs dépendances
|
||||
|
||||
The parent record must exist before you can reference it.
|
||||
L'enregistrement parent doit exister avant que vous puissiez y faire référence.
|
||||
</Warning>
|
||||
|
||||
+41
-41
@@ -1,72 +1,72 @@
|
||||
---
|
||||
title: Uniqueness Constraints
|
||||
description: How Twenty enforces data uniqueness during import.
|
||||
title: Contraintes d'unicité
|
||||
description: Comment Twenty impose l'unicité des données lors de l'importation.
|
||||
---
|
||||
|
||||
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
|
||||
|
||||
## Overview
|
||||
## Vue d'ensemble
|
||||
|
||||
Twenty enforces uniqueness on certain fields to prevent duplicate records and ensure data integrity. Understanding these constraints is essential for successful imports.
|
||||
Twenty impose l'unicité sur certains champs afin d'éviter les doublons et d'assurer l'intégrité des données. Comprendre ces contraintes est essentiel pour des importations réussies.
|
||||
|
||||
## Default Unique Fields
|
||||
## Champs uniques par défaut
|
||||
|
||||
| Object | Unique Fields |
|
||||
| ------------------ | ---------------------- |
|
||||
| **People** | `id`, `email` |
|
||||
| **Companies** | `id`, `domain` |
|
||||
| **Custom objects** | `id` only (by default) |
|
||||
| Objet | Champs uniques |
|
||||
| ------------------------ | ---------------------------- |
|
||||
| **Personnes** | `id`, `email` |
|
||||
| **Entreprises** | `id`, `domain` |
|
||||
| **Objets personnalisés** | `id` uniquement (par défaut) |
|
||||
|
||||
<Note>The `id` field is Twenty's internal identifier, auto-generated for each record. It uses UUID format (e.g., `c776ee49-f608-4a77-8cc8-6fe96ae1e43f`).</Note>
|
||||
<Note>Le champ `id` est l'identifiant interne de Twenty, généré automatiquement pour chaque enregistrement. Il utilise le format UUID (par exemple, `c776ee49-f608-4a77-8cc8-6fe96ae1e43f`).</Note>
|
||||
|
||||
## Custom Unique Fields
|
||||
## Champs uniques personnalisés
|
||||
|
||||
You can define additional unique fields under **Settings → Data Model**:
|
||||
Vous pouvez définir des champs uniques supplémentaires sous **Paramètres → Modèle de données** :
|
||||
|
||||
1. Go to **Settings → Data Model**
|
||||
2. Select the object
|
||||
3. Click on a field
|
||||
4. Enable **Unique** in field settings
|
||||
1. Allez dans **Paramètres → Modèle de données**
|
||||
2. Sélectionnez l'objet
|
||||
3. Cliquez sur un champ
|
||||
4. Activez **Unique** dans les paramètres du champ
|
||||
|
||||
### Use Cases for Custom Unique Fields
|
||||
### Cas d'utilisation pour les champs uniques personnalisés
|
||||
|
||||
* **External IDs**: Store IDs from other systems (Salesforce ID, HubSpot ID)
|
||||
* **Business identifiers**: Employee numbers, customer codes
|
||||
* **Alternative contact info**: LinkedIn profile, phone number
|
||||
* **ID externes** : Stockez les ID provenant d'autres systèmes (Salesforce ID, HubSpot ID)
|
||||
* **Identifiants métier** : Numéros d'employé, codes client
|
||||
* **Coordonnées alternatives** : Profil LinkedIn, numéro de téléphone
|
||||
|
||||
<Note>The field name `id` is reserved for Twenty's internal ID. Use a different name like `externalId` or `legacyId` for external identifiers.</Note>
|
||||
<Note>Le nom de champ `id` est réservé à l'ID interne de Twenty. Utilisez un nom différent comme `externalId` ou `legacyId` pour les identifiants externes.</Note>
|
||||
|
||||
## Import Behavior
|
||||
## Comportement de l'importation
|
||||
|
||||
### Creating New Records
|
||||
### Création de nouveaux enregistrements
|
||||
|
||||
If a unique field value doesn't exist, a new record is created.
|
||||
Si la valeur d'un champ unique n'existe pas, un nouvel enregistrement est créé.
|
||||
|
||||
### Updating Existing Records
|
||||
### Mise à jour des enregistrements existants
|
||||
|
||||
If a unique field value matches an existing record, that record is **updated** with the new data.
|
||||
<Warning>To **update existing records**, it is recommended to **only match one unique field**.</Warning>
|
||||
Si la valeur d'un champ unique correspond à un enregistrement existant, cet enregistrement est **mis à jour** avec les nouvelles données.
|
||||
<Warning>Pour **mettre à jour des enregistrements existants**, il est recommandé de **ne faire correspondre qu'un seul champ unique**.</Warning>
|
||||
|
||||
### Soft-Deleted Records
|
||||
### Enregistrements supprimés de manière logique
|
||||
|
||||
<Warning>
|
||||
**Deleted records count toward uniqueness.**
|
||||
**Les enregistrements supprimés de manière logique comptent pour l'unicité.**
|
||||
|
||||
Soft-deleted records (visible under Command Menu → See deleted records) are included in uniqueness checks. If you import a record with the same unique value as a deleted record, the deleted record will be **restored** with the new data.
|
||||
Les enregistrements supprimés de manière logique (visibles sous Menu Commandes → Voir les enregistrements supprimés) sont inclus dans les vérifications d'unicité. Si vous importez un enregistrement avec la même valeur unique qu'un enregistrement supprimé, l'enregistrement supprimé sera **restauré** avec les nouvelles données.
|
||||
</Warning>
|
||||
|
||||
## Duplicate Detection During Import
|
||||
## Détection des doublons lors de l'importation
|
||||
|
||||
During the validation phase:
|
||||
Pendant la phase de validation :
|
||||
|
||||
* Duplicates within your file are highlighted in yellow
|
||||
* You can edit or remove duplicate rows from the UI before starting the import
|
||||
* Les doublons dans votre fichier sont surlignés en jaune
|
||||
* Vous pouvez modifier ou supprimer les lignes en double depuis l'interface avant de lancer l'importation
|
||||
|
||||
<VimeoEmbed videoId="1145246326" title="Video demonstration" />
|
||||
<VimeoEmbed videoId="1145246326" title="Démonstration vidéo" />
|
||||
|
||||
## Best Practices
|
||||
## Meilleures pratiques
|
||||
|
||||
1. **Remove duplicates** from your file before importing
|
||||
2. **Check for existing records** in Twenty before importing
|
||||
3. **Use external IDs** when migrating from other systems
|
||||
4. **Include unique fields** if you want to update existing records
|
||||
1. **Supprimez les doublons** de votre fichier avant l'importation
|
||||
2. **Vérifiez les enregistrements existants** dans Twenty avant l'importation
|
||||
3. **Utilisez des ID externes** lors de la migration depuis d'autres systèmes
|
||||
4. **Incluez des champs uniques** si vous souhaitez mettre à jour des enregistrements existants
|
||||
|
||||
Reference in New Issue
Block a user