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ý parametr hledat=1 pro 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řída nav-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 čárkypostreh 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], v PopisAkce poč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 najemce v 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).
         
    • 4. června 2026
      • 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).
           
      • !DOV/dph-test-post
        • 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č.
           
    • 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í.
           
      • !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.
         
    • !!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).
           
    • 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).
           
  • 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.
       
  • !!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).
         
    • 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ů).
           
    • 25. května 2026
      • !colosseum/config
        • Konfigurace PHP modulu synchronizace s Colosseum (připojení, cesty, parametry importu).
           
    • 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.
           
    • Č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.
           
    • 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.
           
    • 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

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

navod-akce, zpracovani-objednavek

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řes akcekopie_lib.
      • Přečte parametr aa (kód zdrojové akce), validuje, že je číselný; při chybě přesměruje na chybaakce.
      • Načte kontext zdrojové akce přes AkceInfo.
      • Vykreslí formulář kopírování přes akcekopie_form.
         
    • 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.
         
    • 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: akcekopiruj je ří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í)

  1. nastenka_prefs- načtení preferencí z URL/cookies.
  2. StrUvod, navigace a základní data.
  3. graf01_helpers- helper funkce pro období a formátování.
  4. nastenka_colosseum_init- inicializace Colosseum dat.
  5. nastenka_styles- styly nástěnky.
  6. nastenka_data- SQL agregace pro widgety (N_* proměnné).
  7. nastenka_boxes- vykreslení boxů + navázaný JS.
  8. 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

  1. Areál (volitelně, pokud SESSION ProstoryAreal = 1)
    • Formulář GET → reload stránky s parametrem ar
    • Bez areálu nelze pokračovat na budovu
  2. Budova
    • Výběr budovy → reload s bud
    • Server vykreslí mřížku prostor (stepXXXRoomsGrid)
  3. 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
  4. 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.t1 a t2
  • 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.asp a 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.
         
    • 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 OpakujAkceLibstep01opakuj.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")).
         
    • 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.asp je 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

  1. Přístup a oprávnění
    • Vstup je povolen pouze pro 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/nastenka_boxes.
    • Colosseum panel (tabulka/graf), včetně AJAX režimu.
    1. 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.
           
      • 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.
           
      • 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)
             
      • Výstup
        • Výsledkem je aktualizovaná tabulka grafstats01, připravená pro rychlé načtení KPI dashboardu.
           
      • 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“ z akce.asp nebo seznamu akcí.
         
    • 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: true lze 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.
         
    • 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.
         
    • Hlavní soubory
      • hlavni stránka
        • formulář
        • seznam položek vpravo
        • logika kolizí
        • AJAX JSON
        • zápis kopie
        • SQL kopie
        • kontrola v prohlížeči
    • 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š).
        1. Areál — vyberte areál, pokud je tento krok zapnutý.
        2. Budova — vyberte budovu; načte se mřížka prostor.
        3. 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á).
    1. 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).
    2. Další prostor — stejný postup opakujte u každého dalšího vybraného prostoru.
    3. 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


         
      • Přehledný denní prodej podle okruhu

         
      • Denni prodej - druh platby
    • ISKASA — rezervace prostor u akce
    1. Areál (volitelně, pokud SESSION ProstoryAreal = 1)
      • Formulář GET → reload stránky s parametrem ar
      • Bez areálu nelze pokračovat na budovu
    2. Budova
      • Výběr budovy → reload s bud
      • Server vykreslí mřížku prostor (stepXXXRoomsGrid)
    3. 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
    4. 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.t1 a t2
    • 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
            
           
    • 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
         
    • 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
            
    •  

← Kompletní historie vývoje