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 3s

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,61 @@
---
title: Vytvořte kalendářové zobrazení pro termíny úkolů
description: Zobrazte své úkoly a termíny v kalendáři.
---
<img src="/images/user-guide/views/calendar-view-zoom.png" style={{width:'100%'}} />
## Předpoklady
Váš objekt Úkoly potřebuje pole **Termín** (typ Datum nebo Datum a čas).
## Postup
1. Přejděte na **Úkoly**
2. Klikněte na rozbalovací nabídku zobrazení → **+ Přidat zobrazení**
3. Pojmenujte své zobrazení (např. "Kalendář úkolů")
4. Klikněte na **Vytvořit**
5. Klikněte na **Možnosti** a jako rozvržení vyberte **Kalendář**
6. Vyberte jako datumové pole **Termín**
7. Klikněte na **Uložit**
## Konfigurace kalendáře
### Zobrazení polí v událostech
1. Klikněte na **Možnosti → Pole**
2. Kliknutím na **ikonu oka** zobrazíte/skryjete pole
3. Přetažením změňte pořadí
Doporučená pole k zobrazení:
* **Název** — název úkolu
* **Přiřazený** — odpovědná osoba
* **Stav** — aktuální průběh
### Filtrování kalendáře
Vytvořte cílená zobrazení:
* **Moje úkoly**: Filtrujte podle Přiřazený = Já
* **Tento týden**: Filtrujte podle Termín = Tento týden
* **Po termínu**: Filtrujte podle termínu < Dnes, Stav ≠ Dokončeno
## Další případy použití kalendáře
| Objekt | Pole datumu | Účel |
| ---------------- | -------------- | ------------------------------- |
| Příležitosti | Datum uzavření | Sledování očekávaných uzavření |
| Vlastní události | Datum události | Plánování aktivit |
| Projekty | Termín | Sledování harmonogramů projektů |
## Tipy
* **Kontrolujte každý týden**: Každý týden začněte kontrolou zobrazení kalendáře
* **Kombinujte s tabulkovým zobrazením**: Kalendář použijte pro přehled, tabulku pro podrobnosti
* **Nastavte viditelnost**: Osobní kalendáře úkolů ponechte jako Unlisted
## Související
* [Zobrazení kalendáře](/l/cs/user-guide/views-pipelines/capabilities/calendar-view) — všechny funkce kalendáře
* [Filtry a řazení](/l/cs/user-guide/views-pipelines/capabilities/filters-and-sorting) — filtrujte svůj kalendář

View File

@@ -0,0 +1,80 @@
---
title: Vytvořte kanbanové zobrazení pro projekty
description: Sledujte projekty napříč fázemi pomocí vizuální nástěnky.
---
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
Použijte kanbanové zobrazení k vizualizaci svých projektů (nebo jakéhokoli objektu s fázemi) jako karet, které se přesouvají mezi sloupci.
<VimeoEmbed videoId="927888627" title="Ukázka videa" />
## Předpoklady
Váš objekt potřebuje **pole Výběr**, které se použije jako sloupce (např. Stav, Fáze, Etapa).
Pokud jej nemáte:
1. Přejděte do **Nastavení → Datový model**
2. Vyberte objekt
3. Přidejte pole typu Výběr s možnostmi fází
## Postup
1. Přejděte na svůj objekt (např. Projekty, Úkoly)
2. Klikněte na rozbalovací nabídku zobrazení → **+ Přidat zobrazení**
3. Pojmenujte své zobrazení (např. "Projektová nástěnka")
4. Klikněte na **Vytvořit**
5. Klikněte na **Možnosti** a jako rozvržení vyberte **Kanban**
6. Zobrazení automaticky použije vaše pole Výběr pro sloupce
7. Klikněte na **Uložit**
## Nakonfigurujte svou nástěnku
### Zobrazte klíčová pole na kartách
1. Klikněte na **Možnosti → Pole**
2. Vyhledejte pole v sekci "Skrytá pole"
3. Kliknutím na **ikonu oka** je zobrazíte na kartách
4. Přetažením změňte pořadí
<img src="/images/user-guide/kanban-views/filter.png" style={{width:'100%'}} />
### Povolit kompaktní zobrazení
Pro souhrnný přehled:
1. Klikněte na **Možnosti**
2. Zapněte **Kompaktní zobrazení**
Karty zobrazují pouze název záznamu.
<img src="/images/user-guide/kanban-views/compact-view.png" style={{width:'100%'}} />
### Přidejte agregace
Zobrazte počty nebo součty v horní části každého sloupce:
1. Klikněte na číslo vedle názvu sloupce
2. Vyberte typ agregace (Počet, Součet atd.)
3. V případě potřeby vyberte pole
## Přesouvání karet
Přetažením karet mezi sloupci aktualizujte jejich stav.
<VimeoEmbed videoId="927888627" title="Ukázka videa" />
## Příklad: Nástěnka úkolů
| Sloupec (Stav) | Karty |
| ---------------- | ----------------- |
| **K vyřízení** | Nové úkoly |
| **Rozpracováno** | Aktivní práce |
| **Ke kontrole** | Čeká na schválení |
| **Hotovo** | Dokončeno |
## Související
* [Kanban zobrazení](/l/cs/user-guide/views-pipelines/capabilities/kanban-views) — agregace, kompaktní zobrazení, fáze
* [Jak nastavit prodejní pipeline](/l/cs/user-guide/views-pipelines/how-tos/set-up-a-sales-pipeline) — Kanban pro příležitosti

View File

@@ -0,0 +1,51 @@
---
title: Vytvořte tabulkové zobrazení se seskupením
description: Uspořádejte své záznamy do sbalitelných skupin podle hodnoty pole.
---
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
Seskupte své tabulkové zobrazení podle pole Select, abyste uspořádali záznamy do sbalitelných sekcí.
<img src="/images/user-guide/table-views/table-group-by.png" style={{width:'100%'}} />
## Postup
1. Přejděte k objektu (Lidé, Společnosti, atd.)
2. Klikněte na rozbalovací nabídku zobrazení → **+ Přidat zobrazení**
3. Pojmenujte své zobrazení (např. "Společnosti podle typu")
4. Klikněte na **Vytvořit**
5. Klikněte na **Možnosti → Seskupení**
6. Zvolte pole Select, podle kterého chcete seskupovat
7. Klikněte na **Uložit**
## Konfigurace pořadí skupin
V části **Možnosti → Seskupení → Seřadit** zvolte, jak budou skupiny seřazeny:
| Možnost | Popis |
| --------------------- | --------------------------------------------------------------------- |
| **Abecedně** | A až Z |
| **Obráceně abecedně** | Z až A |
| **Ruční pořadí** | Přetáhněte skupiny a změňte jejich pořadí v části "Viditelné skupiny" |
Klikněte na **ikonu oka** vedle skupiny a skryjte ji ze zobrazení.
<Note>
**Pro nejlepší výkon omezte počet viditelných skupin na 10-15.** Pokud jich potřebujete více, zvažte místo toho použití Dashboardu.
</Note>
## Příklad: Společnosti podle odvětví
1. Přejděte na **Společnosti**
2. Vytvořte nové zobrazení s názvem "Podle odvětví"
3. Klikněte na **Možnosti → Seskupení**
4. Vyberte pole **Odvětví**
5. Uložit
Nyní jsou vaše společnosti uspořádány podle odvětví, takže se můžete snadno soustředit vždy na jeden segment.
## Související
* [Tabulková zobrazení](/l/cs/user-guide/views-pipelines/capabilities/table-views) — všechny funkce tabulkových zobrazení
* [Filtry a řazení](/l/cs/user-guide/views-pipelines/capabilities/filters-and-sorting) — kombinujte seskupení s filtry

View File

@@ -0,0 +1,32 @@
---
title: Omezit přístup k vašemu zobrazení
description: Ovládejte, kdo může vidět vaše vlastní zobrazení.
---
Každé zobrazení (s výjimkou výchozích zobrazení "All [Object Name]") má své vlastní nastavení viditelnosti.
## Postup
1. Otevřete zobrazení, které chcete omezit
2. Klikněte na **Možnosti** v pravém horním rohu
3. Klikněte na **Viditelnost**
4. Vyberte **Neveřejné**
Vaše zobrazení je nyní viditelné pouze pro vás.
## Možnosti viditelnosti
| Nastavení | Kdo může vidět |
| -------------------- | ----------------------------------- |
| **Pracovní prostor** | Všichni členové pracovního prostoru |
| **Neveřejné** | Pouze vy |
## Poznámky
* Výchozí zobrazení "All [Object Name]" nelze nastavit jako neveřejná
* Neveřejná zobrazení se nezobrazují v rozbalovacích nabídkách zobrazení ostatních uživatelů
* Viditelnost můžete kdykoli změnit zpět na Pracovní prostor
## Související
* [Nastavení zobrazení](/l/cs/user-guide/views-pipelines/capabilities/view-settings) — všechny možnosti konfigurace zobrazení

View File

@@ -0,0 +1,120 @@
---
title: Nastavte prodejní pipeline
description: Nakonfigurujte svou prodejní pipeline pro sledování příležitostí napříč fázemi.
---
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
Prodejní pipeline v Twenty je kanbanové zobrazení vašeho objektu Příležitosti, kde každý sloupec představuje fázi ve vašem prodejním procesu.
## Krok 1: Nakonfigurujte své fáze
Fáze jsou definovány v objektu Příležitosti v poli **Stage**.
1. Přejděte na **Nastavení → Datový model**
2. Vyberte **Příležitosti**
3. Najděte a klikněte na pole **Stage**
4. Přidejte, odeberte nebo přejmenujte fáze tak, aby odpovídaly vašemu procesu
<VimeoEmbed videoId="927890428" title="Ukázka videa" />
### Doporučené fáze
| Fáze | Účel |
| ----------------------- | -------------------------------- |
| **Nový** | Nově identifikované příležitosti |
| **Kvalifikovaný** | Potvrzeno jako vhodné |
| **Schůzka** | Probíhají jednání |
| **Nabídka** | Nabídka odeslána |
| **Vyjednávání** | Dolaďování podmínek |
| **Uzavřeno – vyhráno** | Obchod úspěšný |
| **Uzavřeno – prohráno** | Obchod neúspěšný |
<Note>
**5-7 fází je optimální.** Příliš mnoho fází ztíží ropovod ke skenování; příliš málo ztratí viditelnost na průběh jednání.
</Note>
## Krok 2: Vytvořte zobrazení pipeline
1. Přejděte na **Příležitosti**
2. Klikněte na rozbalovací nabídku zobrazení → **+ Přidat zobrazení**
3. Pojmenujte jej "Sales Pipeline"
4. Klikněte na **Vytvořit**
5. Otevřete **Možnosti** a jako rozvržení vyberte **Kanban**
Zobrazení automaticky používá pro sloupce pole Stage.
## Krok 3: Nakonfigurujte své zobrazení
### Zobrazte klíčová pole
1. Klikněte na **Možnosti → Pole**
2. Vyhledejte pole v sekci "Skrytá pole"
3. Klikněte na **ikonu oka** a zobrazte: Společnost, Částka, Datum uzavření, Vlastník
### Povolte agregace
Zobrazte součty v horní části každého sloupce:
1. Klikněte na číslo zobrazené vedle názvu fáze v horní části sloupce
2. Vyberte typ agregace (Počet, Součet, Průměr atd.)
3. Zvolte pole pro agregaci (např. Částka)
**Příklad:** Zobrazte celkovou hodnotu obchodu podle fází agregováním pole Částka pomocí součtu.
### Použít kompaktní zobrazení (volitelné)
Pro přehled na vysoké úrovni s minimálním obsahem karet:
1. Klikněte na **Možnosti**
2. Zapněte přepínač **Kompaktní zobrazení**
## Krok 4: Vytvořte osobní a týmová zobrazení
### "Moje pipeline"
* **Filtr**: Vlastník = Já
* **Viditelnost**: Neveřejné (osobní zobrazení)
### "Týmová pipeline"
* **Filtr**: Žádný (zobrazit vše)
* **Viditelnost**: Workspace (sdílené zobrazení)
### "Uzavření tento měsíc"
* **Typ**: Tabulka
* **Filtr**: Datum uzavření = Tento měsíc, Stage ≠ Closed Won, Stage ≠ Closed Lost
* **Řazení**: Datum uzavření vzestupně
## Práce s příležitostmi
### Vytváření příležitostí
* Klikněte na **+ New** v zobrazení Příležitostí
* Nebo klikněte na **+** ve sloupci konkrétní fáze
### Přesun mezi fázemi
Přetažením karet příležitostí mezi sloupci aktualizujte jejich fázi.
<VimeoEmbed videoId="927888627" title="Ukázka videa" />
## Osvědčené postupy
### Hygiena pipeline
* Denně aktualizujte obchody podle jejich postupu
* Zastaralé obchody rychle přesouvejte nebo uzavírejte
* Udržujte realistická data uzavření
### Disciplína fází
* Definujte jasná kritéria pro každou fázi
* Jakmile jsou kritéria splněna, obchody neprodleně přesouvejte
* Nenechávejte obchody ve fázích příliš dlouho
## Související
* [Kanban zobrazení](/l/cs/user-guide/views-pipelines/capabilities/kanban-views) — agregace a kompaktní zobrazení
* [Filtry a řazení](/l/cs/user-guide/views-pipelines/capabilities/filters-and-sorting) — tvorba filtrovaných zobrazení

View File

@@ -0,0 +1,149 @@
---
title: Zobrazte očekávanou částku ve své pipeline.
description: Vypočítejte a zobrazte vážené hodnoty obchodů na základě pravděpodobnosti fáze.
---
Očekávaná částka je vypočítaná hodnota: **Částka × Pravděpodobnost**. To vám pomůže předpovídat tržby vážením obchodů podle toho, jak pravděpodobné je, že se uzavřou.
<Tip>
Toto je příklad vytváření [Vzorcových polí](/l/cs/user-guide/workflows/how-tos/crm-automations/formula-fields) pomocí pracovních postupů.
</Tip>
Tento průvodce vás provede nastavením vlastních polí a pracovních postupů potřebných k výpočtu a zobrazení očekávaných částek ve vaší pipeline.
## Krok 1: Vytvořte vlastní pole
Na objektu Příležitosti potřebujete dvě vlastní pole.
### Vytvořte pole Pravděpodobnost
1. Přejděte do **Nastavení → Datový model → Příležitosti**
2. Klikněte na **+ Přidat pole**
3. Nakonfigurujte:
* **Název**: Pravděpodobnost
* **Typ**: Číslo
* **Popis**: Pravděpodobnost podle fáze (0–100 %)
4. Klikněte na **Uložit**
### Vytvořte pole Očekávaná částka
1. Klikněte na **+ Přidat pole**
2. Nakonfigurujte:
* **Název**: Očekávaná částka
* **Typ**: Měna
* **Popis**: Vypočteno: Částka × Pravděpodobnost
3. Klikněte na **Uložit**
### Volitelné: Nastavte pole pro uživatele jen pro čtení
Pokud nechcete, aby uživatelé ručně upravovali tato vypočtená pole:
1. Přejděte na **Nastavení → Členové → Role**
2. Vyberte roli k nastavení
3. Najděte objekt Příležitosti
4. Nastavte pole **Pravděpodobnost** a **Očekávaná částka** jako pouze pro čtení
Tím zajistíte, že tyto hodnoty mohou aktualizovat pouze pracovní postupy.
## Krok 2: Vytvořte pracovní postup č. 1 — Aktualizace pravděpodobnosti při změně fáze
Tento pracovní postup automaticky nastaví Pravděpodobnost, když se příležitost přesune do nové fáze.
### Vytvořte pracovní postup
1. Přejděte do **Pracovní postupy**
2. Klikněte na **+ Nový pracovní postup**
3. Pojmenujte ho "Aktualizace pravděpodobnosti při změně fáze"
### Nakonfigurujte spouštěč
1. Přidejte spouštěč **Záznam vytvořen nebo aktualizován**
2. Vyberte **Příležitosti** jako objekt
3. Filtr: pole **Fáze** je aktualizováno
### Přidejte větve pro každou fázi
Vytvořte větev pro každou fázi s její pravděpodobností:
| Fáze | Pravděpodobnost |
| ------------------- | --------------- |
| Nový | 10 % |
| Kvalifikovaný | 25 % |
| Schůzka | 40 % |
| Nabídka | 60 % |
| Vyjednávání | 80 % |
| Uzavřeno – vyhráno | 100 % |
| Uzavřeno – prohráno | 0% |
<Note>
Chcete-li vytvořit novou větev, klikněte pravým tlačítkem na plátno pracovního postupu a klikněte na **Nová akce**. Poté propojte tuto akci s předchozím uzlem přetažením šipky z předchozího uzlu na tuto novou akci.
</Note>
Pro každou fázi:
1. Přidejte uzel **Filtr**: Fáze = [název fáze]
2. Přidejte akci **Aktualizovat záznam**:
* Záznam: Spouštěcí příležitost
* Pole: Pravděpodobnost
* Hodnota: [pravděpodobnost pro danou fázi]
### Vypočítejte očekávanou částku
Poté, co se větve znovu spojí:
1. Přidejte uzel **Filtr**: Částka není prázdná
2. Přidejte akci **Aktualizovat záznam**:
* Záznam: Spouštěcí příležitost
* Pole: Očekávaná částka
* Hodnota: Částka × Pravděpodobnost
## Krok 3: Vytvořte pracovní postup č. 2 — Přepočet při změně částky
Tento pracovní postup aktualizuje Očekávanou částku, když se změní Částka u obchodu.
### Vytvořte pracovní postup
1. Přejděte do **Pracovní postupy**
2. Klikněte na **+ Nový pracovní postup**
3. Pojmenujte ho "Přepočítat očekávanou částku při změně částky"
### Nakonfigurujte spouštěč
1. Přidejte spouštěč **Záznam vytvořen nebo aktualizován**
2. Vyberte **Příležitosti** jako objekt
3. Filtr: pole **Částka** je aktualizováno
### Přidejte logiku
1. Přidejte uzel **Filtr**: Částka není prázdná
2. Přidejte akci **Aktualizovat záznam**:
* Záznam: Spouštěcí příležitost
* Pole: Očekávaná částka
* Hodnota: Částka × Pravděpodobnost
## Krok 4: Zobrazte ve své pipeline
Nyní zobrazte součty očekávané částky ve svém zobrazení Kanban:
1. Otevřete si zobrazení Kanban pro svou prodejní pipeline
2. Klikněte na **číslo** vedle názvu libovolné fáze v horní části sloupce
3. Vyberte **Součet**
4. Vyberte **Očekávaná částka**
Každý sloupec nyní zobrazuje celkovou váženou hodnotu pipeline pro danou fázi.
## Souhrn
| Komponenta | Účel |
| ------------------------- | ----------------------------------------------------------------------------- |
| **Pole Pravděpodobnost** | Ukládá pravděpodobnost výhry podle fáze |
| **Pole Očekávaná částka** | Ukládá Částka × Pravděpodobnost |
| **Pracovní postup č. 1** | Aktualizuje Pravděpodobnost při změně Fáze a poté přepočítá Očekávanou částku |
| **Pracovní postup č. 2** | Přepočítá Očekávanou částku při změně Částky |
| **Agregace** | Zobrazuje součet očekávané částky pro každou fázi |
## Související
* [Vzorcová pole](/l/cs/user-guide/workflows/how-tos/crm-automations/formula-fields) — vytvářejte vypočtená pole pomocí pracovních postupů
* [Zobrazení Kanban](/l/cs/user-guide/views-pipelines/capabilities/kanban-views) — agregace sloupců
* [Jak vytvořit vlastní pole](/l/cs/user-guide/data-model/how-tos/create-custom-fields) — konfigurace polí

View File

@@ -0,0 +1,231 @@
---
title: Sledujte, jak dlouho obchodní příležitosti zůstávají v jednotlivých fázích.
description: Sledujte tempo obchodů tím, že budete zaznamenávat, kdy obchodní příležitosti vstupují do jednotlivých fází.
---
<Tip>
Toto je příklad vytváření [Vzorcová pole](/l/cs/user-guide/workflows/how-tos/crm-automations/formula-fields) pomocí pracovních postupů — konkrétně výpočtů dat.
</Tip>
Sledování, kdy obchodní příležitosti vstupují do jednotlivých fází, pomáhá identifikovat úzká místa a měřit tempo obchodů.
Tento průvodce vás provede nastavením vlastních polí a pracovního postupu, který automaticky zaznamená, kdy obchodní příležitost přejde do každé fáze, a spočítá, kolik dní strávila v předchozí fázi.
## Krok 1: Vytvořte vlastní pole
Pro každou fázi potřebujete dva typy polí:
* **Pole Datum a čas**: zaznamenávají, kdy obchodní příležitost vstoupila do jednotlivých fází
* **Číselná pole**: ukládají, kolik dní obchodní příležitost strávila v jednotlivých fázích
### Vytvořte pole "Poslední vstup"
1. Přejděte do **Nastavení → Datový model → Obchodní příležitosti**
2. U každé fáze klikněte na **+ Přidat pole** a nastavte:
* **Název**: Poslední vstup: [název fáze] (např. "Poslední vstup: Nová", "Poslední vstup: Kvalifikace")
* **Typ**: Datum a čas
* **Popis**: Časové razítko, kdy obchodní příležitost vstoupila do této fáze
3. Klikněte na **Uložit**
Vytvořte tato pole:
* Poslední vstup: Nová
* Poslední vstup: Kvalifikace
* Poslední vstup: Schůzka
* Poslední vstup: Nabídka
* Poslední vstup: Vyjednávání
* Poslední vstup: Uzavřeno – vyhráno
* Poslední vstup: Uzavřeno – prohráno
### Vytvořte pole "Dny ve fázi"
1. U každé fáze klikněte na **+ Přidat pole** a nastavte:
* **Název**: Dny v [názvu fáze] (např. "Dny v Nové", "Dny v Kvalifikaci")
* **Typ**: Číslo
* **Popis**: Počet dní strávených v této fázi
2. Klikněte na **Uložit**
Vytvořte tato pole:
* Dny v Nové
* Dny v Kvalifikaci
* Dny ve Schůzce
* Dny v Nabídce
* Dny ve Vyjednávání
<Note>
Pole "Dny v" pro Uzavřeno – vyhráno a Uzavřeno – prohráno nepotřebujete, protože to jsou konečné fáze.
</Note>
### Volitelné: Nastavte pole jen pro čtení
Nechcete-li, aby uživatelé ručně upravovali tato vypočítávaná pole:
1. Přejděte na **Nastavení → Členové → Role**
2. Vyberte roli k nastavení
3. Najděte objekt Obchodní příležitosti
4. Nastavte pole "Poslední vstup" a "Dny v" jako jen pro čtení
## Krok 2: Vytvořte pracovní postup
Tento jediný pracovní postup zvládne obě úlohy:
* Zaznamená časové razítko při vstupu do nové fáze
* Spočítá dny strávené v předchozí fázi
### Vytvořte pracovní postup
1. Přejděte do **Pracovních postupů**
2. Klikněte na **+ Nový pracovní postup**
3. Pojmenujte ho "Sledování času ve fázích"
### Nakonfigurujte spouštěč
1. Přidejte spouštěč **Záznam aktualizován**
2. Vyberte **Obchodní příležitosti** jako objekt
3. Filtrovat: pole **Fáze** je aktualizováno
### Přidejte větve pro každou fázi
<Note>
Chcete-li vytvořit novou větev, klikněte pravým tlačítkem na plátno pracovního postupu a klikněte na **Nová akce**. Poté propojte tuto akci s předchozím uzlem přetažením šipky z předchozího uzlu na tuto novou akci.
</Note>
---
**Větev 1: Fáze = Nová (první fáze)**
Protože se jedná o první fázi, zaznamenává se pouze časové razítko vstupu — neexistuje žádná předchozí fáze, ze které by bylo možné provádět výpočet.
1. Přidejte uzel **Filtr**: Fáze = Nová
2. Přidejte akci **Kód**:
```javascript
export const main = async (): Promise<object> => {
return { now: new Date().toISOString() };
};
```
3. Přidejte akci **Aktualizovat záznam**:
* Záznam: Spouštěcí obchodní příležitost
* Pole: Poslední vstup: Nová
* Hodnota: `now` z uzlu Kód
---
**Větev 2: Fáze = Kvalifikace**
Při přesunu do Kvalifikace zaznamenejte čas vstupu A spočítejte dny strávené v Nové.
1. Přidejte uzel **Filtr**: Fáze = Kvalifikace
2. Přidejte akci **Kód**:
```javascript
export const main = async (params: {
lastEnteredPreviousStage: Date;
}): Promise<object> => {
const { lastEnteredPreviousStage } = params;
const now = new Date();
const entryDate = new Date(lastEnteredPreviousStage);
const diffTime = Math.abs(now.getTime() - entryDate.getTime());
const daysInPreviousStage = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
return {
now: now.toISOString(),
daysInPreviousStage: daysInPreviousStage
};
};
```
3. Nakonfigurujte vstup uzlu Kód: namapujte `lastEnteredPreviousStage` na pole **Poslední vstup: Nová**
4. Přidejte akci **Aktualizovat záznam**:
* Záznam: Spouštěcí obchodní příležitost
* Pole k aktualizaci:
* Poslední vstup: Kvalifikace = `now`
* Dny v Nové = `daysInPreviousStage`
---
**Větev 3: Fáze = Schůzka**
Při přesunu do Schůzky zaznamenejte čas vstupu A spočítejte dny strávené v Kvalifikaci.
1. Přidejte uzel **Filtr**: Fáze = Schůzka
2. Přidejte akci **Kód**:
```javascript
export const main = async (params: {
lastEnteredPreviousStage: Date;
}): Promise<object> => {
const { lastEnteredPreviousStage } = params;
const now = new Date();
const entryDate = new Date(lastEnteredPreviousStage);
const diffTime = Math.abs(now.getTime() - entryDate.getTime());
const daysInPreviousStage = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
return {
now: now.toISOString(),
daysInPreviousStage: daysInPreviousStage
};
};
```
3. Nakonfigurujte vstup uzlu Kód: namapujte `lastEnteredPreviousStage` na pole **Poslední vstup: Kvalifikace**
4. Přidejte akci **Aktualizovat záznam**:
* Záznam: Spouštěcí obchodní příležitost
* Pole k aktualizaci:
* Poslední vstup: Schůzka = `now`
* Dny v Kvalifikaci = `daysInPreviousStage`
---
**Pokračujte pro zbývající fáze:**
| Fáze | Záznamy | Počítá |
| ------------------- | ----------------------------------- | ------------------ |
| Nabídka | Poslední vstup: Nabídka | Dny ve Schůzce |
| Vyjednávání | Poslední vstup: Vyjednávání | Dny v Nabídce |
| Uzavřeno – vyhráno | Poslední vstup: Uzavřeno – vyhráno | Dny ve Vyjednávání |
| Uzavřeno – prohráno | Poslední vstup: Uzavřeno – prohráno | Dny ve Vyjednávání |
Větve není nutné znovu spojovat — každá se spouští nezávisle, když je splněna podmínka pro danou fázi.
## Krok 3: Analyzujte čas ve fázi
S zaznamenanými časovými razítky a počty dní můžete nyní analyzovat tempo obchodů.
### Vytvořte zobrazení "Pomalé obchody"
1. Vytvořte tabulkové zobrazení Obchodních příležitostí
2. Přidejte sloupce: Název, Fáze, Dny v [předchozí fázi], Částka
3. Seřaďte podle pole "Dny v" (sestupně)
4. Filtrujte podle Fáze, abyste se zaměřili vždy na jednu fázi
Obchody nahoře strávily v předchozí fázi nejvíce času.
### Použijte agregace
V kanbanovém zobrazení vašeho pipeline:
1. Klikněte na číslo vedle názvu fáze
2. Vyberte **Průměr**
3. Zvolte pole "Dny v"
Tím zobrazíte průměrný čas, který obchody tráví v jednotlivých fázích.
## Souhrn
| Součást | Účel |
| ------------------------- | ----------------------------------------------------------------- |
| **Pole "Poslední vstup"** | Ukládají, kdy obchodní příležitost vstoupila do jednotlivých fází |
| **Pole "Dny v"** | Ukládají, kolik dní bylo stráveno v jednotlivých fázích |
| **Pracovní postup** | V jednom kroku zaznamená časové razítko A spočítá dny |
| **Zobrazení a agregace** | Analyzujte tempo obchodů a identifikujte úzká místa |
## Související
* [Pracovní postupy](/l/cs/user-guide/workflows/overview) — základy automatizace
* [Jak vytvořit vlastní pole](/l/cs/user-guide/data-model/how-tos/create-custom-fields) — konfigurace polí
* [Kanbanová zobrazení](/l/cs/user-guide/views-pipelines/capabilities/kanban-views) — agregace