> ## Documentation Index
> Fetch the complete documentation index at: https://www.twicecommerce.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Návrhové vzorce

> Hrstka strukturálních UI vzorců, které TWICE opakuje všude: tabulky, karty, atributy, vztahy a oprávnění.

<Snippet file="definitions/cs/design-patterns-definition.mdx" />

Malá sada návrhových vzorců se opakuje napříč každou částí TWICE. Jakmile víte, jak funguje detailní stránka skladové položky, už víte, jak funguje objednávka, zákazník i inzerát. Tato stránka je mapou.

## Datové tabulky

Výchozím zobrazením pro každý zdroj v TWICE je datová tabulka. Zásoby, katalog, objednávky, zákazníci, kolekce: všechny používají stejnou komponentu se stejným panelem nástrojů.

**Klíčové funkce**

| Funkce | Chování |
| :- | :- |
| **Vyhledávání** | Fulltextové vyhledávání napříč všemi hodnotami, viditelnými i skrytými sloupci |
| **Filtr** | Více filtrovacích podmínek kombinovaných pomocí AND; operátory odpovídají tomu, co dokáže zodpovědět backend |
| **Řazení** | Kliknutím na záhlaví libovolného sloupce seřadíte vzestupně nebo sestupně |
| **Seskupení** | Sbalte řádky vždy podle jednoho sloupce, vybraného ze sloupců, které daná tabulka pro seskupení nabízí |
| **Ovládání sloupců** | Zobrazení, skrytí, přeuspořádání, připnutí a změna velikosti sloupců |
| **Hustota** | Tři výšky řádků: kompaktní, standardní, pohodlná |
| **Export** | Export aktuálního zobrazení do CSV: respektuje filtry a viditelné sloupce |

**Uložená zobrazení**

Uložte filtry tabulky, její řazení, seskupení a nastavení sloupců jako **zobrazení tabulky**.

* Ukládejte zobrazení pro osobní použití nebo je sdílejte s týmem
* Přepínejte mezi zobrazeními pomocí selektoru zobrazení v horní části tabulky
* Nastavte výchozí zobrazení pro každou tabulku
* Duplikujte nebo přejmenujte existující zobrazení

Zobrazení se ukládají per uživatel a per tabulka; sdílení zobrazení jej zpřístupní vašemu týmu, aniž by ho museli používat.

**Časově citlivé funkce**

Tabulky zásob obsahují v panelu nástrojů výběr data. Volba data nebo časového rozsahu znovu vykreslí tabulku tak, aby zobrazovala stav zásob v daném okamžiku, v minulosti nebo budoucnosti.

* **Kontroly dostupnosti**: co je volné v konkrétním okně pronájmu
* **Historické reporty**: co bylo rezervováno v daný den
* **Prognózy**: predikované využití

> [!NOTE]
>
> Vzorec tabulky je konzistentní napříč zásobami, katalogem, objednávkami, zákazníky a kolekcemi. Naučíte se ho jednou a platí všude.

Více informací: [Tabulky](https://www.twicecommerce.com/docs/cs/admin/tables.md) · [Vzorce používání](https://www.twicecommerce.com/docs/cs/concepts/repeating-patterns/usage-patterns.md)

## Detailní stránky s kartami

Kliknutím na řádek v libovolné tabulce se dostanete na její detailní stránku. Detailní stránky mají konzistentní rozvržení: záhlaví s identifikačními poli entity a hlavními akcemi, poté horizontální pruh karet pro vše ostatní.

Sada karet se liší podle typu entity, ale řídí se předvídatelným rytmem:

| Entita | Karty |
| :- | :- |
| Skladová položka | Obecné · Atributy · Příjmy a výdaje · Vyřízení · Dokumenty · Události · Protokol aktivit |
| SKU | Obecné · Atributy · Skladové položky · Dokumenty · Protokol aktivit |
| Inzerát | Obecné · Atributy · Ceny · Marketing · Varianty · Dokumenty · Publikování · Protokol aktivit |
| Zákazník | Obecné · Atributy · Objednávky · Skladové položky · Dokumenty · Protokol aktivit |
| Objednávka | Souhrn · Řádkové položky · Zákazníci · Skladové položky · Vyřízení a vrácení · Platby · Komentáře · Dokumenty · Protokol aktivit |
| Lokalita | Kontakt · Časové pásmo · Vyřízení · Prodejní kanály · Otevírací doba · E-maily · Dokumenty |

Dvě karty se objevují téměř všude:

* **Atributy**: vlastní pole organizovaná podle [Skupiny atributů](https://www.twicecommerce.com/docs/cs/concepts/admin/attribute-groups.md)
* **Protokol aktivit**: auditní stopa na úrovni požadavků omezená na tuto entitu

Pořadí karet, štítky i viditelnost respektují oprávnění uživatele: karty, ke kterým uživatel nemá přístup, jsou skryté, ne jen zašedlé.

## Postranní panel vs. celá stránka

Pro lehké vytváření a úpravy používá TWICE **postranní panel**, který se vysune zprava. Postranní panel vás ponechá na aktuálním seznamu, takže neztratíte kontext. Náročnější postupy, jako přidání lokality nebo konfigurace inzerátu, otevírají **editor na celé stránce**, protože potřebují více místa a rozpadají se do vlastní struktury karet.

Základní pravidla:

| Vzorec | Kdy |
| :- | :- |
| **Postranní panel** | Úpravy jednoho formuláře, rychlé vytváření, konfigurace atributu |
| **Modální dialog** | Potvrzení, mazání, jednoduché dvoupolní formuláře |
| **Celá stránka** | Vícekartové editory (lokalita, inzerát), postupy s více sekcemi |

## Systém atributů

Každá entita může nést vlastní pole prostřednictvím [Atributů](https://www.twicecommerce.com/docs/cs/concepts/admin/attributes.md). Sada formátů je pevná: text, číslo, boolean, datum, datum a čas, výběr, vícenásobný výběr a vzorec, ale u každého zdroje můžete definovat tolik atributů, kolik potřebujete.

### Kde se atributy projevují

| Kontext | Chování |
| :- | :- |
| Datové tabulky | Zobrazují se jako filtrovatelné a řaditelné sloupce |
| Detailní stránky | Editovatelná pole na kartě Atributy, seskupená podle Skupiny atributů |
| Exporty | Viditelné sloupce atributů zahrnuté v CSV |
| Workflow | Dostupné jako podmínky spouštěče a cíle akcí |
| API | Vráceno v mapě `attributes` u každého záznamu |

Více informací: [Atributy](https://www.twicecommerce.com/docs/cs/concepts/admin/attributes.md) · [Skupiny atributů](https://www.twicecommerce.com/docs/cs/concepts/admin/attribute-groups.md)

## Modely vztahů

TWICE organizuje obchodní data do čtyř propojených typů aktiv. Každý odkazuje na ostatní, žádné silo neexistuje.

```mermaid theme={null}
%%{init: {'flowchart': {'nodeSpacing': 30, 'rankSpacing': 50}}}%%
flowchart LR
    subgraph Inventory["Zásoby"]
        SKU["SKU"]
        StockItem["Skladová položka"]
    end

    subgraph Catalog["Katalog"]
        Listing["Inzerát"]
        Collection["Kolekce"]
    end

    subgraph Orders["Objednávky"]
        Order["Objednávka"]
        LineItem["Řádková položka"]
    end

    subgraph Customers["Zákazníci"]
        Customer["Zákazník"]
    end

    SKU -->|"sledováno jako"| StockItem
    SKU -->|"prezentováno jako"| Listing
    Listing -->|"seskupeno do"| Collection
    Customer -->|"zadává"| Order
    Order -->|"obsahuje"| LineItem
    LineItem -->|"rezervuje"| StockItem
    LineItem -->|"odkazuje na"| Listing

    style Inventory fill:#3b82f633,stroke:#3b82f6,stroke-width:2px
    style Catalog fill:#10b98133,stroke:#10b981,stroke-width:2px
    style Orders fill:#f59e0b1a,stroke:#f59e0b,stroke-width:2px
    style Customers fill:#a855f71a,stroke:#a855f7,stroke-width:2px
    style SKU fill:#3b82f61a,stroke:#3b82f6,stroke-width:1px
    style StockItem fill:#3b82f61a,stroke:#3b82f6,stroke-width:1px
    style Listing fill:#10b9811a,stroke:#10b981,stroke-width:1px
    style Collection fill:#10b9811a,stroke:#10b981,stroke-width:1px
    style Order fill:#f59e0b1a,stroke:#f59e0b,stroke-width:1px
    style LineItem fill:#f59e0b1a,stroke:#f59e0b,stroke-width:1px
    style Customer fill:#a855f71a,stroke:#a855f7,stroke-width:1px
```

| Vztah | Směr | Popis |
| :- | :- | :- |
| SKU > Skladová položka | Jedna ku více | SKU definuje produkt; skladové položky jsou fyzické jednotky |
| SKU > Inzerát | Jedna ku jedné | Inzerát prezentuje SKU zákazníkům |
| Inzerát > Kolekce | Více ku více | Inzeráty seskupené do kolekcí pro merchandising |
| Zákazník > Objednávka | Jedna ku více | Zákazník v čase zadává objednávky |
| Objednávka > Řádková položka | Jedna ku více | Objednávka obsahuje řádkové položky |
| Řádková položka > Skladová položka | Jedna ku jedné | Řádková položka rezervuje konkrétní skladovou položku |
| Řádková položka > Inzerát | Více ku jedné | Řádková položka odkazuje na inzerát, který zákazník vybral |

Díky těmto vztahům můžete přejít z libovolné entity na její související záznamy: skladová položka zobrazuje SKU, ke kterému patří, inzerát, který ji prezentuje, a každou objednávku, která ji rezervovala.

## Status a stav

Každá klíčová entita nese **status** (fáze životního cyklu) a většina nese také **stav** (provozní podmínka). Hodnoty jsou specifické pro danou entitu, nejsou univerzální:

| Entita | Hodnoty statusu | Hodnoty stavu |
| :- | :- | :- |
| Skladová položka | Aktivní / Neaktivní / Koncept | U vás / U zákazníka |
| Objednávka | Nevyřízeno / Koncept / Otevřeno / Aktivní / Uzavřeno | Stavy platby a vyřízení (štítky) |
| Inzerát | Veřejné / Koncept | — |

Archivováno není u žádné z nich hodnotou statusu. Zda je aktivum archivováno, je samostatná osa, kterou sdílí každé hlavní aktivum. Viz [Archivace a mazání](https://www.twicecommerce.com/docs/cs/concepts/repeating-patterns/archiving-and-deletion.md).

Více informací: [Status a stav](https://www.twicecommerce.com/docs/cs/concepts/repeating-patterns/status-vs-state.md) · [Status skladové položky](https://www.twicecommerce.com/docs/cs/concepts/inventory/stock-item-status.md)

## Hromadné akce

Většina tabulek podporuje výběr řádků přes nejlevější sloupec se zaškrtávacími políčky. Výběr jednoho nebo více řádků zobrazí panel hromadných akcí:

* **Upravit**: aplikuje stejnou změnu atributu na každý vybraný řádek
* **Štítkovat / Odebrat štítek**: hromadně přidá nebo odebere štítky
* **Archivovat**: vyřadí vybrané záznamy z používání, po kontrole toho, co archivace ovlivní
* **Smazat**: dostupné v archivovaném zobrazení v [Nastavení → Archivovaná aktiva](https://www.twicecommerce.com/docs/cs/settings/archived-assets.md); odstranění záznamu kdekoli jinde jej archivuje
* **Export**: exportuje vybrané řádky jako CSV

Hromadné akce respektují oprávnění: uživatelé bez odpovídajícího rozsahu panel hromadných akcí nevidí.

## Vrstvy oprávnění

Řízení přístupu kombinuje tři nezávislé vrstvy:

| Vrstva | Řídí | Hodnoty |
| :- | :- | :- |
| **Role** | Základní úroveň oprávnění | Vlastník, Administrátor, Manažer, Člen |
| **Viditelnost** | Které sekce, tabulky a karty jsou viditelné | Přepínače pro jednotlivé sekce |
| **Úroveň přístupu** | Jaké operace jsou povoleny na viditelných datech | Správa (plné CRUD) nebo Úprava (čtení a aktualizace) |

Efektivní oprávnění uživatele jsou průnikem všech tří. Vzorec platí jednotně: zásoby, katalog, objednávky, zákazníci i nastavení používají stejný model.

> [!NOTE]
>
> Karty a hromadné akce se automaticky skryjí, místo aby se vykreslily jako neaktivní. Pokud funkce není vidět, zkontrolujte roli a nastavení viditelnosti uživatele, než usoudíte, že funkce chybí.

## Příklad: jak se vzorce kombinují

Standardní odpověď API pro skladovou položku zobrazuje výše uvedené vzorce v jednom payloadu: identitu pro datovou tabulku, vlastní atributy, související reference, status životního cyklu a oprávnění uživatele k jeho úpravě.

```json theme={null}
{
  "id": "stk_abc123",
  "skuId": "sku_xyz789",
  "status": "active",
  "binLocation": "A-12",
  "serviceLocationId": "loc_def456",
  "attributes": {
    "attr_color": "Navy",
    "attr_condition": "good",
    "attr_serialNumber": "BK-2024-0011"
  },
  "sku": {
    "id": "sku_xyz789",
    "name": "Classic Jacket",
    "code": "JCK-CLS"
  },
  "tags": [{ "id": "tag_winter", "name": "Winter pool" }],
  "createdAt": "2026-01-15T09:22:00.000Z"
}
```

Odpověď nese vše, co jste viděli v UI: identitu entity, její [atributy](https://www.twicecommerce.com/docs/cs/concepts/admin/attributes.md), její vztahy k SKU a lokalitě, její [status](https://www.twicecommerce.com/docs/cs/concepts/inventory/stock-item-status.md) životního cyklu a štítky, které na ni byly použity.

## Související články

> **[Tabulky](https://www.twicecommerce.com/docs/cs/admin/tables.md)**
>
> Funkce a operace datové tabulky

> **[Atributy](https://www.twicecommerce.com/docs/cs/concepts/admin/attributes.md)**
>
> Vlastní pole rozšiřující datový model

> **[Status a stav](https://www.twicecommerce.com/docs/cs/concepts/repeating-patterns/status-vs-state.md)**
>
> Matice statusu a stavu podle entity

> **[Vzorce používání](https://www.twicecommerce.com/docs/cs/concepts/repeating-patterns/usage-patterns.md)**
>
> Každodenní interakční vzorce

> **[Přístup OS](https://www.twicecommerce.com/docs/cs/concepts/os-approach)**
>
> Platformní filozofie za těmito vzorci

> **[Protokoly aktivit](https://www.twicecommerce.com/docs/cs/concepts/admin/activity-logs.md)**
>
> Auditní stopa na každé detailní stránce


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.