--- 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. **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. ## 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) **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. ## 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é | **Doporučeno:** Pro společnosti použijte `domain` a pro lidi `email`. Jsou čitelné pro člověka a snadno ověřitelné ve vaší tabulce. ### 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` | **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í. ### 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 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 Ano! Zahrňte jedinečný identifikátor podřízeného záznamu (např. `email` u lidí) a novou hodnotu relace. Import relaci aktualizuje. Vztahy mnoho k mnoha zatím nejsou pro import podporovány. To je plánováno na 1. pololetí 2026. 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. 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 Č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) **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“. ## Ř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)