Definícia štruktúry kódov, resp. inventárnych čísel

Na niekoľkých miestach systému je možné s výhodou využiť automatické predvypĺňanie kódov, inv. čísel či iných poradových čísel podľa užívateľom definovanej štruktúry. Tzn. napr. pri zadávaní novej firmy do adresára, novej karty do skladu a pod. sa môže automaticky vygenerovať nové číslo kódu o jedna vyššie ako je posledné použité v rámci definovanej štruktúry.

Pre spôsob definície štruktúry platia pravidlá zhodné pre celý systém, preto ich popíšeme v tejto kapitole. Využívajú sa napr. na definíciu

Štruktúra kódu sa definuje:

  • pro kód firmy v Adresáři - v agendě Firemné údaje funkčním tlačítkem Struktura kódu firmy
  • pro kód provozovny v Provozovnách - v agendě Firemné údaje funkčním tlačítkem Struktura kódu provozovny
  • pro kód hlavní karty - v agendě Firemné údaje funkčním tlačítkem Struktura kódu sklad. karty
  • pro kód zakázky - v agendě Firemné údaje funkčním tlačítkem Struktura kódu zakázky
  • pro kód obchodního případu - v agendě Firemné údaje funkčním tlačítkem Struktura kódu o. případu
  • pro kód projektu - v agendě Firemné údaje funkčním tlačítkem Struktura kódu projektu
  • pro kód šarže/sér.čísla - v definici skladové karty typu se šaržemi/sér. čísly nebo v číselníku Štruktúry kódov šarží a sériových čísel funkčním tlačítkem Struktura sér.čísla/šarže
  • pro inventární číslo majetku - v agendě Nastavenie parametrov majetku funkčním tlačítkem Struktura inv. čísla pro DM resp. Struktura inv. čísla pro DrM
  • pro osobní číslo zaměstnance - v agendě Nastavenie parametrov miezd funkčním tlačítkem Struktura os. čísla zaměstnance
  • pre podacie číslo odoslanej pošty - v rámci funkcie Podacie čísla na hromadné očíslovanie odoslanej pošty

Kód resp. inventárne číslo (ďalej len kód) má nasledujúcu štruktúru: PREFIX-TELO-SUFIX

Prefix=AA-, telo=0002, sufix=/99

Platí:

  • súčet dĺžok jednotlivých častí nesmie prekročiť dĺžku kódu povolenú programom
  • žiadna časť nie je povinná (avšak definícia by mala byť zmysluplná)
Názov Popis
Automaticky generovať kód

Je-li zaškrtnuto, kódy se budou generovat automaticky, a to dle struktury nastavené dále. Pokud nechcete automatické předvyplňování kódu využívat, položku odškrtněte. Kódy potom budete zadávať ručne.

Táto voľba nie je k dispozícii pre hromadné generovanie podacích čísel funkciou Podacie čísla v agende Odoslanej pošty, nakoľko tam nemá význam.

Prefix

Možno chápať ako rozlišovaciu časť kódov, tzn. pevne alebo voliteľne daný reťazec znakov, ktorým kód začína. Nastavujú sa pre neho položky:

  • Dĺžka prefixu - počet znakov rozlišovacej časti
  • Predpis - k dispozícii len, ak je zadaná dĺžka prefixu väčšia ako nula. Alfanumerický reťazec, ktorý sa bude predvypĺňať pri generovaní kódu ako prefix. Ak je zadaný reťazec dlhší ako dĺžka prefixu, použije sa prvých x znakov zľava. Ak je zadaný reťazec kratší ako dĺžka prefixu, doplní sa príslušným počtom medzier sprava.
  • Povoliť zmeny - čí môže užívateľ prefix vo vygenerovanom kóde editovať, alebo nie. Ak sú povolené zmeny, tak pre editáciu generovaného kódu platí:
    • Pri vstupe do prefixu tabulátorom alebo dvojklikom myši, ale aj jednoduchým kliknutím myši, sa aktuálny obsah podfarbí (vyberie). Tzn. označia sa všetky znaky prefixu vrátane medzier doplnených sprava.
    • Zahájením editácie (tzn. zadaním akéhokoľvek znaku) sa pôvodný obsah položky vymaže a je tak možné priamo zadať nový prefix bez toho, že by užívateľ musel mazať medzery doplnené sprava na príslušnú dĺžku prefixu.

Varianty nastavení objasníme na príkladoch:

Príklad 1: Varianta s pevným prefixem

Budeme evidovat např. karty pouze jednoho typu, jejichž kód bude začínat písmennou zkratkou AA- a předpokládáme menší počet skladových položek než deset tisíc, budeme tedy požadovat čtyřmístnou číselnou část.
Zadáme:

Potom pri zadaní novej karty bude predvyplnený kód AA-0001, v ďalšej karte AA-0002 atď. Predvyplnený prefix nebude možné meniť.

Príklad 2: Varianta se zadávaným prefixem
Budeme evidovat karty více typů. Napr. AA- a BB-, oba chceme číslovať v samostatnom číselnom rade (potrebujeme dva číselné rady).
Zadáme:

Pri tomto nastavení bude prefix nevyplnený, po jeho zadaní sa automaticky zaktualizuje "telo" kódu, tzn. predvyplní sa o jedničku zväčšené posledné číslo v rade s daným prefixom. Teda nech posledné karty sú AA-0011, BB-0015. Zadáme-li novou kartu a vyplníme prefix AA-, doplní se automaticky číslo 0012, změníme-li prefix na BB-, zaktualizuje se číslo na 0016 apod.

Pokud by většina karet byla v řadě AA- a jen výjimky byly v řadě BB-, bylo by výhodnější, nenechat předpis prefixu prázdný, ale zadat do něj řetězec "AA-" a v případě potřeby jej při zadání nové karty změnit na BB-. Teda pri zadaní novej karty by predvypĺňal napr. AA-0012, AA-0013 atď. a pokiaľ by ste potrebovali zadať kartu v rade BB, opravili by ste prefix na BB, pričom sa opäť zaktualizuje posledné číslo v rade.

Dĺžka tela

Délkou těla se rozumí počet míst vyhrazených pro řadu, která se bude pro každou novou firmu nebo kartu zvyšovat. Vo väčšine prípadov pôjde o číselný rad, ale teoreticky možno zadávať aj znaky. Tělo kódu tedy nechápeme jako číslo, ale jako sekvenci číslic nebo znaků, které se postupně povyšují, a to číslice od nuly do devítky, písmena dle abecedy. Objasníme na príklade:

Príklad 3: Chceme mať telo ako číselný rad trojmiestny. Začneme číslovať od jednotky (zľava doplnené nulami na danú dĺžku), teda telo bude 001. Ďalšia sekvencia bude 002, 003, 004, 005, 006, 007, 008, 009, 010, 011,....., 099, 100 atď.

Príklad 4: Začneme číslovať od 0a1. ďalšia sekvencia bude: 0a2, 0a3, 0a4, 0a5, 0a6, 0a7, 0a8, 0a9, 0b0, 0b1, 0b2, ..., 0b9, 0c0, 0c1 atď.

Pokiaľ zmeníte počas behu dĺžku tela kódu, systém to chápe ako nový rad a začne číslovať od začiatku, resp. od posledného čísla (reťazca) v rade s rovnakou dĺžkou tela.

Např. máte tělo třímístné a jste u čísla 999. Predĺžite teda telo na štyri miesta. Potom systém neponúka 1000, ale čísluje od posledného čísla v rade s rovnakou dĺžkou tela, teda napr. 0001. Možno ale pochopiteľne ponúkané číslo zmeniť na 1000 a ďalšie čísla už budú 1001, 1002 atď.

Pozor! V takovém případě je třeba počítat s tím, že se záznamy při řazení dle kódu budou řadit jinak než v pořadí, v němž byly zadány. Např. Automaticky předvyplněný kód sklad. karty má délku 4. Tzn. karty sú číslované od 0000 do 9999. Ale karet už je víc jak 10 000 a je třeba délku kódu rozšířit. Po rozšírení kódu na 5 sa karta s kódom 10000 nezaradí nakoniec (aby to tak nebolo, kód 9999 by sa musel opraviť na 09999), ale zaradí sa za kartu s kódom 1000.

Vyššie spomenutý problém je možné riešiť servisne doplnením kódu existujúcich záznamov na požadovanú dĺžku pomocou jednoduchého SQL update, ktorý si môžete objednať u servisnej siete dodávateľa.

Pre editáciu dĺžky tela kódu platí:

  • Při vstupu do pole pro délku těla kódu tabulátorem nebo dvojklikem myši, ale také jednoduchým kliknutím myši, se aktuální obsah podbarví (vybere).
  • Zahájením editace (tj. zadáním jakéhokoli znaku) se původní obsah položky vymaže.
Sufix

Pevne alebo voliteľne daný reťazec znakov, ktorým kód končí. Zadávané položky:

  • Dĺžka sufixu - ako pri prefixe
  • Predpis - ako pri prefixe
  • Povoliť zmeny
  • Zohľadniť pri generovaní

Platia pre neho rovnaké pravidlá ako pre prefix. Navyše je iba položka Zohľadniť pri generovaní, ktorá hovorí, či je sufix podstatný pre číselný rad, či sa čísluje bez ohľadu na zadaný sufix. Objasníme na príkladoch:

Príklad 5: Majme predpis kódu podľa Príkladu 2. Ďalej nech sufix má dĺžku=3, predpis: /99, je možné ho meniť a nemá sa zohľadňovať pri generovaní. Potom majme poslednú zadanú kartu s kódom AA-0012/99. Novo zadaná karta bude mať predvyplnený kód AA-0013/99. Pokiaľ zmeníme sufix na /00, číslo v rade sa nezmení a karta bude mať po uložení kód AA-0013/00. Ďalšia nová karta by potom mala číslo 0014, teda predvyplnený kód AA-0014/99 atď.

Príklad 6: Majme predpis kódu podľa Príkladu 5, ale sufix sa má zohľadňovať pri generovaní kódu. Novo zadaná karta bude mať predvyplnený kód AA-0013/99. Pokiaľ zmeníme sufix na /00, číslo v rade sa zaktualizuje a karta bude mať kód napr. AA-0001/00. Ďalšia nová karta so sufixom /99 by potom mala číslo 0014, karta so sufixom /00 by mala číslo 0002 atď.

Náhľad Zobrazí príklad kódu vygenerovaného podľa zadanej štruktúry.

Funkcia na vyhľadanie záznamu s posledným existujúcim kódom v rade danom zadanou definíciou štruktúry kódu

Ak má užívateľ v agende nastavené automatické predvypĺňanie kódov, inventárnych čísel alebo iných poradových čísel podľa užívateľom definovanej štruktúry kódu a potrebuje nájsť záznam, ktorý obsahuje posledný systémom vygenerovaný kód, môže využiť funkciu na nájdenie posledného existujúceho kódu v rade danom nastavením automatického generovania kódov pre danú agendu. Túto funkciu je možné vyvolať, ak stojí v editačnom režime v záložke Detail príslušnej agendy kurzor na položke, ktorej obsah sa predvypĺňa pomocou automatického generovania kódu (tzn. napr. na položke Kód, Inventárne číslo, Osobné číslo, Názov sér.čísla/šarže a pod.), pomocou kombinácie klávesov Ctrl+Shift+P. Funkcia vyhľadá záznam s posledným existujúcim kódom v rade a zobrazí ho spolu s názvom a v prípade skrytého záznamu aj s informáciou o tom, že je záznam skrytý. V agendě Adresár firiem navíc zobrazí také kód a název následovnické firmy, pokud je záznam s nalezeným posledním kódem firmy předchůdcem nějaké jiné firmy. Funkcia nie je k dispozícii v agende Odoslaná pošta.

Príklad: V agendě Adresár firiem se předvyplňuje kód firmy na základě automatického generování kódů ve tvaru K-0001. V agendě Adresár firiem jsou zadány záznamy s kódem K-0001 až K-0156. Užívateľ zadáva nový záznam do adresára a do položky Kód sa predvyplní K-0306 namiesto očakávaného kódu k-0157. Po vyvolaní funkcie na vyhľadanie záznamu s posledným existujúcim kódom v rade danom zadanou definíciou štruktúry kódu sa objaví nasledujúca informácia:
- Záznam s posledným kódom v rade: Kód: K-0305, Názov: GHJ s.r.o., Záznam je skrytý.
Užívateľ vďaka tomu ľahko získa informáciu o zázname s kódom, z ktorého systém vychádza pri automatickom generovaní kódu. Následne môže užívateľ neštandardný kód opraviť, aby systém naďalej generoval kódy v súvislom rade.

Zmíněnou funkci nelze využít v agendě Adresár firiem vyvolaném z kas pokladního/restauračního prodeje. Viď popis pri funkcii Pridať novú firmu.