12b. Modul catering — step40, step41, step43
12b. Modul catering — step40, step41, step43
www.iskasa.eu · návod k modulu Akce
12b. Modul catering — step40, step41, step43
Modul je volitelný. V konfiguraci nájemce (ConfigForm → pole CateringOK, při přihlášení SESSION("CateringOK") z !StrUvodConfig):
| CateringOK | Chování | Obrazovka step40 |
|---|---|---|
| 0 | Catering vypnutý | Záložka v menu akce skrytá (NeMenu = "1" v AkceMenu2 pro MenuAkce = 40) |
| 1 | Zboží, kategorie a nabídky pro vybraná místa | !step40/step40 — nabídka podle místa a termínu |
| 2 | Pouze formulář pro vkládání dokumentů | step40FormPrilohy \+ AkceDokumentySeznam (sekce=40) |
| 3 | Vkládání základních cen jako v objednávce | Seznam + formulář řádků dovakcecatering (action=add) |
| 4 | Režim 3 + sumární nabídky nahrazují vložené ceny | Nabídky step43, soupis z objednávky, fakturační soupis |
Obal stránky: step40 (AplikaceNastaveni = 510, AkceMenu = 40). Přístup: role admin/admin2 s t nebo b a CateringOK > 0; jinak default.
12b.1 Číselník — levé menu Catering
Nezávislé na režimu u akce (správa katalogu, role obvykle t):
- ckategorie — kategorie cateringu (!catering/KategorieForm, KategorieVloz).
- czbozi — zboží v kategoriích (CateringForm, CateringVloz).
- Tisky / parametry dle instalace (odkaz z ParSeznam).
Data z katalogu se v režimu 1 vybírají na step41 (CateringSeznam2).
12b.2 Režim 1 — nabídka zboží podle místa (CateringOK = 1)
Tok na step40:
- Vytvořit nabídku cateringu pro místo — formulář v !step40/step40: zodpovědná osoba (OsobaForm2), místo (AkceMistnostiSelect — místnost akce nebo číselník MistnostiInfo2), termín od–do (datepicker + timepicker), počet osob, poznámka. Tlačítko _Vložit a vybrat zboží_ → step40Vloz → INSERT/UPDATE
cateringdovakce(vazbaKodAkce,KodAkceMista,KodMista, časy). - Výběr zboží — v seznamu míst (step40SeznamMista) odkaz na název místa → step41?aa=&mm={Kod cateringdovakce}&misto= → katalog CateringSeznam2 → step41Vloz vloží/aktualizuje řádky
dovakcezbozi(KodAkceCatering,KodMista, ceny, DPH, skladové pohyby přes !SkladKartaPohybyUpdate). - Úprava množství a cen — zpět na step40: pod každým místem step40SeznamZbozi (kusu, sleva %, cena/ks). Hromadné uložení → step40VlozZbozi.
- Tisk nabídky — tlačítko otevře !doc/catering?aa= (šablona dokladu
KodSablony = 80).
Parametry URL: aa akce; mm kód řádku cateringdovakce (úprava hlavičky nabídky); ca filtr jedné nabídky v seznamu; ch=2 chyba času při validaci.
Admin (SESSION("admin") = "t") u řádku místa: kopie do jiné akce (step42), úprava (mm), smazání (AkceMistaDel).
12b.3 Režim 2 — dokumenty (CateringOK = 2)
step40FormPrilohy — upload přes FilesDokumentUpload (sekce=40, skryté KodAkce). Pod formulářem AkceDokumentySeznam. Tlačítko _Další krok_ pokračuje v menu akce.
Test záložky: AkceDokumentyTest (řádky v dovakcedokumenty se sekce=40, případně dovakceprilohy při Dovio) nebo AkceCateringTest (dovakcezbozi / dovakcecatering) — stačí jedno z toho pro zelenou záložku.
12b.4 Režimy 3 a 4 — řádky cateringu v kalkulaci
Řádky v tabulce dovakcecatering (TypSluzby = 1): název, popis, kusy, cena, DPH, sleva, nákupní sazba, volitelně dodavatel (kontakt → zelený řádek).
- Režim 3: přehled step40SeznamCatering, odkaz _Přidat další položku cateringu_ →
step40?action=add&aa=→ step40FormCatering → step40CateringVloz. Parametrfave formuláři = fakturační varianta názvu/slevy/DPH. - Režim 4: navíc nahoře step43NabidkaSeznam a odkaz _Přidat další nabídku_ → step43 (step43NabidkaForm, aktivace step43NabidkuAktivuj). Aktivní nabídka v
SESSION("CateringNabidkaKod")/CateringNabidkaNazevfiltruje řádky v seznamu. Pod soupisem z objednávky druhý blok Fakturační soupis — step40SeznamCateringFa. Součty mohou doplňovat step43NabidkaVlozCeny.
Při načtení seznamu v režimu 3/4: UPDATE cateringnabidka SET vyrizena=1 pro akci (potvrzení nabídky zodpovědnou osobou).
12b.5 Objednávka — catering ve step06
Při CateringOK > 0 include step06Catering (rozbalovací blok divCatering, nadpis Seznam catering \+ volitelně název aktivní nabídky). Data z dovakcecatering (režim 3/4 a importy typu Colosseum do „další položky“) a/nebo související položky z režimu 1 přes kalkulaci zboží.
Uložení objednávky (step06vloz) aktualizuje ceny/slevy řádků cateringu stejně jako u služeb; součty jdou do step06Soucty a tisku (objednavka01).
Colosseum: při id_colosseum_kam = 20 souhrn vstupenek zapisuje do dovakcecatering — zobrazí se v step06Catering i v kroku Colosseum. Viz kap. 4a.
Diagram — volba režimu (ConfigForm)
flowchart TD
CFG["CateringOK v config"] --> Z{"CateringOK"}
Z -->|0| SKRYT["Záložka Catering skrytá"]
Z -->|1| R1["step40 nabídka místo + step41 zboží"]
Z -->|2| R2["step40FormPrilohy dokumenty"]
Z -->|3| R3["step40SeznamCatering řádky cen"]
Z -->|4| R4["step43 nabídky + soupisy + řádky"]
R1 --> S06["step06Catering"]
R3 --> S06
R4 --> S06
Diagram — režim 1 od nabídky po tisk
flowchart TB
subgraph katalog["Číselník"]
CK["ckategorie"] --> CZ["czbozi"]
end
subgraph akce["U akce CateringOK=1"]
F["Vytvořit nabídku pro místo"] --> V["step40Vloz cateringdovakce"]
V --> L["Seznam míst step40SeznamMista"]
L --> S41["step41 výběr zboží"]
S41 --> V41["step41Vloz dovakcezbozi"]
V41 --> UPR["Úprava kusu ceny step40VlozZbozi"]
UPR --> TISK["catering tisk"]
end
subgraph obj["Objednávka"]
S06["step06Catering"] --> PDF["objednavka01"]
end
CZ --> S41
UPR --> S06
Diagram — test záložky v menu
flowchart LR
M["MenuAkce 40"] --> T{"CateringOK=0?"}
T -->|ano| X["NeMenu skryto"]
T -->|ne| A["AkceCateringTest"]
A --> D["AkceDokumentyTest sekce 40"]
A --> G{"dovakcezbozi nebo dovakcecatering?"}
D --> G2{"dovakcedokumenty?"}
G -->|ano| OK["Zelená"]
G2 -->|ano| OK
G -->|ne| G2
G -->|ne obojí| CH["Červená"]
G2 -->|ne| CH
Soubory: step40, step40Vloz, step40VlozZbozi, step40SeznamMista, step40SeznamZbozi, step40FormPrilohy, step40FormCatering, step40CateringVloz, step40SeznamCatering, step40SeznamCateringFa, step41, step42, step43, AkceCateringTest, step06Catering, !doc/catering.