ROZPISKY.md §2 a §8, ROZHRANI.md §3.4 (a odškrtnutá otevřená otázka v §9), CLAUDE.md. Baseline testů v promptech subagentů 36 -> 50. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
419 lines
22 KiB
Markdown
419 lines
22 KiB
Markdown
# 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.
|
||
|
||
### 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é.
|
||
|
||
---
|
||
|
||
## 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.
|