2026-06
- ISKASA - DOVIS — přehled změn v aplikaci za Období: 9. 6. 2026 – 13. 6. 2026 | Hlavní oblast: globální vyhledávání (
hledej)
1. Nová funkce — globální vyhledávání
- NOVÉ Nová stránka hledej — jedno místo pro hledání napříč celou aplikací.
- Formulář s parametrem
q(minimálně 2 znaky), tlačítko Hledat a skrytý parametrhledat=1pro zápis do historie. - Výsledky v barevných boxech (sekcích), max. 20 záznamů v každé sekci, odkazy na detail.
- Legenda sekcí s počty; klik na štítek posune stránku na daný box.
- Plovoucí tlačítko šipky nahoru — okamžitý návrat k formuláři.
- Stručný návod přímo pod formulářem (režimy, příklady).
Prohledávané oblasti — jádro ISKASA - DOVIS
| Sekce | Co se hledá | Odkaz |
|---|---|---|
| Akce | kód, kopie, ID Premier/Colosseum/Raynet, název, popis, poznámka, objednávka | akce |
| Kontakty | název, IČO, DIČ, e-mail, telefon, adresa, datová schránka | kontakty |
| Kontaktní osoby | jméno, e-mail, telefon, firma | kontakty |
| Technika | kód, zkratka, popis | technika |
| Personál | kód, jméno, e-mail, telefon, IČO | personal |
| Prostory | kód, adresa, umístění | — |
| Mobiliář | kód, zkratka, popis | inventar |
| Dokumenty akcí | název přílohy, soubor, popis | akce (přílohy) |
| Poznámky | název, text (vlastní + sdílené) | notes |
| Uživatelé | jméno, login, e-mail (jen admin) | users |
Prohledávané oblasti — moduly (dle nastavení instalace)
| Sekce | Modul | Poznámka |
|---|---|---|
| WebCollab — úkoly, soubory, expozice, nákupní seznam | WebCollab | prefix tabulek z GLOBAL.asa |
| Majetek | majetek | ve výchozí konfiguraci vypnuto |
| Objednávky / položky nákupů | nakupy | žádanky |
| Dokumenty ke schválení, kategorie | Dovio | donio |
| Vydané / přijaté faktury | Premier | ve výchozí konfiguraci vypnuto |
2. Navigace — ikona hledání
- UI V horní šedé liště (před Moje tlačítka) je modrá ikona lupy (20 px, bez rámečku a bez textu).
- Ikona je první vlevo v řádku; klik otevře stránku hledej.
- Styly zajištěny přímo v navigaci + doplnění v
custom(třídanav-hledej-link). - Jen pro přihlášené uživatele. Starou zástupnou lupu z vlastních tlačítek lze smazat.
3. Režimy hledání
- NOVÉ Uživatel volí, jak se spojují více slov — srozumitelné popisy bez technických termínů.
| Režim | Parametr | Význam | Příklad |
|---|---|---|---|
| Stačí jedno ze slov | or |
Výchozí režim | „Praha Brno“ najde Prahu nebo Brno |
| Všechna slova najednou | and |
Každé slovo zvlášť | „Praha koncert“ musí obsahovat obojí |
| Přesná fráze | phrase |
Celý text včetně mezer | „Velká síň“ jako jeden výraz |
4. Diakritika a HTML entity
- NOVÉ Hledání ignoruje háčky a čárky — postreh najde postřeh a naopak (ve všech sekcích).
- Podpora textů uložených jako HTML entity v databázi:
ř,ř,ř,atd. - Při výpisu se entity dekódují na čitelné znaky (pojmenované i numerické entity z WebCollab).
- Placeholder formuláře: „Hledej slova, čísla, IČO… (i bez diakritiky)“.
5. Historie vyhledávání (historyworkers)
- NOVÉ Každé vyhledávání se archivuje podle přihlášeného uživatele do tabulky
historyworkers. - Globální hledání: popis
Vyhledávání: globální: text [režim], vPopisAkcepočet nálezůnalezeno=N. - Detekce i na ostatních stránkách: akce, kontakty, technika, personal, WebCollab, nákupy, Dovio…
- Zápis jen při skutečném odeslání formuláře (
hledat=1), ne při obnovení stránky (F5). - Ochrana proti duplicitám: 60 s debounce, deduplikace v statistikách.
- Oprava zápisu sloupce
najemcev historii práce.
6. Statistiky hledání
- NOVÉ Panel Statistiky hledání vedle formuláře (ne pod ním).
- Nejhledanější výrazy — vaše dotazy za posledních 90 dní; klik zopakuje hledání.
- Vaše poslední hledání — čas, režim, zkrácený text.
- Počet = kolikrát jste odeslali formulář, ne kolik SQL řádků se našlo.
- Filtr jen na vaše záznamy (
KodU), ne celá aplikace.
7. Konfigurace sekcí (pro programátora)
- NOVÉ Soubor HledejConfig — zapnutí/vypnutí jednotlivých boxů (
HledejBox* = 1/0). - Při vypnutí sekce se neprovede ani SQL dotaz (úspora výkonu).
- Výchozí zapnuto: akce, kontakty, technika, WebCollab, žádanky, Dovio…
- Výchozí vypnuto: majetek, Premier (vydané i přijaté faktury).
8. Vzhled výsledků
- UI Barevné boxy podle oblasti (akce modrá, kontakty zelená, WebCollab zelenomodrá, nákupy červená…).
- Prázdné sekce se nezobrazují.
- Počet nálezů v hlavičce boxu i v legendě.
- Výpis na jeden řádek:
DD.MM.RRRR - HH:MM Název Popis… - Mřížka boxů vedle sebe, kompaktní výška, podpora dark módu.
- Odkaz „Více v … →“ na specializované seznamy s předvyplněným filtrem.
9. Opravy chyb
| Problém | Řešení |
|---|---|
OPRAVA Chyba SQL u dokumentů akcí (dovakceprilohy.kod v ORDER BY) |
Opraveno řazení v sekci Dokumenty |
OPRAVA Pád HledejSekceInc (nekonečná rekurze) |
Opraveno počítadlo sekcí |
OPRAVA WebCollab úkoly se nezobrazovaly (podúkoly, filtr projektu, najemce=0) |
Hledání i v podúkolech, LEFT JOIN, parametr task= v odkazu |
| OPRAVA Moduly se vůbec nenačítaly (include uvnitř VBScript bloku) | Include přesunut do HTML části |
OPRAVA VBScript syntaxe v modulovém výpisu (Funkce()(index)) |
Přepsáno na proměnnou pole |
OPRAVA Chyba kompilace HledejHistoryLib na stránce akce |
Include přesunut do úvodního souboru (mimo IF bloky) |
OPRAVA Rozbitý text výsledků (ě, í) |
Vlastní dekodér HTML entit ve výpisu |
| OPRAVA Statistiky ukazovaly 10× místo 1× | Oprava CLng(pocet & "0") → bezpečné HledejStatNum() / HledejStatRsPocet() |
| OPRAVA Nafouknuté počty při F5 / obnovení stránky | Zápis jen při hledat=1, deduplikace v DB i Application cache |
| OPRAVA Chyba kompilace komentáře v legendě | Opravena VBScript syntaxe komentářů |
| OPRAVA Join WebCollab shop, sloupce Premier, logika Dovio | Opraveny SQL dotazy v modulovém výpisu |
10. Dokumentace
- NÁVOD Nová kapitola 2c. Globální vyhledávání v
navod-akce-uzivatelsky(#globalni-hledej). - Podsekce: kde je ikona, jak hledat, režimy, boxy, statistiky, přehled sekcí, oprávnění, rozdíl oproti lokálnímu hledání.
- Nová podsekce Diakritika a HTML entity (
#globalni-hledej-diakritika) s příklady a tabulkami. - Aktualizován obsah (TOC), FAQ, přehled funkcí, zmínka v kap. 2a (horní menu), tip u Seznamu akcí.
11. Technická dokumentace v kódu
- Podrobné komentáře v souborech globálního hledání: účel, řetězec include, parametry, průběh zpracování, mapování sekcí, SQL logika.
12. Souhrn dotčených částí aplikace
| Oblast | Typ změny |
|---|---|
| hledej (nová stránka) | kompletní implementace |
| Horní navigace | ikona lupy |
| Historie práce uživatele | archivace všech vyhledávání |
| akce, kontakty, technika, personal, WebCollab, nákupy, Dovio… | detekce vyhledávání v historii |
| custom | styly ikony a boxů |
| navod-akce-uzivatelsky | kapitola 2c + diakritika |
- ISKASA - DOVIS — změny za posledních 5 dní (4.–9. 6. 2026)
- Období: 4. 6. 2026 – 9. 6. 2026
- Zdroj: datum poslední úpravy souborů + záznamy vývojových úprav. Nezahrnují se soubory .asp ani běžná provozní data (kalendářní .ics, PDF, XLS v !files).
- Zdroj: datum poslední úpravy souborů + záznamy vývojových úprav. Nezahrnují se soubory .asp ani běžná provozní data (kalendářní .ics, PDF, XLS v !files).
- 4. června 2026
- Aktualizace exportu schématu databáze (referenční SQL dump pro vývoj).
- Aktualizace exportu schématu databáze (referenční SQL dump pro vývoj).
- 5. června 2026
- dovkontakty_insight
- Nový SQL skript pro tabulku cache veřejného přehledu firmy z ARES.
- Sloupce: kod (PK, vazba na dovkontakty), najemce, ico, json_data, aktualizace.
- Účel: ukládání JSON odpovědi ARES API, aby se panel „Veřejný přehled firmy“ nemusel načítat při každém zobrazení.
- !DOV/dph-test-get
- Testovací HTML stránka pro ověření načítání údajů DPH (vývoj / ladění integrace).
- Testovací HTML stránka pro ověření načítání údajů DPH (vývoj / ladění integrace).
- !DOV/dph-test-post
- Testovací HTML pro POST požadavky na DPH službu (prázdný nebo minimální soubor pro test endpointu).
- Testovací HTML pro POST požadavky na DPH službu (prázdný nebo minimální soubor pro test endpointu).
- !DOV/dph-test-cookies
- Pomocný soubor s cookies pro testování DPH API mimo prohlížeč.
- Pomocný soubor s cookies pro testování DPH API mimo prohlížeč.
- 6. června 2026
- !ai/ai-wizard
- JavaScript pro AI průvodce na stránce nastavení API.
- Obsluha panelu kroků, volání ai-api(krok, akce), zobrazení návrhů a stavových hlášek.
- Pomocné funkce pro vyhledávání kontaktů, escapování HTML, práci s formulářovými poli průvodce.
- !ai/ai-wizard
- Styly pro AI průvodce — layout panelu, stavové boxy, předformátovaný text odpovědí.
- Styly pro AI průvodce — layout panelu, stavové boxy, předformátovaný text odpovědí.
- !ai/dovakce_ai_log
- SQL definice tabulky pro logování AI požadavků / odpovědí u akcí.
- 7. června 2026
- !!MySQL/AkceMistnostiDel-indexy
- Nový migrační skript — doplnění indexů pro výkon při práci s prostory.
- Cílové tabulky: dovakcemistadatum, dovakcemista, související dotazy ze step0XX, AkceMistnostiDel, opakování akcí.
- Indexy např. idx_amd_kodmista_kodmistnosti, idx_amd_kodmista_datum, idx_amd_kodakce_kodmista.
- Určeno pro jednorázové spuštění na produkční DB (mimo špičku).
- !step021/step021
- Oprava synchronizace kalendáře dovakcekalendar při AJAX ukládání prostor.
- Dříve se kalendář přegeneroval jen při klasickém POST, ne při autosave z JavaScriptu.
- Doplněna podpora volání synchronizace po vložení, úpravě i smazání prostoru.
- Souvisí s opravou, kdy se po editaci na step021 nezapisovaly záznamy do dovakcekalendar.
- !step021/step021
- Úpravy stylů obrazovky step021 (prostory v akci) — ladění v souvislosti s novým AJAX rozhraním.
- Úpravy stylů obrazovky step021 (prostory v akci) — ladění v souvislosti s novým AJAX rozhraním.
- !!nastaveni/style
- Úpravy základního vzhledu aplikace (globální styly Inspinia / menu / formuláře).
- Souvisí s rozšířením UI — boční menu, formulářové popisky, profil uživatele.
- AUDIT_PRISTUP_STRANEK
- Dokumentační audit přístupu ke klíčovým stránkám.
- Popis architektury: !StrUvodXX, !StrUvodXX, !StrUvodXX, role SESSION admin/admin2.
- Seznam rizikových míst bez centrální kontroly přihlášení — pouze k revizi, bez úprav kódu.
- Datum dokumentu uvnitř souboru: 1. 6. 2026.
- 8. června 2026
- users/ALTER_users_mfa_totp
- Migrace databáze pro dvoufázové ověření (TOTP / Google / Microsoft Authenticator).
- Rozšíření tabulky users: mfa_totp_enabled, mfa_totp_secret, mfa_totp_verified_at, mfa_totp_enforced, mfa_totp_label.
- Nové tabulky: mfa_backup_codes (záložní kódy), mfa_trusted_devices (důvěra zařízení 30 dní), mfa_pending_login (dočasný stav po 1. faktoru).
- Index idx_users_mfa_totp_enabled.
- MySQL
- Velký export kompletní databáze (záloha / referenční schéma).
- Velký export kompletní databáze (záloha / referenční schéma).
- 9. června 2026
- css/custom
- Boční menu — sbalení na ikony
- Nová třída body.sidebar-collapsed — menu se zúží na 52 px, obsah stránky se rozšíří.
- Přepínač u loga (tlačítko se šipkami « / »), logo se zkrátí na 2 písmena (např. DOVIS → DO).
- Stav se ukládá do localStorage (klíč dovis-sidebar-collapsed).
- Při najetí myší na ikonu: plovoucí popisek položky.
- Položky s podmenu (KPI, Nastavení…): flyout s hlavičkou a seznamem podpoložek.
- Třída has-submenu (doplňuje JavaScript) pro správné chování vnořeného menu.
- Podpora barevných motivů (theme-red, theme-green, theme-blue, theme-pink, theme-brown, theme-dark) i ve sbaleném režimu.
- Styly pro víceúrovňové podmenu (nav-second-level, nav-third-level, ikony nav_icon2/3/4).
- css/custom
- Období: 4. 6. 2026 – 9. 6. 2026
- Boční menu — rozbalené podmenu (9. 6., odpoledne)
- Oprava tučného písma podpoložek v rozbaleném menu.
- U odkazů v .nav-second-level a .nav-third-level nastaveno font-weight: 400 (běžné písmo).
- Odstraněno zbytečné font-weight: 600 u položek s ikonou nav_icon2.
- Hlavní položky menu zůstávají mírně tučnější (font-weight 500 ze style).
-
css/theme
- Rozsáhlé úpravy barevných motivů aplikace (tmavý režim a barevné varianty red/green/blue/pink/brown).
- Tmavý režim: kalendář default— všechny třídy .zz-kal-* (filtry, buňky dnů, víkendy, svátky, čipy akcí, legenda, zoom).
- Tmavý režim: čitelné popisky formulářů (label.control-label) na step09, step40, nabídkách.
- Tmavý režim: karta profilu uživatele (.profile-bottom, .profile-text).
- Tmavý režim: tlačítka .btn-default, odkazy, tabulky, přihlašovací obrazovka.
- Styly podmenu bočního panelu v barevných motivech (pozadí var(--d-accent-pale)).
- Pravidla pro reset hesla (reset-heslo-* třídy na přihlašovací stránce).
- js/custom
- Inicializace metisMenu pro boční menu.
- Označení položek s podmenu třídou has-submenu, doplnění title z .nav-label.
- Logika sbalení/rozbalení menu: setCollapsed(), initFromStorage(), updateToggleUi().
- Oprava konfliktu kliknutí — přepínač #sidebar-toggle používá delegovaný handler, aby se nesrazil s odkazy href="#".
- Při sbaleném menu: klik na rozbalovací položku menu znovu rozbalí panel.
- Synchronizace šířky flyout podmenu při mouseenter u has-submenu.
- Responzivní chování: pod 768 px se sbalený režim vypíná.
-
users/UserMfaNavod
- Nový veřejný statický návod k dvoufázovému ověření (2FA).
- Převod z dřívější chráněné ASP stránky na HTML dostupné bez přihlášení.
- Obsah: Google / Microsoft Authenticator, záložní kódy, důvěra zařízení 30 dní, tisk do PDF.
- Odkaz zpět na přihlášení, meta popis pro vyhledávače.
-
!akce/navod-akce-uzivatelsky
- Sekce Kontakty — ARES
- Nový odkaz v obsahu: Veřejný přehled z ARES (#menu-kontakty-ares).
- Popis panelu z KontaktyFirmaInsight: právní forma, NACE, sídlo, VR, DPH, registry ROS / RES / VR / RZP / RED / IR.
- Tlačítko Obnovit, asynchronní načítání, diagnostika při chybě.
- Sekce Superadmin — Střediska
- Rozšířený popis strediska/ dovstrediska pro KPI.
- Nová podkapitola #superadmin-strediska: pole formuláře, KPI osoby (ZodpovednaOsoba), vazba na akce a grafy.
- Sekce Superadmin — Budovy
- Podrobný popis budovy — kalendáře prostor, zkratky, barvy, filtr ?bud= v kalendáři.
- Podrobný popis budovy — kalendáře prostor, zkratky, barvy, filtr ?bud= v kalendáři.
- !!MySQL/dovis7x.
- Aktualizace exportu schématu databáze (novější verze než dovis6x).
- Použito při analýze tabulek (dovtechnika, dovakcetechnikadatum) pro opravy GROUP BY.
- GLOBAL
- Soubor aplikačních proměnných IIS — datum poslední úpravy 9. 6. 2026.
- Obsahuje konfiguraci připojení k MySQL, názvy modulů (DOVIS, Webcollab, Majetek, Donio, Premier, Nakupy, Denio), výchozí session hodnoty.
- Konkrétní rozdíl oproti předchozí verzi bez git historie nelze spolehlivě určit.
Souhrn podle oblasti
| Oblast | Soubory | Hlavní přínos |
|---|---|---|
| UI / menu | css/custom, js/custom, !!nastaveni/style | Sbalitelné boční menu, oprava podmenu, flyout podpoložky |
| Vzhled / motivy | css/theme | Tmavý režim, barevné motivy, kalendář, formuláře, profil |
| Bezpečnost | users/ALTER_users_mfa_totp, users/UserMfaNavod | 2FA TOTP migrace DB, veřejný návod |
| Prostory / kalendář | !step021/step021, !!MySQL/AkceMistnostiDel-indexy | Sync dovakcekalendar při AJAX, DB indexy |
| Kontakty / ARES | !DOV/dovkontakty_insight, !akce/navod-akce-uzivatelsky | Cache ARES, dokumentace |
| AI modul | !ai/ai-wizard, ai-wizard, dovakce_ai_log | Průvodce nastavením AI API |
| Databáze | !!MySQL/* | Exporty schémat a migrační skripty |
| Dokumentace | AUDIT_PRISTUP_STRANEK, navod-akce-uzivatelsky | Audit přístupů, návod - práce s akcí |
- ISKASA - DOVIS - Období: 1. května 2026 – 3. června 2026
- Květen 2026
- 11.–23. května — Colosseum (provoz)
- !colosseum/logs/colosseum_import_*.log — denní záznamy automatického importu z Colosseum (provozní logy, ne vývojový kód).
- !colosseum/logs/colosseum_import_*.log — denní záznamy automatického importu z Colosseum (provozní logy, ne vývojový kód).
- 21. května 2026
- !nastenka/nastenka_premier_pie_link
- Propojení koláčového grafu PREMIER s tabulkou #nastPremierTable při najetí myší na nástěnce manažera.
- !nastenka/nastenka_help
- Klientská logika nápovědy widgetů na nástěnce (otevření/zavření help panelů).
- Klientská logika nápovědy widgetů na nástěnce (otevření/zavření help panelů).
- !nastenka/nastenka_premier_pie_link
- 25. května 2026
- !colosseum/config
- Konfigurace PHP modulu synchronizace s Colosseum (připojení, cesty, parametry importu).
- Konfigurace PHP modulu synchronizace s Colosseum (připojení, cesty, parametry importu).
- !colosseum/config
- 27. května 2026 — Nástěnka manažera (modul !nastenka)
- !nastenka/NASTENKA_PREHLED
- Technická dokumentace nástěnky: pořadí include, KPI cache (grafstats), živé SQL dotazy, widgety, filtry GET, zoom 80–130 %.
- Popis widgetů: dash, funnel, cashflow, fakt, nakupy, donio, vyvoj, uziv, kpi, premier, colosseum, mapa.
- !nastenka/nastenka_layout
- Přesouvání a skrývání widgetů na #nastLayoutBoard.
- Mřížka 12 sloupců, změna šířky boxu 6 ↔ 12, ukládání rozložení do cookie a na server.
- Výchozí pořadí a šířky pro všechny widgety nástěnky.
- !nastenka/nastenka_kpi
- Přepínání rozpadu KPI: seznam kategorií ↔ měsíční graf (jako graf01).
- Integrace s Google Charts v boxu kpi na nástěnce.
- !nastenka/nastenka_grafstats
- Automatický přepočet KPI cache (grafstats01_{KodU}) při zastaralých nebo nulových datech.
- Interval obnovení 10–60 minut dle nastavení kpi_interval.
- !nastenka/nastenka_zoom
- Zoom celé nástěnky 80–130 % (krok 5 %, výchozí 100 %).
- Ukládání do cookie nastenka_zoom_u{KodU}, tlačítka v liště filtrů bez submitu formuláře.
- !nastenka/nastenka_colosseum
- Widget Colosseum na nástěnce: pohled den/týden/měsíc přes AJAX.
- Přepínač tabulka/graf, přepočet „dnes“, cookie pro zvolený pohled.
- !nastenka/nastenka_funnel
- Klientská logika trychtýře (funnel) na nástěnce — přepínání zobrazení funnelver / funnelview.
- !colosseum/index
- Vstupní bod PHP synchronizace Colosseum (spouštění importu z prohlížeče nebo cron úlohy).
- !colosseum/DOVIS-Colosseum-sync
- Export úlohy Plánovače úloh Windows „DOVIS-Colosseum-sync“.
- Spouštění každých 30 minut od 15. 5. 2026, účet SYSTEM.
- !nastenka/NASTENKA_PREHLED
- Červen 2026
- 1. června 2026
- robots
- Rozsáhlý seznam Disallow pro vyhledávače — zakázány interní složky
- Ochrana administrace, SQL dumpů, uploadů a technických modulů před indexací.
- !step01/step01-kontakt-hledat
- Styly pro vyhledávání kontaktu při zakládání akce (step01).
- Vzhled dropdownu s výsledky hledání, loading stav, zvýraznění shody.
- !step01/step01-kontakt-hledat
- AJAX vyhledávání kontaktů a osob při zakládání nové akce.
- Napojení na skrytý select[name="kontakt"], debounce při psaní, výběr firmy a kontaktní osoby.
- Escapování HTML v návrzích, synchronizace s existujícím formulářem step01.
- !akce/akcekopiruj-popis
- Podrobný popis stránky kopírování akce (akcekopiruj.asp) — formulář, panely „Kopíruje se“ / „Nekopíruje se“, kontrola kolizí.
- Verze s vlastními styly pro tisk a čtení.
- !akce/akcekopiruj-popis-bez-css
- Stejný obsah jako akcekopiruj-popis.html bez vložených stylů — čisté HTML pro archivaci nebo export.
- Stejný obsah jako akcekopiruj-popis.html bez vložených stylů — čisté HTML pro archivaci nebo export.
- robots
- 2. června 2026
- !akce/akcekopie
- Styly formuláře kopírování akce: layout dvousloupcový, souhrn zdrojové akce, panely položek, stavy kolizí.
- !akce/akcekopie
- Živá kontrola kolizí a náhled kopírování přes AJAX (debounce při změně termínu/času).
- Čtení polí přípravy a hlavního termínu, aktualizace panelů bez reloadu stránky.
- nastenka
- Statická HTML dokumentace k nastenka— přístup (role t/b), filtry, widgety, Colosseum panel, KPI cache.
- Popis všech boxů data-nast-box včetně dash, funnel, premier, mapa.
- akceopakuj
- Statická dokumentace stránky opakovaného kopírování akce (akceopakuj.asp).
- Popis průběhového kopírování po termínech, chybové hlášky, vazba na OpakujAkceLib.
- akcekopiruj
- Statická dokumentace jednorázového kopírování akce do nového termínu.
- nakupy/zpracovani-objednavek
- Provozní diagram a návod k modulu Nákupy — tok zpracování objednávek.
- Mermaid diagramy, popis rozesílání e-mailů dodavatelům, stavy objednávek.
- !ai/POSTUP-AI-DOVIS
- Hlavní návrh modulu AI asistenta pro obchodníka (verze 1.0, datum v dokumentu 31. 5. 2026).
- Cíl: nahradit kroky step01–step100 jedním průvodcem na ai.asp (kromě techniky).
- Pravidlo: žádné úpravy původních step souborů, vše nové ve složce !ai.
- Struktura plánovaných souborů: AiConfig, AiWizard, AiGemini, AiOpenAI, AiApplyStep01, …
- !ai/POSTUP-AI-OPENAI-CHATGPT
- Návod na napojení firemního OpenAI API jako alternativa k Gemini.
- Rozdíly klíčů, modely, nastavení provider v configgemini.
- !ai/GEMINI-MODELY-A-NAPOVEDA
- Nápověda při chybě 429 (vyčerpaná kvóta Google Gemini).
- Kroky: počkat, zapnout billing, přejít na OpenAI, doporučené modely free/paid.
- !ai/configgemini
- SQL skript pro vytvoření tabulky configgemini.
- Sloupce: najemce, provider (gemini/openai), apikey, use_paid, model_free, model_paid, enabled.
- Varianta A: DROP + CREATE, varianta B: CREATE IF NOT EXISTS.
- !ai/configgemini-models-25
- Doplnění / aktualizace výchozích modelů Gemini 2.5 (flash-lite, flash) v tabulce configgemini.
- Doplnění / aktualizace výchozích modelů Gemini 2.5 (flash-lite, flash) v tabulce configgemini.
- !akce/akcekopie
- 3. června 2026
- !akce/navod-akce
- Kompletní technický návod modulu Akce (cca 98 KB HTML).
- Témata: step021/step02, režimy multi/classic, step06 objednávka (PDF, e-mail, PREMIER), step60 smlouvy.
- Mermaid diagramy, SEO meta tagy, JSON-LD TechArticle, obsah pro indexaci vyhledávači.
- Databázové tabulky, kolize prostor, parametry URL.
- !!nastaveni/!ckeditor/config
- Úprava CKEditor: při tmavém motivu (body.theme-dark) nastavení uiColor a contentsCss na contents-dark.css.
- Automatická detekce přes document.body.classList.contains('theme-dark').
- !!nastaveni/!ckeditor/contents-dark
- Tmavé styly obsahu WYSIWYG editoru — světlý text (#e5e7eb) na tmavém pozadí (#1a2330).
- !!nastaveni/config
- Stejná úprava pro druhou instanci CKEditor — podpora tmavého režimu.
- !!nastaveni/!ckeditor2/contents-dark
- Tmavé styly obsahu pro druhý editor.
- users/ResetHesloSlabaSeznam
- Seznam cca 1000 nejčastějších slabých hesel (123456, password, qwerty, …).
- Použití při validaci nového hesla — odmítnutí hesel ze seznamu při resetu / změně hesla.
- !!MySQL/APIS
- Export databáze APIS (velký SQL dump, cca 119 MB).
- !!MySQL/TRISIA
- Export databáze TRISIA (SQL dump, cca 71 MB).
- Souhrn podle oblasti
- !akce/navod-akce
|
Oblast |
Hlavní soubory |
Přínos |
|---|---|---|
|
Nástěnka manažera |
!nastenka/*.js, NASTENKA_PREHLED, nastenka |
Layout widgetů, zoom, KPI graf, Colosseum, PREMIER pie, dokumentace |
|
Colosseum integrace |
!colosseum/*., *. |
Automatický import každých 30 min, konfigurace |
|
Kopírování akcí |
akcekopie/js, akcekopiruj*, akceopakuj |
Živá kontrola kolizí, dokumentace kopírování a opakování |
|
Zakládání akce |
step01-kontakt-hledat/js |
AJAX hledání kontaktu při step01 |
|
AI modul |
!ai/*., configgemini*. |
Návrh architektury AI průvodce, DB tabulka, nápověda Gemini/OpenAI |
|
Dokumentace |
Technické návody s diagramy |
|
|
Editor / tmavý režim |
!ckeditor*/config, contents-dark |
CKEditor čitelný v theme-dark |
|
Bezpečnost hesel |
ResetHesloSlabaSeznam |
Blacklist slabých hesel |
|
SEO |
robots |
Blokace indexace interních cest |
|
Databáze |
MySQL |
Zálohy / exporty DB |
- ISKASA -
akcekopiruj- Účel: Stránka pro jednorázové zkopírování vybrané akce do nové akce v jiném termínu.
- Základní tok stránky:
- Nastaví aplikaci na
AplikaceNastaveni = 510. - Načte layout přes
StrUvoda knihovnu kopie přesakcekopie_lib. - Přečte parametr
aa(kód zdrojové akce), validuje, že je číselný; při chybě přesměruje nachybaakce. - Načte kontext zdrojové akce přes
AkceInfo. - Vykreslí formulář kopírování přes
akcekopie_form.
- Nastaví aplikaci na
- Co stránka obsahuje:
- Hlavičku „Kopírování akce“ s odkazem na detail zdrojové akce.
- Hlavní formulář pro nastavení kopie (termín, časy a další volby).
- Pravý panel se souhrnem zdrojové akce: název, kód, datumy, čas, případně příprava.
- Panel „Kopíruje se“ (obsah přes include
akcekopie_polozky). - Panel „Nekopíruje se“ s pevně uvedenými oblastmi.
- Panel „Kontrola před kopií“ s pravidly kolizí a navazujícím krokem po uložení.
- Kopíruje se:
- Položky definované v
akcekopie_polozky(dynamicky podle konfigurace). - Termínové a organizační údaje přenášené formulářem kopie.
- Položky definované v
- Nekopíruje se: Catering, Technika, Auta, Dokumenty (stejně jako u opakování).
- Jak probíhá kontrola před uložením:
- Kontrolují se kolize prostor v přípravě (řádky přípravy).
- Kontrolují se kolize v termínu akce pro prostory, služby, mobiliář a personál.
- Režim kolizí závisí na nastavení
SESSION("ProstoryZasmluvneno")(zasmluvněné vs. nezasmluvněné akce). - Po změně data/času se kolize přepočítají.
- Při zapnutém
SESSION("ProstoryOK")lze při kolizi akci zkopírovat a systém odešle notifikace e-mailem odpovědným osobám.
- Po úspěšné kopii: uživatel pokračuje na krok základních údajů (
step01) pro kontrolu a případné doplnění dat nové akce.
- Závěr:
akcekopirujje řídicí stránka pro ruční kopii jedné akce. Prezentační vrstvu tvoří hlavní ASP stránka, vlastní pravidla a validační logika jsou rozdělené do knihovny a include souborů.

- ISKASA - Popis
nastenka
je hlavní vstupní stránka dashboardu "Nástěnka manažera".
Slouží pro uživatele s oprávněním administrátor/manažer a skládá stránku z více include souborů (nastavení, data, widgety, Colosseum panel, KPI přehledy a uživatelské preference).
1. Přístup a oprávnění
- Vstup je povolen pouze obchodníky.
- Bez oprávnění se provede přesměrování.
2. Co stránka obsahuje
- Banner "Nástěnka manažera" a text zvoleného období.
- Filtrační formulář: období/rok, opce stav, budova, obchodník, střediska.
- Nastavení automatického intervalu přepočtu KPI (
kpi_interval). - Nastavení zoomu dashboardu.
- Widgety nástěnky z include souboru
nastenka_boxes. - Colosseum panel (tabulka/graf), včetně AJAX režimu.
2A. Boxy na nástěnce (podrobně)
Boxy jsou definované v nastenka_boxesa skládají se nad daty z nastenka_data.. Každý box má atribut data-nast-box, podle kterého se ukládá rozložení a pořadí.
- dash (KPI karty) - souhrn tržby, náklady, saldo/marže, počet akcí, opce, zasmluvněno, období. Zdroj: KPI cache + pipeline agregace.
- funnel - pipeline trychtýř podle stavů akcí (z include
nastenka_funnel). - cashflow / nakupy / donio - doplňkové finanční boxy z
nastenka_extra_boxes. - fakt (Fakturace) - tři stavy: odesláno, vystaveno, zaplaceno, včetně částek a procent vůči pipeline.
- vyvoj - měsíční sloupce vývoje prodeje pro zvolený rok, aktivní zvýraznění aktuálního měsíce.
- uziv - výsledková tabule uživatelů/obchodníků (Google chart) + legenda stavů.
- kpi - rozpad KPI po kategoriích, tržby/náklady/saldo, marže %, přepínání na měsíční graf kategorie.
- premier / premiergraf / premieren - boxy PREMIER jen pokud jsou k dispozici data (
N_PremHasData,N_PremEnHasData). - partner - partnerské přehledy (součást doplňkových boxů).
- colosseum - prodejní panel Colosseum s vlastní AJAX aktualizací.
- mapa - mapový box s geokódovanými body akcí.
3. Include řetězec (hlavní pořadí)
nastenka_prefs- načtení preferencí z URL/cookies.StrUvod, navigace a základní data.graf01_helpers- helper funkce pro období a formátování.nastenka_colosseum_init- inicializace Colosseum dat.nastenka_styles- styly nástěnky.nastenka_data- SQL agregace pro widgety (N_* proměnné).nastenka_boxes- vykreslení boxů + navázaný JS.StrKonec- ukončení stránky.
4. Jak se dělají přepočty
Samotný soubor nastenka primárně řídí tok stránky a předává filtry. Vlastní přepočty probíhají v podřízených modulech a endpointech:
nastenka_data- hlavní agregace dat pro widgety dle filtrů.nastenka_grafstats_refresh- přepočet KPI cache.nastenka_colosseum_recalc- AJAX přepočet Colosseum "dnešek".nastenka?ajax_colosseum=1- vrací jen Colosseum fragment pro async obnovu.
5. Filtry, které ovlivňují výpočty
obdobi,rok- časové omezení.opcestav- stav opce/fakturace.bud- budova.kodU- uživatel/obchodník.strediska- střediskové omezení.kpi_interval- perioda auto-obnovy KPI.colosseum_pohled,colosseum_zobrazeni,colosseum_recalc.
6. AJAX režim Colosseum
Pokud je v URL ajax_colosseum=1, stránka vrátí pouze HTML fragment panelu Colosseum (nastenka_colosseum_panel_bd) a ukončí request přes Response.End.
To umožňuje rychlé částečné překreslení bez načtení celé nástěnky.
7. Praktický provoz
- Běžné otevření: načte preference, filtry, data a vykreslí widgety.
- Změna filtru: formulář odešle GET, data se přegenerují v include datech.
- Auto KPI: interval řídí pravidelné obnovování KPI podle aktuálních filtrů.
- Background refresh: KPI cache lze přepočítat i mimo UI přes refresh endpointy.
8. Shrnutí
Nástěnka je orchestrátor dashboardu: řeší přístup, načtení preferencí, předání filtrů a složení výstupu z include modulů.
Přepočty dat se provádějí hlavně v datových includech a samostatných refresh/AJAX endpointech.

ISKASA — rezervace prostor u akce
1. Struktura stránky
| Část | Soubor | Účel |
|---|---|---|
| Obal / layout | step0XX | Navigace, menu akce, načtení CSS a JS |
| Seznam již vložených prostor | !stepXXX/step0XXVlozeneSeznam | Přehled z DB hned po otevření ?aa= |
| Průvodce výběrem | !stepXXX/step0XX | Areál → budova → mřížka prostor + detail karty |
| Interaktivita | !stepXXX/step02XX | Výběr karet, AJAX obsazenost, kolize, mazání |
| Společná logika SQL | !stepXXX/step0XXCommon | Překryv intervalů t1/t2, envelope termín+příprava |
2. URL parametry
| Význam | |
|---|---|
| Kód akce (dovakce.kod) | |
| Kód areálu (pokud je zapnutý krok areálu) | |
| Kód budovy | |
| Vybrané prostory (čárkou oddělené kódy) | |
| Jeden prostor při opravě | |
| Kód záznamu dovakcemista při editaci | |
| Návrat na výběr prostorů | |
| Vývojářský panel SQL pro diagnostiku kolizí | |
| Termín akce (např. po návratu s ch=1) |
3. Tok uživatele — výběr
- Areál (volitelně, pokud SESSION ProstoryAreal = 1)
- Formulář GET → reload stránky s parametrem
ar - Bez areálu nelze pokračovat na budovu
- Formulář GET → reload stránky s parametrem
- Budova
- Výběr budovy → reload s
bud - Server vykreslí mřížku prostor (
stepXXXRoomsGrid)
- Výběr budovy → reload s
- Prostory — mřížka karet
- Klik na kartu = výběr / zrušení výběru (lze více najednou)
- Rozbalená karta obsahuje: sazbu, termín, přípravu (pokud zapnuto), poznámku, zodpovědnou osobu
- Každý prostor má vlastní termín a přípravu v detailu karty
- Vybrané kódy se ukládají do hidden pole
mist
- Již vložené prostory
- Nahoře stránky seznam z DB
- Lze smazat (POST na stepXXXvloz)
- Uložené prostory v mřížce mají stav „Uloženo“
4. Stavy karty prostoru v mřížce
| Stav | Význam | Kdy se zobrazí |
|---|---|---|
| VOLNÝ | V intervalu termín + příprava není kolize | Server při načtení + AJAX obnovení mřížky |
| OBSAZENÝ | Překryv s jinou akcí (termín nebo příprava) | Ihned po načtení stránky (AJAX) i po změně času v kartě |
| Chybí sazba | Prostor nemá platnou cenu, ale jinak volný | Server / API |
| Uloženo | Prostor je už v DB u akce | Server z načtených dat dovakcemista |
| Vybráno (modře) | Uživatel kliknul na kartu | JavaScript |
5. Sledování kolizí — tři úrovně
5.1 Mřížka celé budovy (hned po načtení)
- Endpoint:
!stepXXX/stepXXXApi.asp?action=obsazenost&lite=1 - Volá se automaticky po načtení stránky (
refreshInitialGridOccupancy) - Interval: obal termínu akce + přípravy (min OD / max DO)
- Parametry: aa, bud, tOd/tDo/cOd/cDo + pTOd/pTDo/pCOd/pCDo z defaultů akce
- Výsledek: u každé karty štítek VOLNÝ / OBSAZENÝ bez nutnosti kliknout
- Box „Kolize s jinými akcemi“ pod mřížkou — souhrn pro vybrané prostory
5.2 Detail vybrané karty (po kliknutí / změně času)
- Endpoint:
!stepXXX/stepXXXObsazenostJson.asp - Spouští se při: rozbalení karty, změně data/času termínu nebo přípravy
- Tři paralelní kontroly (scope):
| Scope | Co kontroluje | V seznamu kolizí |
|---|---|---|
| term | Termín prostoru (Od–Do v kartě) | Ano — řádky s kolizí termínu |
| prep | Příprava prostoru (Od–Do přípravy) | Ano — řádky označené „Příprava“ |
| envelope | Celý obal termín + příprava | Ne — jen ovlivňuje štítek OBSAZENÝ/VOLNÝ |
- Výsledky term + prep se sloučí, duplicity se odstraní
- V detailu karty: sekce „Kolize termínu / přípravy“ se seznamem kolidujících akcí
- Po zavření karty zůstane ověřený stav štítku (OBSAZENÝ/VOLNÝ)
5.3 Popover u štítku OBSAZENÝ
- Klik na badge OBSAZENÝ (bez nutnosti editovat kartu)
- Zobrazí rychlý seznam kolidujících akcí s termíny
6. Logika překryvu v databázi
- Porovnává se interval
dovakcemista.t1at2 - Vyloučeny akce OPCE (zo = 1)
- Vyloučena aktuální akce (aa) a při editaci i vlastní záznam (ams)
- Volitelně jen zasmluvněné akce, pokud SESSION ProstoryZasmluvneno = 1 (za <> 0)
- Každý řádek v DB může být termín (priprava=0) nebo příprava (priprava=1) — oba se kontrolují
7. Kdy se obsazenost přepočítá
| Událost | Co se stane |
|---|---|
| Načtení stránky s vybranou budovou | AJAX mřížka — všechny prostory najednou |
| Klik na kartu / rozbalení | Kontrola term + prep + envelope pro daný prostor |
| Změna data nebo času v kartě | Okamžitá kontrola (debounce ~120 ms), nezávisle termín vs příprava |
| Zavření karty | Obnovení štítku z ověřeného stavu |
8. Konfigurace (SESSION)
| SESSION | Účinek |
|---|---|
| ProstoryAreal = 1 | Zobrazí krok výběru areálu |
| AkcePriprava = 1 | Formulář přípravy v kartě prostoru |
| ProstoryOK = 1 | Povolit akci i přes kolizi (informativně) |
| ProstoryZasmluvneno = 1 | Kolize jen se zasmluvněnými akcemi |
| ProstorySazba | 0 = den/půlden, 1 = hodina, 2 = kombinace sazeb |
9. API endpointy pro kolize
| Endpoint | Účel | Hlavní parametry |
|---|---|---|
| stepXXXApi.asp?action=obsazenost | Stav všech prostor v budově | aa, bud, tOd, tDo, cOd, cDo, pTOd, pTDo, pCOd, pCDo |
| stepXXXObsazenostJson.asp | Detail kolizí jednoho prostoru | aa, mist/kod, scope=term|prep|envelope, tOd…, pTOd…, ams |
| stepXXXvloz.asp (POST) | Mazání vloženého prostoru | ProstoryDEL=Smazat, ajaxDel=1 |
10. Diagnostika
stepXXX.asp?aa=…&obsDebug=1— panel s SQL dotazy mřížky i karet- Parametr se propaguje i do AJAX volání
11. Co aktuálně nefunguje / je vypnuto
- Ukládání nových rezervací do dovakcemista (tlačítko uložit ukáže varování)
- E-mailové notifikace při kolizi (kód odstraněn)
- Samostatná stránka potvrzení (showConfirm = False) — vše je v jednom kroku výběru

ISKASA - akceopakuj- Účel: Stránka pro opakované kopírování vybrané akce na další termíny s průběhovým zobrazením postupu.
- Přehled toku stránky:
- Nastaví aplikaci
AplikaceNastaveni = 510. - Načte základní layout přes
!DATA/!StrUvod.aspa knihovnu opakováníOpakujAkceLib. - Přečte chybovou hlášku ze session
SESSION("Opakuj_chyba")a po zobrazení ji smaže. - Načte kontext akce přes
AkceInfo(název, datumy, časy apod.). - Vykreslí formulář/řízení kopírování přes
step01opakuj.
- Nastaví aplikaci
- Co uživatel na stránce vidí:
- Hlavičku „Opakování akce“ s odkazem na detail zdrojové akce.
- Info box s režimem průběhového kopírování (postup po termínech bez reloadu).
- Případnou chybu opakování (červený alert).
- Pravý panel se souhrnem zdrojové akce: termín, čas, případně příprava.
- Panel „Kopíruje se“ a „Nekopíruje se“.
- Panel omezení (limit 1 rok, kolize prostor, pravidla schválení a mazání opakování).
- Jak probíhá přepočet / zpracování opakování:
- Výpočet termínů a samotné kopie řeší logika v
OpakujAkceLibastep01opakuj.asp. - Zpracování běží po jednotlivých termínech, aby šel zobrazovat průběh a přeskočené termíny.
- Při kolizi prostor se nový termín nevytvoří a zapíše se do seznamu přeskočených termínů.
- Kontrola kolizí respektuje nastavení stavu zasmluvnění (
SESSION("ProstoryZasmluvneno")).
- Výpočet termínů a samotné kopie řeší logika v
- Kopírované části akce:
- Prostory
- Služby
- Inventář
- Personál
- Přílohy
- Detail akce
- Předávací protokol
- Nekopírované části: Catering, Technika, Auta, Dokumenty.
- Funkční omezení:
- Maximální rozsah opakování je 365 dní.
- U vícedenní akce se zachová délka trvání kopie.
- Opakování se vztahuje na den začátku akce v týdnu.
- Každá kopie vyžaduje ruční zasmluvnění.
- Mazání vytvořených opakování se provádí z přehledu původní akce.
- Závěr:
akceopakuj.aspje prezentační a řídicí stránka procesu opakování. Hlavní výpočetní a datová logika je umístěna v include souborech pro krok opakování
??????????????
2026-05
1. Struktura stránky
| Část | Soubor | Účel |
|---|---|---|
| Obal / layout | step0XX | Navigace, menu akce, načtení CSS a JS |
| Seznam již vložených prostor | !stepXXX/step0XXVlozeneSeznam | Přehled z DB hned po otevření ?aa= |
| Průvodce výběrem | !stepXXX/step0XX | Areál → budova → mřížka prostor + detail karty |
| Interaktivita | !stepXXX/step02XX | Výběr karet, AJAX obsazenost, kolize, mazání |
| Společná logika SQL | !stepXXX/step0XXCommon | Překryv intervalů t1/t2, envelope termín+příprava |
2. URL parametry
| Význam | |
|---|---|
| Kód akce (dovakce.kod) | |
| Kód areálu (pokud je zapnutý krok areálu) | |
| Kód budovy | |
| Vybrané prostory (čárkou oddělené kódy) | |
| Jeden prostor při opravě | |
| Kód záznamu dovakcemista při editaci | |
| Návrat na výběr prostorů | |
| Vývojářský panel SQL pro diagnostiku kolizí | |
| Termín akce (např. po návratu s ch=1) |
3. Tok uživatele — výběr
4. Stavy karty prostoru v mřížce
| Stav | Význam | Kdy se zobrazí |
|---|---|---|
| VOLNÝ | V intervalu termín + příprava není kolize | Server při načtení + AJAX obnovení mřížky |
| OBSAZENÝ | Překryv s jinou akcí (termín nebo příprava) | Ihned po načtení stránky (AJAX) i po změně času v kartě |
| Chybí sazba | Prostor nemá platnou cenu, ale jinak volný | Server / API |
| Uloženo | Prostor je už v DB u akce | Server z načtených dat dovakcemista |
| Vybráno (modře) | Uživatel kliknul na kartu | JavaScript |
5. Sledování kolizí — tři úrovně
5.1 Mřížka celé budovy (hned po načtení)
5.2 Detail vybrané karty (po kliknutí / změně času)
| Scope | Co kontroluje | V seznamu kolizí |
|---|---|---|
| term | Termín prostoru (Od–Do v kartě) | Ano — řádky s kolizí termínu |
| prep | Příprava prostoru (Od–Do přípravy) | Ano — řádky označené „Příprava“ |
| envelope | Celý obal termín + příprava | Ne — jen ovlivňuje štítek OBSAZENÝ/VOLNÝ |
5.3 Popover u štítku OBSAZENÝ
6. Logika překryvu v databázi
7. Kdy se obsazenost přepočítá
| Událost | Co se stane |
|---|---|
| Načtení stránky s vybranou budovou | AJAX mřížka — všechny prostory najednou |
| Klik na kartu / rozbalení | Kontrola term + prep + envelope pro daný prostor |
| Změna data nebo času v kartě | Okamžitá kontrola (debounce ~120 ms), nezávisle termín vs příprava |
| Zavření karty | Obnovení štítku z ověřeného stavu |
8. Konfigurace (SESSION)
| SESSION | Účinek |
|---|---|
| ProstoryAreal = 1 | Zobrazí krok výběru areálu |
| AkcePriprava = 1 | Formulář přípravy v kartě prostoru |
| ProstoryOK = 1 | Povolit akci i přes kolizi (informativně) |
| ProstoryZasmluvneno = 1 | Kolize jen se zasmluvněnými akcemi |
| ProstorySazba | 0 = den/půlden, 1 = hodina, 2 = kombinace sazeb |
9. API endpointy pro kolize
| Endpoint | Účel | Hlavní parametry |
|---|---|---|
| stepXXXApi.asp?action=obsazenost | Stav všech prostor v budově | aa, bud, tOd, tDo, cOd, cDo, pTOd, pTDo, pCOd, pCDo |
| stepXXXObsazenostJson.asp | Detail kolizí jednoho prostoru | aa, mist/kod, scope=term|prep|envelope, tOd…, pTOd…, ams |
| stepXXXvloz.asp (POST) | Mazání vloženého prostoru | ProstoryDEL=Smazat, ajaxDel=1 |
10. Diagnostika
11. Co aktuálně nefunguje / je vypnuto
2026-04
- Přístup a oprávnění
- Vstup je povolen pouze pro obchodníky
- Bez oprávnění se provede přesměrování.
- Co stránka obsahuje
- Banner "Nástěnka manažera" a text zvoleného období.
- Filtrační formulář: období/rok, opce stav, budova, obchodník, střediska.
- Nastavení automatického intervalu přepočtu KPI (kpi_interval).
- Nastavení zoomu dashboardu.
- Widgety nástěnky z include souboru !nastenka/nastenka_boxes.
- Colosseum panel (tabulka/graf), včetně AJAX režimu.
- Boxy na nástěnce (podrobně)
-
ISKASA - Generování dat do KPI
- Tento proces slouží k naplnění tabulky grafstats01 pro KPI přehledy. Generování probíhá samostatně mimo běžné zobrazení stránky, aby byl výpočet rychlý a stabilní.
- Vstupní parametry
- rok – volitelný parametr, např.
?rok=2025; pokud není zadán, použije se aktuální rok. - najemce – volitelný parametr, pokud se KPI počítá jen pro konkrétního nájemce.
- rok – volitelný parametr, např.
- Inicializace dat
- Pro zvolený rok se ověří existence 12 měsíců v tabulce
grafstats01. - Pokud některé měsíce chybí, automaticky se doplní.
- Následně se přepočítá celý rok, aby byly opraveny i starší měsíce.
- Pro zvolený rok se ověří existence 12 měsíců v tabulce
- Přepočet KPI hodnot
- Hodnoty se generují agregací zdrojových tabulek (akce, prostory, služby, inventář, technika, personál, catering, další položky, energie) po jednotlivých měsících.
- Počet akcí a počet zrušených akcí
- Tržby a náklady za prostory
- Tržby a náklady za služby
- Tržby a náklady za mobiliář
- Tržby a náklady za techniku
- Tržby a náklady za personál
- Tržby a náklady za catering
- Tržby a náklady za další položky
- Energie (kWh, m3, GJ, plyn, nákup energie)
- Hodnoty se generují agregací zdrojových tabulek (akce, prostory, služby, inventář, technika, personál, catering, další položky, energie) po jednotlivých měsících.
- Výstup
- Výsledkem je aktualizovaná tabulka
grafstats01, připravená pro rychlé načtení KPI dashboardu.
- Výsledkem je aktualizovaná tabulka
- Spouštění
- Ruční spuštění přes URL endpoint refresh skriptu.
- Automatické spuštění na pozadí (např. plánovačem úloh).
- Doporučeno spouštět pravidelně a také po významných změnách dat.
- Hlavní výhody
- Rychlejší načítání KPI stránky.
- Stabilní data bez vlivu uživatelských filtrů.
- Jednotný a opakovatelný výpočet pro celý rok.
-
ISKASA a kopírování akce
- Vytvoří novou akci jako kopii zdrojové. Uživatel zadá nový termín (a případně přípravu); systém kontroluje kolize a zkopíruje až bez konfliktů.
- URL:
akcekopiruj?aa=— odkaz „Kopíruj akci“ zakce.aspnebo seznamu akcí.
- URL:
- Stránka
- Vlevo: formulář termínu a přípravy, živá kontrola kolizí, tlačítko Zkopírovat (aktivní jen bez kolizí).
- Vpravo: údaje zdrojové akce, seznam co se kopíruje (prostory, služby, mobiliář, personál), co se nekopíruje (catering, technika, auta, dokumenty).
- Postup
- Uživatel upraví datum/čas — automaticky běží kontrola (AJAX na
!akce/akcekopie_kontrola). - Při
ok: truelze odeslat formulář (POST na!akce/akcekopie_vloz). - Server znovu ověří kolize, zkopíruje data (
AkceKopirujXX), zapíše kalendář. - Přesměrování na
stepXX.asp?aa=se zelenou hláškou.
- Uživatel upraví datum/čas — automaticky běží kontrola (AJAX na
- Kontrola kolizí
- Příprava (jen pokud je u akce zapnutá) — kolize prostor označených jako příprava.
- Termín akce — prostory (řádky přípravy se zde nekontrolují), služby, mobiliář, personál.
- Prostory — obsazení stejné místnosti v zadaném intervalu jinou akcí.
- Služby / mobiliář / personál — jen pokud má položka v číselníku
SkladZasoba > 0; kolize = nedostatek kusů v překrývajícím termínu (zdrojová akce se do součtu nepočítá).
- Po kopii
- Chyba:
SESSION("AkceKopie_chyba")na stránce kopírování. Úspěch:SESSION("AkceKopie_ok")na step01.
- Chyba:
- Hlavní soubory
- hlavni stránka
- formulář
- seznam položek vpravo
- logika kolizí
- AJAX JSON
- zápis kopie
- SQL kopie
- kontrola v prohlížeči
- hlavni stránka
- ISKASA - Nová rezervace prostor do akce — výběr a postup vložení
- Nahoře stránky je přehled již uložených prostor u akce. Odtud lze termín upravit (tužka) nebo záznam smazat (koš).
- Areál — vyberte areál, pokud je tento krok zapnutý.
- Budova — vyberte budovu; načte se mřížka prostor.
- Prostory — kliknutím vyberte jeden nebo více prostorů. Kliknutím na kartu ji rozbalíte a u každého prostoru zvlášť nastavíte:
- sazbu,
- termín OD–DO včetně času,
- přípravu prostoru (pokud je zapnutá),
- poznámku,
- zodpovědnou osobu (pokud je zapnutá).
- Nahoře stránky je přehled již uložených prostor u akce. Odtud lze termín upravit (tužka) nebo záznam smazat (koš).
- Uložení prostoru — vyplněný prostor uložte tlačítkem
vpravo nahoře na kartě. Uloží se pouze tento prostor (ne celý výběr najednou). - Další prostor — stejný postup opakujte u každého dalšího vybraného prostoru.
- Další termín — u prostoru, který už má uložený termín, lze přidat další termín ikonou + na kartě. Úpravu existujícího termínu proveďte ze seznamu nahoře.
- Stavy prostorů v mřížce:
- Volný — prostor je v zadaném termínu dostupný.
- Obsazený — prostor má kolizi s jinou akcí. Detail kolize se zobrazí po rozbalení karty; u štítku Obsazený lze zobrazit rychlý přehled kolidujících akcí.
- Chybí sazba — prostor nemá nastavenou cenu; bez sazby jej nelze korektně nacenit (nápověda po najetí myší).
- Uloženo — prostor je již uložen v akci.
- Obsazenost se kontroluje automaticky po načtení mřížky i při změně termínu nebo přípravy v kartě.
- Při kolizi se zobrazí upozornění. Podle nastavení systému lze kolizi buď zablokovat, nebo — s oprávněním ProstoryOK — prostor uložit i přes kolizi (zodpovědné osobě obsazené akce se odešle e-mail).
- Doporučení:
- Vyplňujte termín vždy včetně času OD i DO.
- Po kliknutí na
zkontrolujte, že u prostoru zůstal stav Uloženo a záznam je vidět v seznamu nahoře. - Před odchodem z kroku ověřte, že jsou všechny požadované prostory uložené.
- ISKASA - RAYNET
- uživatelké API pro komunikaci na RAYNET
- dokončení zpracování obchodních případu
- režim položek - rozpis souhrně nebo položkově
- zlepšené kontroly na odeslání nabídek do RAYNET
- ISKASA - kopírování akcí
- zrychlené kopírování na další termíny
- kontrola kolizí na prostory u kopírovaných akcí
- výpis kolizí s možností tisku pro další zpracování
- viditelný průběh zpracování pro uživatele
- ISKASA - Colosseum
- přepracovaný import dat
- zrychlení kontroly prodeje vstupenek
- přehlednější prodeje, KPI, grafy
- zpřesnění prodeju - přesná kontrola reportu z Colosseum

.jpg)
- Přehledný denní prodej podle okruhu

- Denni prodej - druh platby

- ISKASA — rezervace prostor u akce
- Areál (volitelně, pokud SESSION ProstoryAreal = 1)
- Formulář GET → reload stránky s parametrem
ar - Bez areálu nelze pokračovat na budovu
- Formulář GET → reload stránky s parametrem
- Budova
- Výběr budovy → reload s
bud - Server vykreslí mřížku prostor (
stepXXXRoomsGrid)
- Výběr budovy → reload s
- Prostory — mřížka karet
- Klik na kartu = výběr / zrušení výběru (lze více najednou)
- Rozbalená karta obsahuje: sazbu, termín, přípravu (pokud zapnuto), poznámku, zodpovědnou osobu
- Každý prostor má vlastní termín a přípravu v detailu karty
- Vybrané kódy se ukládají do hidden pole
mist
- Již vložené prostory
- Nahoře stránky seznam z DB
- Lze smazat (POST na stepXXXvloz)
- Uložené prostory v mřížce mají stav „Uloženo“
- Endpoint:
!stepXXX/stepXXXApi.asp?action=obsazenost&lite=1 - Volá se automaticky po načtení stránky (
refreshInitialGridOccupancy) - Interval: obal termínu akce + přípravy (min OD / max DO)
- Parametry: aa, bud, tOd/tDo/cOd/cDo + pTOd/pTDo/pCOd/pCDo z defaultů akce
- Výsledek: u každé karty štítek VOLNÝ / OBSAZENÝ bez nutnosti kliknout
- Box „Kolize s jinými akcemi“ pod mřížkou — souhrn pro vybrané prostory
- Endpoint:
!stepXXX/stepXXXObsazenostJson.asp - Spouští se při: rozbalení karty, změně data/času termínu nebo přípravy
- Tři paralelní kontroly (scope):
- Výsledky term + prep se sloučí, duplicity se odstraní
- V detailu karty: sekce „Kolize termínu / přípravy“ se seznamem kolidujících akcí
- Po zavření karty zůstane ověřený stav štítku (OBSAZENÝ/VOLNÝ)
- Klik na badge OBSAZENÝ (bez nutnosti editovat kartu)
- Zobrazí rychlý seznam kolidujících akcí s termíny
- Porovnává se interval
dovakcemista.t1at2 - Vyloučeny akce OPCE (zo = 1)
- Vyloučena aktuální akce (aa) a při editaci i vlastní záznam (ams)
- Volitelně jen zasmluvněné akce, pokud SESSION ProstoryZasmluvneno = 1 (za <> 0)
- Každý řádek v DB může být termín (priprava=0) nebo příprava (priprava=1) — oba se kontrolují
stepXXX.asp?aa=…&obsDebug=1— panel s SQL dotazy mřížky i karet- Parametr se propaguje i do AJAX volání
- Ukládání nových rezervací do dovakcemista (tlačítko uložit ukáže varování)
- E-mailové notifikace při kolizi (kód odstraněn)
- Samostatná stránka potvrzení (showConfirm = False) — vše je v jednom kroku výběru
- ISKASA - nove kalendáře
- nový vzhled kalendářů
- Akce
- Prostory akcí
- Personál akcí
- Kalendář personálu, dovolení a další ....
- vylepšený tisk kalendářů
- možnost zvětšit nebo zmenšit kalendáře i u tisku

- nový vzhled kalendářů
- ISKASA - PREMIER
- odeslání objednáve akcí do PREMIER
- průběh zpracování pro obchodníky
- odeslání na email a do PREMIER pomocí API
- Kontroly na stavy a chyby pro uživatele
- odeslání objednáve akcí do PREMIER
- ISKASA - vkládání Služeb, Personál, Mobiliář
- nové vkládání z formulářů
- okamžitá kontrola an stav skladu a cena celkem pro obchodníky
.jpg)