# Rozpisky – rozhraní aplikace, datový model a budoucí funkcionality Tento dokument popisuje **standalone aplikaci Rozpisky** z pohledu uživatele a dat: jaké má obrazovky, co se v nich vyplňuje, jaké akce nabízí a jak je vnitřně uspořádaný datový model. Navazuje na [`ROZPISKY.md`](ROZPISKY.md), který popisuje **vykreslovací/exportní jádro** (kreslicí rozhraní `IProfileRenderer`, čtečka DXF šablony `DxfTemplate`, exporty PNG/PDF/DXF). Aplikace je **standalone náhrada za původní excelový nástroj „Rozpisky 1.0.8"**. Z něj vychází veškerá logika rozhraní i datový model. Tento dokument je proto současně i **přepisem původního excelu** do podoby specifikace pro samostatnou aplikaci. > **Styl WPF se zde neřeší** – popisujeme rozhraní funkčně (obrazovky, pole, akce, tok dat). > Vizuální styl bude dodán samostatně. --- ## 1. Účel a vztah k `ROZPISKY.md` | Dokument | Co popisuje | |---|---| | [`ROZPISKY.md`](ROZPISKY.md) | **Jádro** – jak se kreslí a exportuje (DXF → obrazovka / PNG / PDF / DXF). | | `ROZHRANI.md` (tento) | **Aplikace** – uživatelské rozhraní, datový model (projekt + seznam příloh), akce a roadmapa. | | [`SZ_SM011_P10_Manual_v6.md`](SZ_SM011_P10_Manual_v6.md) | **Závazný manuál SŽ** (v06, 26. 1. 2026) – struktura dokumentace, **kódové označení** (kap. 3) a **popisové pole / pravidla vyplnění** (kap. 4). Autoritativní zdroj pro význam polí a kódu. | **Princip:** Uživatel jednou vyplní **údaje projektu** (společné všem výkresům) a postupně plní **seznam příloh** (jeden řádek = jeden výkres = jedna rozpiska). Aplikace každý řádek spojí s údaji projektu, naplní pole DXF šablony a umí jej zobrazit (náhled) a vyexportovat/vytisknout. **Standalone-first:** aplikace nevyžaduje AutoCAD. Vstup je **DXF šablona + data**, výstup **PNG / PDF / DXF** (engine z `ROZPISKY.md`). Integrace s AutoCADem (interop do `.dwg`, rozvržení, CTB, tisk plotterem) je vedena **jen jako budoucí rozšíření** – viz [sekce 8](#8-roadmapa-budoucích-funkcionalit). --- ## 2. Slovník pojmů | Pojem | Význam | |---|---| | **Rozpiska** | Rohové razítko výkresu – tabulka s údaji o projektu, příloze, autorech a revizích. | | **Příloha** | Jeden výkres / list dokumentace. V seznamu = jeden řádek. | | **Seznam příloh** | Tabulka všech příloh projektu (původní list `SEZNAM`). | | **Rozvržení (layout)** | Pojmenované rozvržení výkresu (v AutoCADu paper-space layout). Jméno se generuje z identifikace přílohy. | | **Orientační schéma** | Malé schéma v rozpisce naznačující polohu listu v rámci stavby (buňky `K1`–`K47`). | | **Placeholder loga** | Vyhrazené místo v šabloně pro logo (objednatele/zhotovitele). Leží na netisknutelné hladině. | | **Číselník** | Předvyplněný seznam hodnot (organizace, firmy, jména, profese, …) pro výběr v polích. | | **Projektové pole** | Hodnota společná celému projektu (z údajů projektu). | | **Řádkové pole** | Hodnota specifická pro jednu přílohu (ze seznamu příloh). | --- ## 3. Datový model Model 1:1 odpovídá listům původního excelu. Entity: ### 3.1 Projekt (původní list `ÚDAJE`) Údaje společné všem rozpiskám projektu. Část polí se **automaticky dohledává z číselníků** (v excelu přes `VLOOKUP`). | Pole | Popis | Zdroj | |---|---|---| | `stavba` | Název stavby / akce | ruční | | `HIP` | Hlavní inženýr projektu | ruční | | `investor` | Objednatel zakázky | číselník Organizace | | `investorAdresa` | Adresa objednatele | **auto** z č. Organizace | | `slozkaSZ` | Složka SŽ (zástupce objednatele) | ruční / číselník | | `slozkaSZAdresa` | Adresa složky SŽ | **auto** z č. Organizace | | `skod` | S-kód (číslo smlouvy dle SoD) | ruční | | `cisloZakazky` | Číslo zakázky | ruční | | `stupenDokumentace` | Stupeň dokumentace (např. DOS) | číselník Verze dokumentace | | `smluvniDatumZpracovani` | Smluvní datum zpracování | ruční (datum) | | `zhotovitelSOD` | Zhotovitel díla dle SoD | číselník Firmy | | `adresaSOD` | Adresa zhotovitele | **auto** z č. Firmy | | `telSOD` | Telefon zhotovitele | **auto** z č. Firmy | | `emailSOD` | E-mail zhotovitele | **auto** z č. Firmy | ### 3.2 Příloha (řádek v seznamu, původní list `SEZNAM`) Sloupce A–AD; jeden řádek = jedna rozpiska. Souhrn: | Sl. | Obsah | Sl. | Obsah | |---|---|---|---| | A | Označení části | O | Kontroloval (R1) | | B | Označení dílčí části / řady | P–U | R2–R4 + kdo revidoval | | C | Název objektu / dílčí části | V | Zhotovitel části | | D | Číslo objektu / komplexu | W | Měřítko | | E | Číslo přílohy – typ | X | Formát × A4 | | F | Číslo přílohy – dílčí | Y | Kraj | | G | Číslo přílohy – pořadí | Z | Katastrální území | | H | Název přílohy | AA | TUDU | | I | Název dílčí části přílohy | AB | **Jméno rozvržení** (generováno) | | J | Zkratka přílohy | AC | LTSCALE | | K | Vypracoval | AD | CTB (styl tisku) | | L | Odpovědný projektant | | | | M | Specialista | | | | N | Revize 1 (R1) | | | > **Jméno rozvržení** (`AB`) je **poloautomatické**, řízené zaškrtávacím polem **Příloha objektu** > (první sloupec seznamu, výchozí = zaškrtnuto): > - **zaškrtnuto** → jméno se generuje dle manuálu SŽ **kap. 2.7.7.9** (číslo objektu bez teček, > mezer a pomlček; složky podobjekt / typ / dílčí / pořadí přílohy oddělené `_`): > `SO131.45.01` + `D1` + `1` + `001` = `SO1314501_D1_1_001`; u podobjektu `SO1314501_01_D1_1_001`; > u skupiny `SK11311_D1_1_001`. Needituje se; > - **odškrtnuto** → uživatel zadá jméno ručně (při přepnutí se předvyplní vygenerovanou hodnotou). > > Slouží jako jméno layoutu / základ názvu exportovaného souboru. Řádky se shodným jménem rozvržení > (kolize názvu exportu) se v seznamu zvýrazní. > > Samostatné zaškrtávací pole **Rozpiska** (výchozí = zaškrtnuto) řídí, zda název PDF při exportu > dostane příponu `_rozpiska` (např. `SO1314501_D1_1_001_rozpiska.pdf`). Je nezávislé na polích > **Příloha objektu** a **Desky objektu** – i rozpiska na spisové desky objektu může příponu dostat, > pokud je pole zaškrtnuté. ### 3.3 Revize (původní list `REVIZE`) Tabulka revizí: **REVIZE** (kód/číslo verze, např. `000`), **DATUM**, **POPIS**, **KONTROLOVAL**. Na revize se odkazují řádkové revizní sloupce přílohy (R1–R4) a revizní pole v rozpisce. > **Revize jsou interní data projektu** – patří vždy ke **konkrétní zakázce**, ukládají se spolu > s projektem (ne do externí číselníkové databáze, viz [3.4](#34-číselníky)). Pravidla vyplnění > revizí popisuje manuál SŽ, kap. 4.3.4 (viz [3.7](#37-kódové-označení-přílohy-47-pozic-pole-k1k47)). ### 3.4 Číselníky | Číselník | Sloupce | Použití | |---|---|---| | **Organizace** | název, adresa | objednatel + složka SŽ (auto adresy) | | **Firmy / zhotovitelé** | firma, adresa, telefon, e-mail | zhotovitel díla i objektu (auto kontakty) | | **Jména** | jméno | vypracoval / odpovědný / specialista / kontroloval | | **Profese** | profese | profesní zařazení | | **Verze dokumentace** | verze | stupeň dokumentace | | **Části** | označení, název části | části/objekty v seznamu | > **Číselníky jsou sdílená data napříč projekty a žijí mimo projekt.** V původním Excelu šlo > o samostatné listy s daty (označení dokumentace, data firem apod.). Ve standalone aplikaci jsou > uložené ve **dvou vrstvách JSON** (na rozdíl od revizí, které jsou interní k zakázce – > viz [3.3](#33-revize-původní-list-revize)): > > | Vrstva | Soubor | Role | > |---|---|---| > | dodávaná | `ciselniky.vychozi.json` vedle `.exe` | výchozí obsah dodaný s programem, jen ke čtení; každá instalace ho obnoví | > | uživatelská | `ciselniky.user.json` v `%APPDATA%\Rozpisky` | jen **rozdíl** proti dodávané: `Vlastni` (přidané a upravené položky) + `Skryte` (klíče odklizených dodávaných položek) | > > Při načtení se vrstvy slučují: dodávané pořadí zůstává, upravená položka se přepíše na svém > místě, vlastní se řadí za ně. Při uložení se rozdíl dopočítá znovu. Smysl rozdělení: uživatel > číselníky průběžně doplňuje (ručně i samoučením jmen z projektů) a **přeinstalace novou verzí > mu je nesmí přepsat** – zároveň smí nová verze dodávaný číselník libovolně měnit. > Klíč položky: `Nazev` (organizace, firmy, kraje), `Hodnota` (jména, verze), `Oznaceni` (části); > porovnává se bez ohledu na velikost písmen. > > **Skrytí se neruší smazáním.** Uživatelská vrstva nedrží historii operací, jen výsledný rozdíl. > Přejmenování dodávané položky = její klíč do `Skryte` + nový záznam do `Vlastni`; smazáním toho > nového záznamu ubude jen druhá půlka a původní dodávaná položka zůstane skrytá. Není jak rozlišit > „přejmenoval jsem a pak smazal" od „smazal jsem dodávanou položku" – obojí končí stejným stavem. > Zpět ji vrátí **zapsání téže hodnoty znovu**: klíč se objeví ve stavu, vypadne ze `Skryte`, > a shoduje-li se obsah s dodávaným, nezapíše se ani do `Vlastni` – záznam je tím opět plně pod > správou programu. U víc­polových číselníků (organizace, firmy) to znamená trefit **všechna** pole, > jinak zůstane jako vlastní záznam a nová verze programu mu už data neaktualizuje. ### 3.5 Konfigurace | Položka | Popis | |---|---| | `CestaExportu` | Kořenová cesta pro export (např. `C:\temp`). | | `SlozkaExportu` | Podsložka exportu. | | `MERITKOAUTOMATICKY` | Automatické měřítko. | | `LTSCALE` | Měřítko typů čar (per výkres). | | CTB | Styl tisku (per výkres). | | Nastavení tiskárny | Pro tiskové akce. | > Tato konfigurace **nejsou pole rozpisky** – řídí export/tisk a generování rozvržení. ### 3.6 Mapování `pole aplikace ↔ DXF ATTDEF tag` Šablona [`Rozpiska.dxf`](../Rozpisky/Podklady/Rozpiska.dxf) obsahuje **101 polí (`ATTDEF`)**. Tag pole = klíč do `values` při vyplnění (viz `DxfTemplate.Replay(g, values)` v `ROZPISKY.md`). Mapování na zdroj dat: **Projektová pole (z údajů projektu):** | DXF tag | Zdroj | |---|---| | `NAZEV_AKCE` | `stavba` | | `SO_HIP` | `HIP` | | `OBJEDNATEL_NAZEV` | `investor` | | `OBJEDNATEL_ADRESA` | `investorAdresa` | | `OBJEDNATEL_ZASTUPCE_NAZEV` | `slozkaSZ` | | `OBJEDNATEL_ZASTUPCE_ADRESA` | `slozkaSZAdresa` | | `S_KOD` | `skod` | | `ZAK_CISLO` | `cisloZakazky` | | `STUP_DOK` | `stupenDokumentace` | | `DATUM` | `smluvniDatumZpracovani` | | `ZHOTOVITEL_DILA_NAZEV` | `zhotovitelSOD` | | `ZHOTOVITEL_DILA_ADRESA` | `adresaSOD` | | `ZHOTOVITEL_DILA_TELEFON` | `telSOD` | | `ZHOTOVITEL_DILA_EMAIL` | `emailSOD` | **Řádková pole (z přílohy / seznamu).** Význam upřesněn dle grafické podoby popisového pole (manuál SŽ, kap. 4.2.1 a 4.3.7): | DXF tag | Význam / zdroj | |---|---| | `CAST` | Označení části dokumentace (např. `D`) – SEZNAM A | | `CAST_NAZEV` | Název části / profesní skupina (např. „Dokumentace objektů") | | `OBJEKT_NAZEV` | Název objektu / dílčí části – SEZNAM C | | `RADA` | **řada** objektu (např. `SO131`) – SEZNAM B | | `USEK` | **úsek** – složka označení objektu (kap. 2.5 / 3.2.4) | | `RAZENI` | **řazení** – složka označení objektu (kap. 2.5 / 3.2.4) | | `PODOBJEKT` | **podobjekt** (např. `01`) – kap. 3.2.5 | | `DILCI_CAST` | dílčí část / řada přílohy (např. `D130`) | | `TYP` | typ přílohy (např. `D.1`) – SEZNAM E | | `CISLO_PRILOHY` | číslo přílohy (3 cifry, např. `003`) – SEZNAM G | | `PRILOHA` | Název přílohy – SEZNAM H | | `PRILOHA_CAST` | Název dílčí části přílohy – SEZNAM I | | `SO_VYPRACOVAL_PRILOHA` | Zpracovatel přílohy – SEZNAM K | | `SO_ZODP_PROJEKTANT` | Odpovědný projektant – SEZNAM L | | `SO_SPECIALISTA` | Specialista – SEZNAM M | | `MERITKO` | Měřítko – SEZNAM W | | `FORMATY` | Formáty (× A4) – SEZNAM X | | `KRAJ` | Kraj – SEZNAM Y | | `KATASTRALNI_UZEMI` | Katastrální území – SEZNAM Z | | `TUDU` | TUDU – SEZNAM AA | | `ZHOTOVITEL_OBJEKTU_NAZEV` | Zhotovitel části / objektu – SEZNAM V | | `ZHOTOVITEL_OBJEKTU_ADRESA/TELEFON/EMAIL` | **auto** z č. Firmy podle `V` | > Čtveřice `RADA` / `USEK` / `RAZENI` / `PODOBJEKT` tvoří dohromady **označení objektu** > (např. `SO131 .15 .12 .01`); přesné rozčlenění čísla objektu řeší manuál kap. 2.5 a 3.2.4. **Revizní pole (z přílohy R1–R4 + list `REVIZE`):** Až **4 revizní řádky** (sloupce *Revize / Datum / Popis / Kontroloval*, manuál kap. 4.3.4), plněné z interní tabulky revizí ([3.3](#33-revize-původní-list-revize)): | DXF tag | Zdroj | |---|---| | `REVIZE1CISLO`..`4CISLO` | číslo / kód verze revize (např. `000`) | | `REVIZE1DAT`..`4DAT` | datum revize | | `REVIZE1`..`REVIZE4` | popis revize | | `SO_KONTROLOVAL1`..`4` | kdo kontroloval | **Strojově čitelný kód:** `K1`–`K47` = **47 pozic kódového označení přílohy** (manuál kap. 3.1.5), zobrazených znak po znaku v popisovém poli. **Negenerují se ručně – aplikace je sestaví** z ostatních polí (S-kód, stupeň dokumentace, část, objekt, podobjekt, typ, příloha, revize) – viz [3.7](#37-kódové-označení-přílohy-47-pozic-pole-k1k47). **Orientační schéma:** samostatné **grafické pole** (pole 2, manuál kap. 4.3.2) – schéma stavby s barevným zvýrazněním polohy objektu; **není to `ATTDEF`**, ale obrazová oblast. **Loga:** `Rozpiska_logo1`–`Rozpiska_logo5` – **nejsou `ATTDEF`**, ale geometrické placeholdery na netisknutelných hladinách (viz [sekce 6](#6-loga-a-orientační-schéma)). > **Pozn. k mapování:** Význam polí byl upřesněn dle **manuálu SŽ** (kap. 3 a 4) – původní excelová > makra (VBA) se v `.xlsx` nedochovala, ale grafická podoba a pravidla vyplnění popisového pole jsou > v manuálu závazné. Skupiny hladin `Rozpiska_pole_1`–`8` odpovídají různým stylům (velikost/zarovnání) > textu polí – viz [sekce 7](#7-metadata-polí-zalamování-styl-víceřádkovost). ### 3.7 Kódové označení přílohy (47 pozic, pole `K1`–`K47`) Strojově čitelný kód (manuál SŽ kap. 3) má **pevných 47 pozic** rozdělených do 6 skupin; v rozpisce se zobrazuje znak po znaku v polích `K1`–`K47`. **Aplikace ho generuje** z ostatních polí, ručně se neopravuje. Neobsazená alfanumerická pozice = `X`, oddělovač = `_`. | Skupina | Pozice | Význam | Zdroj polí | |---|---|---|---| | 1 | 1–11 | Identifikace stavby (S-kód / označení investora) | `S_KOD` | | 2 | 13–16 | Stupeň dokumentace (4 znaky, např. `DPSX`) | `STUP_DOK` | | 3 | 18–21 | Část / číselná řada (`D` + řada) | `CAST`, `RADA` | | 4 | 23–34 | Objekt + podobjekt (`SO`/`PS` + číslo + podobjekt) | `RADA`,`USEK`,`RAZENI`,`PODOBJEKT` | | 5 | 36–43 | Typ přílohy + číslo přílohy (`D1`…`_YYY`) | `TYP`, `CISLO_PRILOHY` | | 6 | 45–47 | Verze / revize (`P`/`0`/`V` + pořadí) | `REVIZEnCISLO` | Příklad (manuál kap. 4.2.1): `S123456789X _ DPSX _ D130 _ SO131_15_12 _ 01 _ D1 _ 2 _ 003 _ 000` (v rozpisce bez mezer, každý znak v jedné buňce `K1`–`K47`). > Detailní pravidla pozic jsou v manuálu kap. 3.2.1–3.2.8; generátor kódu je proto vlastní > funkční blok aplikace (vstup = strukturovaná pole přílohy, výstup = 47 znaků). --- ## 4. Uživatelské rozhraní Popsáno funkčně (bez vizuálního stylu). ### 4.1 Hlavní okno Sekce odpovídající původním listům excelu + panel akcí: - **Údaje projektu** – formulář (viz 4.2). - **Seznam příloh** – mřížka (viz 4.3). Hlavní pracovní plocha. - **Revize** – tabulka revizí projektu. - **Číselníky** – správa hodnot (organizace, firmy, jména, profese, verze, části). - **Nastavení** – cesty exportu, šablona, tisk/konfigurace. ### 4.2 Formulář „Údaje projektu" Pole dle [sekce 3.1](#31-projekt-původní-list-údaje). Výběr objednatele / zhotovitele z číselníku **automaticky doplní** adresu a kontakty (náhrada excelového `VLOOKUP`). ### 4.3 Mřížka „Seznam příloh" - Tabulka (DataGrid), kde **jeden řádek = jedna rozpiska**; sloupce dle [sekce 3.2](#32-příloha-řádek-v-seznamu-původní-list-seznam). - Vybraná pole nabízejí výběr z **číselníků** (jména, firmy, kraj, části…). - **Editace dat probíhá přímo v mřížce.** - Sloupec **Jméno rozvržení** je poloautomatický – viz [sekce 3.2](#32-příloha-řádek-v-seznamu-původní-list-seznam) (řízeno polem **Příloha objektu**); duplicitní jména se zvýrazní. ### 4.4 Náhled rozpisky - **Náhled se otevírá dvojklikem na řádek** seznamu → otevře se **samostatné okno** s náhledem dané rozpisky. - Náhled vykresluje engine z `ROZPISKY.md` (`IProfileRenderer` / `SkiaProfileRenderer`) – živě, ve výkresových milimetrech. - Okno umožní přepnout: **vyplněné hodnoty** (`Replay(g, values)`) ↔ **předpis / názvy polí** (`Replay(g)`). - Z okna náhledu lze danou rozpisku rovnou vyexportovat / vytisknout. --- ## 5. Funkcionality / akce Přehled vychází z ribbonu původního excelu; sloupec „Standalone chování" popisuje ekvivalent v samostatné aplikaci. | Akce (původně) | Standalone chování | Stav | |---|---|---| | **Uprav rozpisku** | Editace dat řádku v mřížce; **náhled dvojklikem na řádek** (samostatné okno, [4.4](#44-náhled-rozpisky)). Tlačítko „uprav" odpadá. | plán | | **Uprav rozpisky** | Hromadné přegenerování / kontrola všech rozpisek (např. po změně údajů projektu). | plán | | **Vytiskni rozpisku** | Export / tisk **jedné** rozpisky (PDF/PNG) přes `Exporters` (`PdfA4`, `PngA4`). | plán | | **Vytiskni rozpisky** | **Dávkový** export/tisk všech rozpisek do `CestaExportu\SlozkaExportu`, název dle „Jména rozvržení". | plán | | **Aktualizuj rozvržení** | Standalone ekvivalent: vygenerování/aktualizace výstupů (DXF/PDF) per rozvržení. (AutoCAD varianta → [roadmapa](#8-roadmapa-budoucích-funkcionalit).) | plán | | **Vytiskni rozvržení** | Tisk rozvržení (přes vlastní engine / PrintDialog). (AutoCAD varianta → roadmapa.) | plán | | **Tisk seznamu** | Tisk přehledu seznamu příloh. | plán | | **Export seznamu (Otevřená verze)** | Export seznamu příloh do otevřeného `.xlsx`. | plán | | **Navigace (Předchozí/Další)** | Navigace mezi sekcemi / řádky. | volitelné | | **O programu** | Informace o aplikaci a verzi. | plán | --- ## 6. Loga a orientační schéma - Šablona má **5 placeholderů na loga** (`Rozpiska_logo1`–`Rozpiska_logo5`). - Placeholdery leží na **netisknutelných hladinách** (`!!NOPRINT`): jejich geometrie se **nevykresluje**, ale aplikace o nich **musí vědět** (z dat šablony), aby do nich uměla posadit logo – viz `RectForLayer` / `g.Image(...)` v `ROZPISKY.md`. - Logo se přiřazuje podle role: **loga institucí financujících stavbu** (pole 1, manuál kap. 4.3.1 – nepovinné), **objednatel/investor**, **zhotovitel díla**, **zhotovitel části/objektu** (manuál kap. 4.3.5/4.3.6). Načítá se ze souboru (`File.ReadAllBytes("logo.png")`). - **Orientační schéma** je **samostatné grafické pole** (pole 2, manuál kap. 4.3.2) – schéma stavby s červeným zvýrazněním polohy dotčeného objektu (u liniových staveb klad listů). Nepovinné u malých staveb. **Není to** pole `K1`–`K47` (to je strojový kód, viz [§ 3.7](#37-kódové-označení-přílohy-47-pozic-pole-k1k47)). - Pole pro **otisk razítek** / razítko oprávněné osoby (pole 3, kap. 4.3.3) zůstává v elektronické verzi obvykle prázdné. - **Kde loga leží** – ve dvou složkách `loga\`, stejná hierarchie jako u číselníků ([3.4](#34-číselníky)): dodávaná vedle `.exe` a uživatelská v `%APPDATA%\Rozpisky\loga`, kterou přeinstalace nepřepisuje. Hledá se nejdřív mezi uživatelskými, takže logo stejného jména přebíjí dodávané. Nabídka v Údajích projektu je sjednocením obou; složku otevře tlačítko v Nastavení. Bez toho by uživatel, který si do číselníku přidá firmu s vlastním logem, musel soubor kopírovat do instalační složky – a o to logo při aktualizaci přijít. --- ## 7. Metadata polí (zalamování, styl, víceřádkovost) Pole rozpisky nejsou jen „text na souřadnici". Aby výstup odpovídal šabloně, je třeba u každého pole znát (viz požadavek v [`ROZPISKY.md`](ROZPISKY.md)): - **velikost textu** (výška) – daná stylem/atributem, - **styl** atributu, - **víceřádkovost** – zda byl atribut víceřádkový, - **šířku** pole – pro **zalamování** dlouhého textu (adresy, dlouhé názvy), - **zarovnání** (H/V). Skupiny hladin `Rozpiska_pole_1`–`8` zřejmě odpovídají různým stylům polí. Tato metadata se mají číst ze šablony (z `ATTDEF`) a nést spolu s hodnotou. > **Dopad do jádra:** současná signatura `IProfileRenderer.Text(...)` v `ROZPISKY.md` nenese šířku > ani příznak víceřádkovosti. Navrhuje se ji **rozšířit o šířku pole + zalamování** (resp. nést > metadata pole z `DxfTemplate`), aby šlo dlouhé hodnoty správně zalomit. Tím se zároveň řeší > rozpor mezi požadavkem na víceřádková pole a stávajícím omezením „jen jednořádkový `TEXT`". --- ## 8. Roadmapa budoucích funkcionalit Orientační fázování (priorita shora dolů): **Fáze 1 – MVP (standalone):** - Načtení DXF šablony a zjištění polí/placeholderů. - Datový model: projekt + seznam příloh (v paměti). - Mřížka seznamu, formulář údajů projektu. - Náhled rozpisky dvojklikem na řádek. - Export **jedné** rozpisky do PNG/PDF. **Fáze 2 – data a produktivita:** - Číselníky + automatické doplnění adres/kontaktů (VLOOKUP). - Revize. - **Uložení/načtení projektu** (formát – viz [otevřené otázky](#9-otevřené-otázky)). - Import z původního `.xlsx` (přemostění starých dat). - **Dávkový export** všech rozpisek. **Fáze 3 – výstupy:** - Tisk (PrintDialog) jednotlivě i dávkově. - Tisk / export **seznamu příloh** (i „Otevřená verze" do `.xlsx`). - Loga ze souborů, orientační schéma. **Fáze 4 – kvalita výstupu:** - **Víceřádková pole a zalamování** (viz [sekce 7](#7-metadata-polí-zalamování-styl-víceřádkovost)). - Podpora více DXF šablon. - Nastavení (cesty, měřítko, CTB, tiskárna). **Budoucí blok – AutoCAD integrace (interop):** - Vyplnění a tisk rozpisek **přímo ve výkresech `.dwg`**. - Práce s **rozvrženími (layouty)**, **CTB** styly, **LTSCALE**, tisk plotterem. - Výstup zpět do `.dwg`. - *(Mimo standalone jádro – aktivuje se jen při dostupném AutoCADu.)* --- ## 9. Otevřené otázky - **Formát uložení** – rozdělené úložiště: - **Projekt** (údaje + seznam příloh + **revize**) = interní data jedné zakázky → formát k rozhodnutí (JSON / SQLite / vlastní). - ~~**Číselníky** – formát a umístění.~~ **Vyřešeno:** dvě vrstvy JSON – dodávaná vedle `.exe`, uživatelská (rozdíl) v `%APPDATA%\Rozpisky` ([3.4](#34-číselníky)). - **Generátor 47-pozičního kódu** – doimplementovat dle manuálu kap. 3.2.1–3.2.8 vč. okrajových případů (sdružené objekty `SK`/`PK`, kap. 3.3; pracovní vs. definitivní verze). - **Orientační schéma** – jak se obrázek schématu získá/přiřadí k příloze (vstup uživatele vs. generování). - **WPF styl** – dodá uživatel samostatně; zde neřešen. - **Import z původního `.xlsx`** – mapování listů `ÚDAJE`/`SEZNAM`/`REVIZE` + číselníků do modelu. - **Více DXF šablon** – jedna pevná vs. volitelné šablony (základní pole / pole celé stavby / vložená příloha, manuál kap. 4.2.1–4.2.3). - **Lokalizace** – zatím čeština.