snapshot of https://github.com/twentyhq/twenty.git (main, 2026-09-17; blobs > 131072B omitted)
Some checks failed
App Prod-Parity E2E Dispatch / dispatch (push) Failing after 10s
CD Storybook UI / build (push) Failing after 3m25s
CD Storybook UI / dispatch (push) Has been skipped
CD deploy main / website-changed-files (push) Successful in 18m8s
CI Agent Skills / changed-files-check (push) Successful in 18m9s
CI Create App E2E minimal / changed-files-check (push) Successful in 24s
CI Create App / changed-files-check (push) Successful in 26s
CI Docs / changed-files-check (push) Successful in 26s
CI Emails / changed-files-check (push) Successful in 28s
CI Example App Hello World / changed-files-check (push) Successful in 23s
CI Front / changed-files-check (push) Has been skipped
CI Example App Postcard / changed-files-check (push) Successful in 27s
CI UI / changed-files-check (push) Has been skipped
CI Utils Test / changed-files-check (push) Successful in 45s
CI Twenty Apps / discover (push) Successful in 1m3s
CD deploy main / deploy-main (push) Failing after 3s
CI Agent Skills / agent-skills-validate (push) Has been skipped
CI Create App / create-app-test (lint) (push) Has been skipped
CI Emails / emails-test (push) Has been skipped
CI Front / front-task (lingui:compile) (push) Has been skipped
CI Front / front-task (lint) (push) Has been skipped
CI Example App Postcard / example-app-postcard (push) Has been skipped
CI UI / ui-task (lint) (push) Has been skipped
CI UI / ui-task (pack-size) (push) Has been skipped
CI UI / ui-task (size) (push) Has been skipped
CI UI / ui-task (test) (push) Has been skipped
CI UI / ui-task (typecheck) (push) Has been skipped
CI Utils Test / utils-test (push) Has been skipped
CI Twenty Apps / ${{ matrix.app.name }} (push) Has been skipped
CI Emails / ci-emails-status-check (push) Successful in 2s
CI Example App Hello World / ci-example-app-hello-world-status-check (push) Successful in 2s
CI Example App Postcard / ci-example-app-postcard-status-check (push) Successful in 3s
CI UI / ui-sb-test (push) Has been skipped
CI Utils Test / ci-utils-test-status-check (push) Successful in 2s
CI Twenty Apps / ci-twenty-apps-status-check (push) Successful in 2s
CI UI / ci-ui-status-check (push) Successful in 2s
CI Desktop / desktop (push) Failing after 1m8s
Push docs to Crowdin / Push documentation to Crowdin (push) Failing after 55s
Push translations to Crowdin / Extract and upload translations (push) Failing after 5s
Push website translations to Crowdin / Extract and upload website translations (push) Failing after 5s
CI Create App / create-app-test (test) (push) Has been skipped
CI Create App / create-app-test (typecheck) (push) Has been skipped
CI Docs / docs-lint (push) Has been skipped
CI Example App Hello World / example-app-hello-world (push) Has been skipped
CI Front / front-task (lingui:extract) (push) Has been skipped
CI Front / front-task (test) (push) Has been skipped
CI Front / front-task (typecheck) (push) Has been skipped
CI UI / ui-sb-build (push) Failing after 1m32s
CI Twenty Apps / ${{ matrix.app.name }} (${{ matrix.server-source }}) (push) Has been skipped
CI Agent Skills / agent-skills-publish (push) Has been skipped
CI Create App / ci-create-app-status-check (push) Successful in 2s
CI Agent Skills / agent-skills-remote-source (push) Has been skipped
CI Create App E2E minimal / create-app-e2e-minimal (push) Has been cancelled
CI E2E Main / e2e-test (push) Has been cancelled
CI Front / front-sb-build (push) Has been cancelled
CI Front / front-build (push) Has been cancelled
CI Create App E2E minimal / ci-create-app-e2e-minimal-status-check (push) Has been cancelled
CI E2E Main / ci-e2e-main-status-check (push) Has been cancelled
CI E2E Main / notify-main-ci-failure (push) Has been cancelled
CI E2E Main / qa-scout-comment (push) Has been cancelled
CI Front / front-sb-test (push) Has been cancelled
CI Front / front-sb-screenshots (push) Has been cancelled
CI Front / ci-front-status-check (push) Has been cancelled
DPA Sub-Processor Sync / sync-subprocessors (push) Failing after 3s
AI Catalog Sync / sync-catalog (push) Failing after 2s

This commit is contained in:
upstream-mirror
2026-09-17 23:28:13 +05:00
commit e7da97194a
32688 changed files with 4208681 additions and 0 deletions

View File

@@ -0,0 +1,198 @@
---
title: Mapování polí
description: Jak funguje mapování polí při importu dat.
---
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
## Jak funguje mapování polí
Když nahrajete soubor, Twenty analyzuje vaše sloupce a pokusí se je spárovat s existujícími poli.
### Automatické mapování
Twenty se snaží spárovat sloupce na základě:
* Názvů záhlaví sloupců (přesné nebo podobné shody)
* Detekce typů dat (datumů, čísel, e‑mailů)
* Běžné vzory polí
<Note>**Rychlý tip:** Exportujte několik řádků z objektu, který chcete importovat. Exportovaný soubor bude mít přesně takové názvy sloupců, jaké Twenty očekává, což při importu usnadní automatické mapování.</Note>
### Možnosti ručního mapování
U každého sloupce můžete:
* **Namapovat na pole**: Vyberte odpovídající pole Twenty z rozbalovací nabídky
* **Nemapovat**: Sloupec úplně přeskočte (data nebudou importována)
<Note>**Pole musí existovat před importem.** Import vytváří záznamy, nikoli pole. Vytvořte vlastní pole v **Nastavení → Datový model** před importem.</Note>
## Kompatibilita typů polí
Všechny typy polí dostupné v Datovém modelu jsou pro import podporovány.
Můžete také importovat hodnoty `id` a přiřadit konkrétní ID novým záznamům nebo aktualizovat stávající.
<img src="/images/user-guide/fields/all-field-types.png" style={{width:'100%'}} />
## Požadavky na formát dat
<Note>**Některá pole mají speciální syntaxi.** Před přípravou importu doporučujeme stáhnout ukázkový soubor, abyste viděli očekávanou syntaxi pro každý typ pole.</Note>
### Adresová pole
Adresa je vnořené pole s více sloupci. Některé lze ponechat prázdné.
* **Adresa / Adresa 1**: První řádek adresy (ulice)
* **Adresa / Adresa 2**: Druhý řádek adresy (ulice)
* **Adresa / Město**: Název města
* **Adresa / Stát**: Stát nebo provincie
* **Adresa / Země**: Název země
* **Adresa / PSČ**: Poštovní směrovací číslo
### Pole typu Array
Použijte následující formát:
```
["value1","value2"]
```
### Booleovská pole
Použijte `TRUE` nebo `FALSE` (velkými písmeny) – ne `true` ani `false`
### Měnová pole
Měna je vnořené pole se dvěma sloupci, které je nutné **vyplnit obě**:
* **Částka / Částka**: Číselná hodnota (např. `1234.56`)
* **Částka / Měna**: Kód měny (např. `USD`, `EUR`)
### Datumová pole
Podporované formáty:
* `YYYY-MM-DD` (doporučeno)
* `MM/DD/YYYY`
* `DD/MM/YYYY`
* Formát ISO 8601
### Doménová pole
* Doporučujeme používat formát `https://domain.com`, abyste předešli vytváření duplicit, protože tento formát se používá u Společností vytvořených synchronizací poštovní schránky a kalendáře
* Lze vyplnit `Domain Label` a `Domain URL`: osvědčený postup je zadat do popisku `domain.com` a do URL `https://domain.com`
* Domény musí být v objektu Společnosti jedinečné
* **Domény musí být jedinečné v rámci importovaného souboru**
### E‑mailová pole
* Musí mít platný formát e‑mailu
* E‑maily musí být v objektu Osoby jedinečné
* **E‑maily musí být jedinečné v rámci importovaného souboru**
* Pro další e‑maily: použijte **E‑maily / Primární e‑mail** pro hlavní e‑mail a **E‑maily / Další e‑maily** v tomto formátu:
```
["jane@twenty.com","jane.doe@twenty.com"]
```
### ID polí
Zadání `id` při importu je volitelné. Pokud není uvedeno, Twenty jej automaticky vygeneruje.
Příklady použití mapování sloupce `id`:
* **Nastavit konkrétní ID**: Zvolte UUID pro nově vytvářené záznamy
* **Aktualizovat existující záznamy**: Spárujte je s existujícími záznamy, abyste je aktualizovali místo vytváření duplicit. V takovém případě doporučujeme nemapovat další jedinečná pole: mapování pouze jednoho jedinečného pole zajistí hladší import.
<Note>Pokud zadáte `id`, musí být ve formátu UUID (např. `c776ee49-f608-4a77-8cc8-6fe96ae1e43f`).</Note>
### Pole JSON
Použijte platný formát JSON:
```
{"key":"value","key2":"value2"}
```
### Pole odkazů
Podobně jako u doménových polí:
* Vyplňte oba sloupce s popiskem a adresou URL: **Odkazy / URL odkazu** a **Odkazy / Popisek odkazu**
* Použijte úplný formát URL: `https://example.com`
* Pro sekundární odkazy použijte sloupec **Odkazy / Sekundární odkazy** v tomto formátu:
```
[{"url":"https://twenty.com","label":"Twenty"}]
```
### Pole s vícenásobným výběrem
Použijte **názvy API** (nikoli zobrazované popisky) v následujícím formátu:
```
["VALUE1","VALUE2"]
```
Viz [zde](#finding-api-names-for-select-fields), kde najdete názvy API.
<Note>Nové možnosti výběru se importem automaticky nevytvoří. Před importem je musíte přidat v **Nastavení → Datový model**.</Note>
<Warning>
**Import přepsá; nepřidává.**
Pokud má záznam již vybrány `VALUE2` a `VALUE3` a vy importujete `["VALUE1"]`, bude mít po importu pouze `VALUE1`. Předchozí výběry se nahrazují, neslučují.
</Warning>
### Číselná pole
* Pouze čísla
* Desetinná místa se oddělují tečkou: `1234.56`
* Bez oddělovačů tisíců
### Telefonní pole
Telefon je vnořené pole s více sloupci, které je **nutné vyplnit**
* **Telefony / Primární telefonní číslo**: Telefonní číslo (např. `4159095555`)
* **Telefony / Kód země primárního telefonu**: Kód země (např. `US`)
* **Telefony / Mezinárodní předvolba primárního telefonu**: Volací kód (např. `+1`)
### Hodnoticí pole
Použijte název API ve formátu: `RATING_1`, `RATING_2`, `RATING_3`, `RATING_4`, `RATING_5`
### Relační pole
Podívejte se prosím na náš samostatný článek: [Import relací mezi objekty](/l/cs/user-guide/data-migration/capabilities/import-relations)
### Výběrová Pole
Použijte **název API** možnosti (nikoli zobrazovaný popisek):
```
VALUE1
```
Viz [zde](#finding-api-names-for-select-fields), kde najdete názvy API.
<Note>Nové možnosti výběru nebudou importem vytvořeny automaticky. Před importem je musíte přidat v **Nastavení → Datový model**.</Note>
### Textová pole
* Není potřeba žádné speciální formátování
* Úvodní a koncové mezery jsou odstraněny
## Hledání názvů API
U polí typu Select, Multi-Select a Array s předdefinovanými možnostmi musíte použít **názvy API**, nikoli zobrazené štítky.
### Jak najít názvy API
1. Přejděte na **Nastavení → Datový model**
2. Vyberte objekt a pole
3. Povolte **Pokročilý režim** (přepínač je vpravo dole na stránce nastavení)
4. Zobrazte název API pro každou možnost
<VimeoEmbed videoId="1144910809" title="Ukázka videa" />