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,122 @@
---
title: Pole
description: Pochopte roli polí a jak je spravovat.
---
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
## O polích
Pole jsou jako sloupce v tabulce. Ukládají různé typy dat, jako je text, čísla nebo data. Pole mohou být standardní (vestavěná) nebo vlastní (ty, které vytvoříte).
### Standardní pole
Standardní pole jsou předem vestavěná v systému Twenty, aby pokryla běžné obchodní potřeby.
Například `Křestní jméno` a `Příjmení` jsou standardní pole v objektu `Lidé`. Ukládají textová data pro jednotlivá jména.
Nemůžete smazat standardní pole, ale můžete je deaktivovat, pokud je nepotřebujete.
Můžete také přizpůsobit možnosti standardních polí typu `SELECT`, například možnosti pro `Stage` u příležitostí.
<img src="/images/user-guide/fields/standard-fields.png" style={{width:'100%'}} />
### Vlastní pole
Vlastní pole lze přidat k jakémukoli objektu. Můžete ukládat text, čísla, data, výběry z rozbalovacího seznamu a další. Použijte vlastní pole ke sledování informací, které jsou specifické pro vaše podnikání.
Například vlastní pole pro SpaceX by mohlo být `Status aktivity rakety`, indikující, zda je raketa funkční.
<img src="/images/user-guide/fields/custom-fields.png" style={{width:'100%'}} />
## Typy polí
Twenty podporuje různé typy polí:
| Typ | Popis | Příklad |
| ------------------ | -------------------------------------------------------- | -------------------- |
| Adresa | Strukturovaná adresa s ulicí, městem, státem, zemí a PSČ | Adresa kanceláře |
| Pole | Seznam textových hodnot | Štítky |
| Booleovská hodnota | Zaškrtávací políčko s hodnotami ano/ne | Aktivní |
| Měna | Peněžní hodnota s kódem měny | Částka obchodu (USD) |
| Datum | Datumové hodnoty | Datum uzavření |
| Datum a čas | Datum s časem | Čas schůzky |
| Doména | Doména webu (používá se pro společnosti) | acme.com |
| Email | E-mailové adresy (primární + další) | Kontaktní e-mail |
| JSON | Strukturovaná data ve formátu JSON | Vlastní metadata |
| Odkazy | URL s popisky (primární + sekundární) | Web, LinkedIn |
| Dlouhý text | Víceřádkový text | Popis, poznámky |
| Vícenásobný výběr | Více možností z předdefinovaného seznamu | Štítky, kategorie |
| Číslo | Číselné hodnoty (celá čísla nebo desetinná čísla) | Množství, skóre |
| Telefon | Telefonní čísla s kódem země | Pracovní telefon |
| Hodnocení | Hvězdičkové hodnocení (1-5) | Priorita, skóre |
| Vztah | Odkazy na záznamy v jiných objektech | Společnost → Lidé |
| Vybrat | Jedna možnost z předdefinovaného seznamu | Fáze, stav |
| Text | Jednořádkový text | Jméno, název |
## Vytvořit vlastní pole
Pro přidání vlastního pole k libovolnému objektu postupujte podle těchto kroků:
1. Přejděte na `Nastavení` v levém postranním panelu.
2. Přejděte na `Datový model`, poté zvolte objekt, který chcete přizpůsobit.
3. Pokračujte kliknutím na `+ Nové pole`.
4. Vyberte název a typ pole, který vyhovuje vašim požadavkům. Zvažte přidání popisu pole pro lepší pochopení.
Vaše nově vytvořené pole je nyní dostupné mezi poli aplikace. Pro jeho zobrazení na konkrétním pohledu klikněte na nabídku možností, poté zvolte `Pole`.
<VimeoEmbed videoId="927628219" title="Videoukázka" />
**Rychlý způsob:** Klikněte na tlačítko **+** v pravém horním rohu tabulky objektu, poté zvolte `Přizpůsobit pole`. To vás vezme přímo do nastavení Datového modelu.
<img src="/images/user-guide/fields/quick-new-field.png" style={{width:'100%'}} />
## Deaktivovat pole
Můžete deaktivovat pole, aby bylo skryté v aplikaci, aniž byste ztratili data. Představte si to jako skrytí pole místo jeho smazání.
Takto to můžete udělat:
1. Najděte pole, které chcete deaktivovat ve vašem nastavení objektu.
2. Klikněte na tři tečky `⋮` vedle pole pro otevření nabídky.
3. Zvolte `Deaktivovat` z nabídky.
<img src="/images/user-guide/fields/deactivate-field.png" style={{width:'100%'}} />
Co se stane, když deaktivujete pole?
1. **V aplikaci:** Pole zmizí a nemůžete k němu přidat nové hodnoty.
2. **Existující relace:** Pokud se jedná o relační pole, stávající spojení zůstanou, ale nemůžete vytvořit nová.
3. **Přístup k API:** Stále můžete přistupovat k poli a jeho údajům prostřednictvím API.
Můžete znovu aktivovat Standardní a Vlastní pole nebo máte možnost je trvale vymazat.
## Unikátní pole
Udělte poli unikátnost, abyste zajistili, že různé záznamy nemohou mít stejnou hodnotu. Například e-mailové adresy jsou unikátní pro každého jednotlivce.
Pokud narazíte na chybu při nastavování unikátnosti, zkontrolujte duplicitní hodnoty ve svých datech (včetně smazaných záznamů).
## Indexy (pokročilé)
Databázové indexy jsou spravovány automaticky — přidávání vlastních je jen zřídka nutné a je snadné je udělat špatně. Když je zapnutý pokročilý režim, má každý objekt sekci **Indexy** v `Settings → Data Model → <object>` pro případy, kdy víte, že ho potřebujete.
## Nejlepší praktiky pro konfiguraci polí
### Nejlepší praktiky pro konfiguraci polí
* **Jednotné a množné názvy musí být odlišné**: Naše GraphQL API potřebuje různá jména pro mutace
* **Chráněné názvy polí**: některé názvy jsou vyhrazeny pro systémové použití (např. `Type`, `Application`)
### Měnová a Telefonní Pole
* **Výchozí měna**: může být nakonfigurována prostřednictvím datového modelu
* **Výchozí předvolby zemí**: lze konfigurovat pro telefonní pole prostřednictvím datového modelu
### Výběrová Pole
* **Lze zvolit výchozí možnost** pro každé výběrové pole
### Textová pole záznamů
* **Každý objekt má jedno hlavní zobrazovací pole**: Toto pole se objevuje v levém sloupci a představuje záznam při propojení s jinými objekty. Musí být textové pole. Například, Lidé používají `Jméno` jako hlavní pole, takže když někoho propojujete s firmou, uvidíte jeho jméno ve firmě.

View File

@@ -0,0 +1,92 @@
---
title: Objekty
description: Zjistěte více o standardních a vlastních objektech v Twenty.
---
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
## Standardní objekty
Standardní objekty jsou předdefinované entity ve vašem pracovním prostoru, které vám pomáhají začít. Jsou součástí sdíleného datového modelu přístupného všem uživatelům Twenty. Můžete je používat tak, jak jsou, přizpůsobit je nebo je deaktivovat.
<img src="/images/user-guide/objects/standard-objects.png" style={{width:'100%'}} />
### Osoby
Objekt `People` ukládá vaše kontakty. Obsahuje kontaktní údaje a historii interakcí, takže vidíte všechny zákaznické interakce na jednom místě.
### Společnosti
Objekt `Companies` ukládá vaše firemní účty. Obsahuje podrobnosti jako odvětví, velikost a lokalitu. Společnosti jsou propojené s objekty `People` a `Opportunities`.
### Příležitosti
Objekt `Opportunities` ukládá údaje související s nabídkami. Sleduje průběh potenciálních prodejů, od prospectingu po uzavření, zaznamenává fáze, velikosti nabídek, související účty a očekávané datum uzavření. Můžete si prohlédnout svůj prodejní kanál v rozložení kanban.
### Poznámky
Objekt `Notes` ukládá volně psané poznámky, které lze připojit k People, Companies, Opportunities a dalším záznamům. Poznámky použijte k zachycení souhrnů schůzek, důležitých detailů nebo jakýchkoli kontextových informací.
### Úkoly
Objekt `Tasks` ukládá úkoly a akční položky. Úkoly lze propojit s People, Companies, Opportunities a dalšími záznamy. Sledujte termíny, přiřazené osoby a stav dokončení, abyste měli své následné kroky pod kontrolou.
## Vlastní objekty
Vlastní objekty vám umožňují ukládat informace, které jsou jedinečné pro vaši organizaci a které standardní objekty nezvládnou. Například pokud jste SpaceX, můžete chtít vytvořit vlastní objekt pro rakety a starty.
<img src="/images/user-guide/objects/custom-objects.png" style={{width:'100%'}} />
### Vytváření nového vlastního objektu
Chcete-li vytvořit nový vlastní objekt:
1. Přejděte do Nastavení na postranním panelu vlevo.
2. Pod pracovním prostorem přejděte do datového modelu. Zde budete moci vidět přehled všech vašich stávajících standardních a vlastních objektů (aktivních i deaktivovaných).
<VimeoEmbed videoId="926288174" title="Ukázka videa" />
3. Klikněte na `+ Nový objekt` v horní části. Zadejte název (v jednotném i množném čísle), vyberte ikonu a přidejte popis pro svůj vlastní objekt a klikněte na Uložit (vpravo nahoře). Jako příklad vlastního objektu použijte Listing: jednotné číslo by bylo "listing" a množné by bylo "listings" spolu s popisem jako "Inzeráty, které hostitelé vytvořili, aby prezentovali svou nemovitost."
4. Váš vlastní objekt je nyní vytvořen a zobrazí se v postranním panelu. Můžete do něj hned začít přidávat záznamy.
## Správa objektů
### Deaktivace objektů
Pokud nepotřebujete standardní nebo vlastní objekt:
1. Přejděte do Nastavení → Datový model
2. Najděte objekt, který chcete deaktivovat, a klikněte na něj
3. Přejít na záložku **Nastavení** objektu
4. Klikněte na tlačítko "Deaktivovat"
5. Objekt bude skrytý ve vašem pracovním prostoru, ale data budou zachována
### Reaktivace objektů
Chcete-li obnovit deaktivovaný objekt:
1. Přejděte do Nastavení → Datový model
2. Povolit filtr "Deaktivováno"
3. Hledat deaktivované objekty (mají `deaktivované` vedle jejich jména)
4. Kliknutím na `⋮` a poté na `Activate` jej znovu aktivujete
5. Objekt a všechna jeho data budou obnovena
## Osvědčené postupy
### Kdy vytvářet vlastní objekty
* **Jedinečné obchodní entity**: Věci specifické pro vaše odvětví nebo proces
* **Složité vztahy**: Když potřebujete sledovat propojení mezi více entitami
* **Škálovatelná data**: Když můžete mít mnoho instancí něčeho
### Kdy raději použít pole
* **Jednoduché atributy**: Vlastnosti, které popisují existující objekty
* **Kategorie nebo štítky**: Způsoby, jak klasifikovat existující záznamy
* **Jednotlivé hodnoty**: Informace, které nepotřebují vlastní životní cyklus
### Pojmenování objektů
* **Používejte jasné, popisné názvy**: Ať je zřejmé, co objekt představuje
* **Dodržujte konvence**: Pro název objektu používejte jednotné číslo, pro kolekci číslo množné
* **Myslete na svůj tým**: Zvolte názvy, kterým všichni porozumí

View File

@@ -0,0 +1,94 @@
---
title: Relační pole
description: Propojte záznamy napříč různými objekty pomocí relačních polí.
---
## Typy relací
### Jeden k mnoha
Jeden záznam v Objektu A může být propojen s mnoha záznamy v Objektu B.
**Příklad:** Jedna společnost může mít mnoho lidí (zaměstnanců).
### Mnoho k jednomu
Mnoho záznamů v Objektu A může být propojeno s jedním záznamem v Objektu B.
**Příklad:** Mnoho lidí může patřit k jedné společnosti.
### Relace k více typům objektů
Některé objekty mohou na jedné straně relace odkazovat na více typů objektů.
**Příklad:** Poznámku lze současně připojit k jedné osobě, jedné společnosti a jedné příležitosti. Poznámka je na straně "mnoho" a propojuje se s více stranami "jeden".
<img src="/images/user-guide/fields/many-to-one-morph.png" style={{width:'100%'}} />
Podobně může Projekt (na straně "jeden") přijímat odkazy od více lidí, více společností a více poznámek.
<img src="/images/user-guide/fields/one-to-many-morph.png" style={{width:'100%'}} />
<Warning>
**Omezení importu/exportu**: Relace směřující k více typům objektů zatím nejsou podporovány pro import/export CSV. Je to v našem plánu.
</Warning>
### Mnoho k mnoha
Mnoho záznamů v Objektu A může být propojeno s mnoha záznamy v Objektu B.
**Příklad:** Mnoho lidí může být propojeno s mnoha projekty a naopak.
Vztahy typu mnoho-na-mnoho používají vzor zvaný **spojovací objekt**: zprostředkující objekt, který propojuje obě strany. S funkcí spojovacího vztahu zobrazuje Twenty přímo výsledné propojené záznamy a zprostředkující objekt v UI skrývá.
<Warning>
**Funkce Beta**: Před použitím musí být vztahy s červí povoleny v **Nastavení → komunita → Vlastnosti**.
</Warning>
Podívejte se na [Jak vytvořit vztahy typu mnoho k mnoha](/l/cs/user-guide/data-model/how-tos/create-many-to-many-relations) pro úplný návod krok za krokem.
## Vytvoření relačního pole
1. Přejděte do **Nastavení → Datový model**
2. Vyberte objekt, do kterého chcete přidat relaci
3. Klikněte na **+ Nové pole**
4. Vyberte **Relation** jako typ pole
5. Vyberte cílový objekt nebo objekty, ke kterým chcete relaci vytvořit
6. Nakonfigurujte nastavení relace:
* **Název pole na zdrojovém objektu**: Název relačního pole na objektu, který upravujete
* **Název pole na cílovém objektu**: Název relačního pole, které se zobrazí na cílovém objektu
* Typ vztahu (jeden k mnoha, mnoho k jednomu)
7. Klikněte na **Uložit**
## Standardní relace
Twenty obsahuje předpřipravené relace mezi standardními objekty:
| Z objektu | Do objektu | Typ vztahu |
| ------------ | ----------- | --------------- |
| Osoby | Společnosti | Mnoho k jednomu |
| Příležitosti | Společnosti | Mnoho k jednomu |
| Příležitosti | Osoby | Mnoho k jednomu |
## Osvědčené postupy
### Plánování relací
* **Zmapujte svůj datový model**: Relace si naplánujte před jejich vytvořením
* **Zvažte směr**: Promyslete, který objekt "vlastní" relaci
* **Vyhněte se cyklickým závislostem**: Udržujte svůj datový model čistý
### Pojmenovávání relací
* **Používejte jasné názvy**: Ať je zřejmé, co relace představuje
* **Buďte konzistentní**: Používejte podobné vzory pojmenování napříč relacemi
* **Zvažte obě strany**: Vhodně pojmenujte obě strany relace
### Výkon
* **Nepřehánějte to s relacemi**: Příliš mnoho relací může zpomalit váš pracovní prostor
## Omezení
* **Mazání relací** odstraní propojení, nikoli související záznamy
* **Cyklickým relacím** je třeba se kvůli integritě dat vyhnout