JLABS

JLabs.MagicLine.Data

Evidovaná data a jejich struktura

Bullet Řízení provozu se odehrává vlastně jako sekvence čtení, zápisů a kontrol z/do/proti databázi. Databáze obsahuje několik databázových tabulek, které si můžeme s určitou licencí opravdu představit jako tabulky, například pro tabulkový kalkulátor. Tabulky ale nejsou izolovány, naopak jsou provázány řadou souvislostí a nepracuje se s nimi typicky po jedné, ale jako se složitějším celkem.

Bullet Prakticky ale celý systém funguje tak, že několik málo tabulek, kterým říkáme konfigurační a systémové, je naplněno vhodnými daty. Příkladem je třeba tabulka oprávněných uživatelů, seznam prodávaného zboží nebo mapa skladu. Potom existuje několik tabulek, které zaznamenávají krok po kroku každou činnost zaměstnanců firmy. Do důsledku všechny kroky se zapisují do databáze a je možno zpětně vysledovat každý sebemenší detail.

Bullet Každý zápis nebo i čtení z databáze se neděje jen tak, ale na základě předem definované akce, které se říká scénář. Máme tedy opravdu scénář pro každou a to i zdánlivě maličkou a nevýznamnou manipulaci s daty. Jako příklad si vezmeme Sklad. Velmi zjednodušeně je sklad vlastně evidence, kde u každého typu skladovaného zboží (říkame tomu Artikl) je uloženo číslo udávající kolik kusů opravdu máme. Mohli bychom se skladem pracovat tedy tak, že porůznu z tabulky při výdeji něco odečteme a při příjmu zase přidáme. My ale se skladem pracujeme přímo nebo zprostředkovaně řadou scénářů. Namátkou tedy jmenujem Příjem do skladu, Výdej ze skladu, Korekce stavu, Inventura, Prodej na pokladně, ... Každý z těchto scénářů je pečlivě naprogramován tak, aby nezapomenul kontrolovat, zda na skladě zboží je, aby příslušný počet kusů rezervoval, odečítal nebo přičítal.

Bullet Máme celou řadu tabulek, na tomto místě si systematicky popíšeme ty nejdůležitější. Napřed ale okomentujeme pár důležitých rysů.

Bullet Předně je dobré rozlišovat mezi zbožím a ceníkem. My důsledně evidujeme zboží bez ceny jakožto Artikl a máme u něj vedle kódu a popisu pár údajů, které charakterizují dané zboží. Zda se jeho prodej účtuje nebo ne, zda se jedná o skladovatelný artikl, jednorázově prodatelný nebo napříklado permanentku opravňující k opakovaným návštěvám. Vlastní ceník pak obsahuje pro každý Artikl případně i více ceníkových položek. Můžeme mít jinou cenu pro prodej limonády vlastním zaměstnancům, jinou pro VIP klienty a opět jinou pro běžný prodej.

Bullet Pro odlišení položek v ceníku u stejného artiklu nám slouží kolonka TypCeny.

Bullet Abychom nemuseli příliš detailně a předem popisovat, jaké že různé typy zboží máme, jaké události na pokladně budou vůbec možné apod., máme na to několik tabulek, ve kterých se to popisuje. Proto máme tabulky TypyArtiklu, TypyCeny, UcetniTypyArtiklu, Udalosti a další.

Bullet Ve Skladu používáme vedle nepochybných položek Artikl a počet kusů i položky Malo a Mnoho. Slouží k tomu, aby se dalo pro daný Artikl nastavit hlídání, zda náhodou Sklad neprsaká ve švech či zda se neblíží jeho vyprázdnění.

Bullet Konečně vlastní práce na Pokladně, ve Skladu apod. je důsledně rozpitvána na elementární události a ty jsou zaznamenávány do Historie tak, že nelze nic smazat. Každý omyl, ke kterému zákonitě musí docházet, se napraví kmplementární operací nebo řízenou opravou stavu, ale nikdy smazáním povědomosti o události. Historie eviduje zcela podrobně kdo, kde a co dělal a jak ovlivnil například Sklad, hotovost na Pokladně apod.

Bullet Měli bychom si uvědomit, že Historie nám umožňuje evidovat nejenom účetní události, ale například i to, že klient přišel, nebo naopak nepřišel na smluvenou konzultaci. Podobně i poruchy zařízení apod. Pak můžeme ex-post snadno vyhodnocovat provoz jako komplexní sled událostí se všemi vazbami.

Bullet Důležitá data jsou nyní popsána tabulka po tabulce položku po položce níže.
Všechny tabulky jsou vybaveny pěticí sloupečků, které nebudeme opakovaně a dokola uvádět.Jsou to:

    S ...................................... Storno flag. Slouží k označení záznamů, které jsou určeny ke
                                             smazání. Místo smazání je prostě označíme hodnotou A na znamení,
                                             že záznam se nemá používat. Kdyby náhodou smazání proběhlo omylem,
                                             Nastavíme do S hodnotu N a záznam takto elegantně "odsmažeme".
    Color .................................. Barva pro vizuální odlišení. Můžeme například ceny pro VIP klienty
                                             označovat jinou barvou, aby byly hned vidět. Nebo jinou barvou
                                             můžeme označovat prošlé permanentky apod.
    KdoZapsal .............................. Login uživatele, který provedl poslední změnu záznamu.
    KdeZapsal .............................. Jméno počítače, u kterého KdoZpasal seděl, když změnu proedl.
    KdyZapsal .............................. Okamžik, kdy se tak stalo. Podle času počítače KdeZapsal.

Číselníky .................................. Pomocné konfigurační tabulky
    Staty .................................. Tabulka států, klientelu můžeme mít případně i mezinárodní ...
        Stat ............................... Zkratka jako by byla na vozidle, tedy CZ,D,GB apod.
        Nazev .............................. Plný název státu
    TypyKlientu ............................ Typy a kategorie klientů
        TypKlienta ......................... Jednopísmenná zkratka. Máme Normální, Vip, Firemní, ...
        Popis .............................. Popis významu zkratky
    TypyArtiklu ............................ Typy nabízeného zboží a služeb
        TypArtiklu ......................... Jednopísmenná zkratka, naznačuje způsob, jak se s artiklem nakládá.
                                             Hlavní typy jsou dva - opravdové zboží (jako je láhev limonády) a permanentky. 
        Popis .............................. Popis významu.
    UcetniTypyArtiklu ...................... Účetní typy nabízeného zboží a služeb. Některé Artikly budeme do účetnictví
                                             zahrnovat a jiné ne. Můžeme třeba vést i fiktivní evidenci manuálů a mít
                                             přehled o tom, kde a kolik se jich nachází. Přitom se manuály nemusjí prodávat,
                                             ale půjčovat zaměstnancům ke studiu. Formálně vzato to ale zase bude
                                             obrat ve skladu s nulovou cenou.
        UcetniTypArtiklu ................... Jednopísmenná zkratka.
        Popis .............................. Popis významu.
    TypyCeny ............................... Typy ceny. Například pro zaměstnance, pro VIP, normální apod.
        TypCeny ............................ Mnemonická zkratka, zase jedno písmenko.
        Popis .............................. Význam.
    Udalosti ............................... Výčet všech operací, které je možno se systémem dělat. Rozumí se
                                             těch, které chceme v Historii podchytit.
        Udalost ............................ Zkratka až na 16 znaků. Například Inventura, Kontrola, Prodej, Příjem, ...
        Popis .............................. Detailní popis události, tedy toho, co si pod ní představujeme.
Ceníky ..................................... Tabulky popisující Artikly a Ceny. Vedle aktuálních tabulek máme ke
                                             každé i její archiv, tam se "silážují" postupně upravované záznamy s
                                             datumem úpravy. Můžeme pak tedy zpětně dosledovat, kolik kdy stála která
                                             služba.
    Artikl ................................. Tabulka nabízeného zboží a služeb
        Artikl ............................. Zkratka artiklu, max 16 znaků. Například coca-cola nebo rucnik apod.
        Typ ................................ Typ podle výše uvedeného čísleníky TypyArtiklu.
        UTyp ............................... Účetní typ podle druhého výše uvedeného číselníu UcetniTypyArtiklu.
        PlneJmeno .......................... Plné jméno artiklu, tedy například láhev Coca-Cola 0.33l
        Nasobnost .......................... Číslo určující u permanentek kolikrát je možno je použít.
        Komentar ........................... Komentář, vysvětelení.
        Barcode ............................ Čárový kód, který je s artiklem spjat. Kdekoli zadáváme nebo vybíráme
                                             konkrétní artikl, můžeme i čtečkou čárového kódu sejmout příslušný kód.
                                             Může tedy být artikl coca-cola a mít Barcode=A901007A
    Cenik .................................. Ceník Artiklů s vazbou na způsob a kontext prodeje. Tedy za různých okolností
                                             může být cena nižší nebo vyšší a v případě reklamních akcí třeba i nulová.
        CenikovaPolozka .................... Automaticky přidělované číslo, pořád rostoucí. Nemá jiný než evidenční
                                             charakter, protože v Ceníku se orientujeme stejně přes kódy Artiklů.
        Poradi ............................. Pomocné číslo, kterým si můžeme pořadí položek v ceníku sami regulovat.
                                             Frekventované položky tak můžeme "nahnat" na začátek seznamu bez ohledu
                                             na to, že by třeba podle abecedy vyšky až ke konci seznamu.
        Artikl ............................. Zkratka artiklu.
        Nasobnost .......................... Opsáno z Artiklu, smysluplné jenom pro permanentky.
        TypCeny ............................ Typ ceny podle výše uvedeného číselníku. Ovlivňuje kontext prodeje.
        JednotkovaCena  .................... Cena za kus v daném kontextu prodeje.
        SazbaDPH ........................... Odpovídající sazba DPH. Může se s časem měnit. Každá provedená operace
                                             si nese tu sazbu, která byla platná v okamžiku prodeje.
        Barcode ............................ Čárový kód. Nebude shodný s čárovým kódem Artiklu. Potřebujeme přece
                                             odlišit i typy ceny ! Zase zlou69 ke zrychlenému zadávání.
    AArtikl ................................ Archiv Artiklu. Má stejné položky jako Artikl. Navíc jenom
                                             DatumDo, rozumí se datum do kdy záznam platil. 
    ACenik ................................. Analogický archiv ceníku.
Provozní tabulky a sklad ...................
    Sklad
        Artikl ............................. Zkratka Artiklu
        Ks ................................. Kolik kusů aktuálně máme
        Malo ............................... Dolní hranice, pod kterou má systém hlídat nedostatek na skladě
        Mnoho .............................. Horní hranice, nad kterou už sklad "praská" a je třeab artikl nebrat
    Historie ............................... Historie událostí v systému
        HSerial ............................ Systematicky a automaticky přidělované číslo. Přesně definuje pořadí
                                             manipulací bez ohledu na případné rozfázování hodin na různých počítačích.
        Udalost ............................ Zkratka podle číselníku Udalosti. Například Prodej, Inventura apod.
        Ks ................................. Počet kusů Artiklu, pokud je Artikl nějak účasten. Případně značí počet
                                             vyčerpaných návštěv apod.
        Artikl ............................. Artikl, kterého se operace týkala.
        Nasobnost .......................... Opsáno pro pořádek z Artiklu.
        CenikovaPolozka .................... Podle jaké položky Ceníku se prodávalo.
        JednotkovaCena ..................... Tedhy platná cena.
        TypCeny ............................ Tehdy platný typ ceny.
        CenaCelkem ......................... Kolik to stálo celkem včetně DPH.
        SazbaDPH ........................... Jaká byla sazba DPH
        DphCelkem .......................... Kolik dělal v penězích
        Klient ............................. Identifikace klienta
        KlientTxt .......................... Případně i textový popis
        Poznamka ........................... Případná poznámka k transakci. Povinná o Storna, Opravy apod.
        TypArtiklu ......................... Tedhy platný typ.
        UcetniTypArtiklu ................... Tehdy platný účetní typ.
        BarcodeA ........................... Čárový kód, kterým byla akce vyvolána.
        BarcodeB ........................... Čárový kód identifikující Artikl nebo Ceníkovou položku.
        CentralTime ........................ Přesný čas podle serveru.
Evidence klientů
    Klienti
        KSerial ............................ Automaticky přidělované a stále rostoucí číslo, slouží jenom pro
                                             jednoznačnou identifikaci.
        Prijmeni ........................... Příjmení klienta
        Jmeno .............................. Jméno klienta
        Tituly ............................. Tituly. Doporučujeme je zásadně raději nepoužívat nebo aspoň psát
                                             v adresách za jméno. Tedy Novák Pavel, Ing. CSc. Při třídění pak máme
                                             Nováky pěkně pohromadě bez ohledu na to, zda Ing. nebo ne-Ing.
        Ulice .............................. Ulice a číslo pro korespondecni
        Obec ............................... Obec
        Psc ................................ PSČ. Při hromadné korespondenci je pro poštu potřeba třídit balík
                                             podle PSČ a tedy proto evidujeme samostatně.
        Stat ............................... Kdyby byl někdo z klientů cizinec či v cizině bydlel.
        Telefon ............................ Telefonní spojení
        Mobil .............................. Mobilní telefon
        Email .............................. Emailová adresa
        Poznamka ........................... Stručná poznámka
        Dulezite ........................... Neveřejná poznámka. Například upozornění na nějaké zvláštnosti v
                                             požadavcích, taktní upozornění na handicap apod.
        DlouhyZapis ........................ Libovolně dlouhý zápis, jakási historie konzultací, shrnutí epizod návštěv apod.
        A,B,C,D,E,F,X ...................... Jednopísmenné sloupečky pro označování klientů. Například při organizaci
                                             dopisní kampaně apod. Prostě označíme v kolonce D křížkem a pak si řekneme,
                                             aby software natiskal pro všechny takto označené klienty dopis podle mustru M.
Plán provozu ............................... Bude popsáno separátně v agendě Notes. Plánování a rezervace běží jako
                                             separátní aplikace ve vlastním okénku a dá se s ní pracovat nezávisle na
                                             zbytku agendy.

Bullet Index kapitoly


JLABS Aktualizováno dne 20030616. Komentář: info@jlabs.cz