Created by Github action <!-- mintlify-editor-comments:start --> Mintlify --- 0 threads from 0 users in Mintlify - No unresolved comments <!-- mintlify-editor-comments:end --> <!-- mintlify-comment--> <a href="https://dashboard.mintlify.com/twenty/twenty/editor/i18n-docs?source=pr_comment" target="_blank" rel="noopener noreferrer"><picture><source media="(prefers-color-scheme: dark)" srcset="https://d3gk2c5xim1je2.cloudfront.net/assets/open-mintlify-editor-dark.svg"><source media="(prefers-color-scheme: light)" srcset="https://d3gk2c5xim1je2.cloudfront.net/assets/open-mintlify-editor-light.svg"><img src="https://d3gk2c5xim1je2.cloudfront.net/assets/open-mintlify-editor-light.svg" alt="Open in Mintlify Editor"></picture></a> <!-- /mintlify-comment --> Co-authored-by: github-actions <github-actions@twenty.com>
226 lines
10 KiB
Plaintext
226 lines
10 KiB
Plaintext
---
|
|
title: Import relací mezi objekty pomocí CSV
|
|
description: Kompletní podrobný průvodce propojením záznamů během importu CSV.
|
|
---
|
|
|
|
## Přehled
|
|
|
|
Tento průvodce vás provede importem relací mezi objekty — například propojením lidí se společnostmi nebo příležitostí s lidmi.
|
|
|
|
<Note>**Co lze importovat:** Pouze relace „jeden ku mnoha“ směřující k jednomu typu objektu. Relace směřující k více typům objektů (např. poznámky propojené s lidmi a společnostmi) zatím nejsou pro import podporovány.</Note>
|
|
|
|
## Porozumění relacím
|
|
|
|
### Co je to relace „jeden ku mnoha“?
|
|
|
|
V relaci jeden ku mnoha:
|
|
|
|
* **Jedna** společnost má **mnoho** lidí (zaměstnanců)
|
|
* **Jedna** společnost má **mnoho** příležitostí
|
|
* **Jedna** osoba má **mnoho** úkolů
|
|
|
|
Strana „jedna“ je **nadřazená**. Strana „mnoho“ je **podřízená**.
|
|
|
|
### Běžné relace v Twenty
|
|
|
|
| Vztah | Strana „jedna“ (nadřazený) | Strana „mnoho“ (podřízený) |
|
|
| -------------------------- | -------------------------- | -------------------------- |
|
|
| Společnosti → Lidé | Společnost | Osoby |
|
|
| Společnosti → Příležitosti | Společnost | Příležitosti |
|
|
| Lidé → Úkoly | Osoba | Úkoly |
|
|
| Lidé → Poznámky | Osoba | Poznámky |
|
|
|
|
## Krok 1: Určete strany „jedna“ a „mnoho“
|
|
|
|
Před importem určete, který objekt je nadřazený a který podřízený.
|
|
|
|
**Zeptejte se sami sebe:** "Má JEDEN [Objekt A] MNOHO [Objekt B]?"
|
|
|
|
* Jedna společnost → Mnoho lidí ✓ (společnost je nadřazená)
|
|
* Jedna osoba → Mnoho společností ✗ (To je špatně — osoba patří k jedné společnosti)
|
|
|
|
## Krok 2: Nejprve importujte nadřazené záznamy
|
|
|
|
Nadřazený („jedna“ strana) musí v Twenty existovat, než na něj budete moci odkazovat.
|
|
|
|
**Pořadí importu:**
|
|
|
|
1. **Společnosti** jako první (bez závislostí)
|
|
2. **Lidé** jako druzí (propojení se společnostmi)
|
|
3. **Příležitosti** jako třetí (propojené se společnostmi a/nebo lidmi)
|
|
4. **Úkoly/Poznámky** (propojené s jakýmkoli z výše uvedených)
|
|
|
|
<Warning>
|
|
**Pokud nadřazený záznam neexistuje, import selže.**
|
|
|
|
Vždy ověřte, že společnosti jsou importovány dříve, než budete importovat lidi s odkazy na společnost.
|
|
</Warning>
|
|
|
|
## Krok 3: Poznamenejte si jedinečný identifikátor nadřazeného objektu
|
|
|
|
Na nadřazený záznam musíte odkazovat pomocí **jedinečného identifikátoru**. Dostupné možnosti:
|
|
|
|
| Nadřazený objekt | Dostupné jedinečné identifikátory |
|
|
| ------------------------------- | ----------------------------------------------------------------------- |
|
|
| **Společnosti** | `id` (UUID), `domain` (doporučeno) nebo jakékoli vlastní jedinečné pole |
|
|
| **Lidé** | `id` (UUID), `email` nebo jakékoli vlastní jedinečné pole |
|
|
| **Členové pracovního prostoru** | `id` (UUID), `email` (ne jméno) |
|
|
| **Vlastní objekty** | `id` (UUID) nebo jakékoli pole označené jako jedinečné |
|
|
|
|
<Note>**Doporučeno:** Pro společnosti použijte `domain` a pro lidi `email`. Jsou čitelné pro člověka a snadno ověřitelné ve vaší tabulce.</Note>
|
|
|
|
### Jak zjistit identifikátor
|
|
|
|
Pokud potřebujete `id`:
|
|
|
|
1. Exportujte nadřazené záznamy z Twenty
|
|
2. Export obsahuje sloupec `id`
|
|
3. Použijte tato ID v souboru s podřízenými záznamy
|
|
|
|
## Krok 4: Ověřte, že existuje relační pole
|
|
|
|
Před importem se ujistěte, že mezi vašimi objekty existuje relační pole.
|
|
|
|
**Jak ověřit nebo vytvořit:**
|
|
|
|
1. Přejděte na **Nastavení → Datový model**
|
|
2. Vyberte svůj podřízený objekt (např. Lidé)
|
|
3. Vyhledejte relační pole směřující na nadřazený objekt (např. Společnost)
|
|
4. Pokud neexistuje, vytvořte jej:
|
|
* Klikněte na **+ Add field**
|
|
* Vyberte typ **Relation**
|
|
* Vyberte nadřazený objekt
|
|
|
|
## Krok 5: Připravte svůj soubor CSV
|
|
|
|
Do podřízeného CSV přidejte sloupec, který odkazuje na nadřazený objekt pomocí jeho jedinečného identifikátoru.
|
|
|
|
### Příklad: Propojení lidí se společnostmi
|
|
|
|
**Vaše CSV s lidmi:**
|
|
|
|
```csv
|
|
firstName,lastName,email,jobTitle,companyDomain
|
|
John,Smith,john@acme.com,CEO,https://acme.com
|
|
Jane,Doe,jane@widgets.co,CTO,https://widgets.co
|
|
Bob,Johnson,bob@techstart.io,Developer,https://techstart.io
|
|
```
|
|
|
|
Sloupec `companyDomain` odkazuje na doménu společnosti.
|
|
|
|
### Požadavky na formát
|
|
|
|
| Identifikátor | Formát | Příklad |
|
|
| ------------- | ----------------- | -------------------------------------- |
|
|
| Doména | Formát URL | `https://acme.com` |
|
|
| Email | Standardní e-mail | `john@acme.com` |
|
|
| ID | UUID | `c776ee49-f608-4a77-8cc8-6fe96ae1e43f` |
|
|
|
|
<Warning>
|
|
**Na formátu domény záleží!**
|
|
|
|
Použijte `https://domain.com` (ne pouze `domain.com`). To odpovídá způsobu, jak Twenty ukládá domény společností, a předchází chybám při párování.
|
|
</Warning>
|
|
|
|
### Důležitá pravidla
|
|
|
|
1. **Je vyžadována přesná shoda** — hodnota se musí přesně shodovat s nadřazeným záznamem
|
|
2. **Mapujte pouze JEDEN jedinečný identifikátor** — nezahrnujte současně `companyId` A `companyDomain`
|
|
3. **Rozlišuje se velikost písmen** — `Acme.com` ≠ `acme.com`
|
|
|
|
## Krok 6: Nahrajte a namapujte relaci
|
|
|
|
1. Přejděte k podřízenému objektu (např. Lidé)
|
|
2. Klikněte na **⋮** → **Import records**
|
|
3. Nahrajte svůj soubor CSV
|
|
4. V kroku mapování polí:
|
|
* Najděte svůj relační sloupec (např. `companyDomain`)
|
|
* Namapujte jej na relační pole **Společnost**
|
|
5. Dokončete zbývající mapování
|
|
6. Zkontrolujte chyby a potvrďte
|
|
|
|
Twenty automaticky propojí každý podřízený záznam s odpovídajícím nadřazeným.
|
|
|
|
## Krok 7: Ověřte import
|
|
|
|
Po importu:
|
|
|
|
1. Otevřete několik podřízených záznamů (např. Lidé)
|
|
2. Ověřte, že relační pole zobrazuje správný nadřazený objekt (např. Společnost)
|
|
3. Otevřete nadřazený záznam a zkontrolujte sekci souvisejících záznamů
|
|
|
|
## Časté chyby, kterým se vyhnout
|
|
|
|
| Chyba | Problém | Řešení |
|
|
| ---------------------------- | ----------------------------------------------- | --------------------------------------------------------------- |
|
|
| **Chybné pořadí importu** | Importujete lidi před společnostmi | Vždy nejprve importujte nadřazené, poté podřízené |
|
|
| **Chybný formát domény** | Použití `acme.com` místo `https://acme.com` | Použijte plný formát URL s `https://` |
|
|
| **Více jedinečných polí** | Mapujete současně `companyId` A `companyDomain` | Mapujte pouze JEDEN jedinečný identifikátor |
|
|
| **Chybí relační pole** | Relační pole v datovém modelu neexistuje | Vytvořte jej v **Nastavení → Datový model** před importem |
|
|
| **Neexistující záznamy** | Nadřazený záznam v Twenty neexistuje | Nejprve importujte nadřazené záznamy nebo zkontrolujte překlepy |
|
|
| **Rozdílná velikost písmen** | `Acme.com` v souboru, ale v Twenty `acme.com` | Zajistěte přesnou shodu velikosti písmen |
|
|
|
|
## Propojování s členy pracovního prostoru
|
|
|
|
Při propojování s členy pracovního prostoru (vaším týmem):
|
|
|
|
* Použijte jejich **e-mailovou adresu**, ne jméno
|
|
* Příklad: `owner@yourcompany.com`, ne "John Smith"
|
|
|
|
```csv
|
|
taskName,assignedTo
|
|
Follow up with client,john@yourcompany.com
|
|
Review proposal,jane@yourcompany.com
|
|
```
|
|
|
|
## Časté dotazy
|
|
|
|
<AccordionGroup>
|
|
<Accordion title="Co když můj nadřazený záznam nemá doménu ani e-mail?">
|
|
Máte dvě možnosti:
|
|
1. Použijte Twenty `id` (exportujte nadřazené záznamy, abyste získali jejich ID)
|
|
2. Vytvořte ve svém datovém modelu vlastní jedinečné pole pro uložení externího ID z vašeho předchozího systému
|
|
</Accordion>
|
|
|
|
<Accordion title="Mohu aktualizovat relace u existujících záznamů?">
|
|
Ano! Zahrňte jedinečný identifikátor podřízeného záznamu (např. `email` u lidí) a novou hodnotu relace. Import relaci aktualizuje.
|
|
</Accordion>
|
|
|
|
<Accordion title="Mohu importovat vztahy mnoho k mnoha?">
|
|
Vztahy mnoho k mnoha zatím nejsou pro import podporovány. To je plánováno na 1. pololetí 2026.
|
|
</Accordion>
|
|
|
|
<Accordion title="Mohu propojovat s více typy objektů (například poznámky s lidmi A společnostmi)?">
|
|
Relace směřující k více typům objektů zatím nejsou pro import/export podporovány. Je to v našem plánu.
|
|
</Accordion>
|
|
|
|
<Accordion title="Co se stane, když nadřazený záznam neexistuje?">
|
|
Import u daného řádku zobrazí chybu. Můžete buď:
|
|
* Nejprve importujte nadřazený záznam, poté znovu importujte
|
|
* Opravte referenční hodnotu
|
|
* Odstraňte řádek z importu
|
|
</Accordion>
|
|
|
|
<Accordion title="Proč se moje relace nepropojuje správně?">
|
|
Časté příčiny:
|
|
* Nesprávný formát (pro domény použijte `https://domain.com`)
|
|
* Nesoulad ve velikosti písmen (zkontrolujte přesný zápis)
|
|
* Nadřazený neexistuje (nejprve importujte nadřazené)
|
|
* Mapujete více identifikátorů (použijte pouze jeden)
|
|
</Accordion>
|
|
</AccordionGroup>
|
|
|
|
<Warning>
|
|
**Pamatujte: Záznamy „soft-deleted“ se započítávají do jedinečnosti.**
|
|
|
|
Pokud dostáváte chyby "not found", ale záznam se zdá existovat, zkontrolujte Command Menu → See deleted records. Nadřazený mohl být „soft-deleted“.
|
|
</Warning>
|
|
|
|
## Řešení potíží
|
|
|
|
Máte potíže? Podívejte se na:
|
|
|
|
* [Jak opravit chyby importu](/l/cs/user-guide/data-migration/how-tos/fix-import-errors)
|
|
* [Možnosti importu relací](/l/cs/user-guide/data-migration/capabilities/import-relations)
|
|
* [Omezení jedinečnosti](/l/cs/user-guide/data-migration/capabilities/uniqueness-constraints)
|