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:

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

Ak je zaškrtnuté, kódy sa budú generovať automaticky a to podľa štruktúry nastavenej ďalej. Pokiaľ nechcete automatické predvypĺňanie kódu využívať, nechajte nezačiarknuté. 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. Ak zadáme novú kartu a vyplníme prefix AA-, doplní sa automaticky číslo 0012, ak zmeníme prefix na BB-, zaktualizuje sa číslo na 0016 a pod.

Ak by väčšina kariet bola v rade AA- a len výnimky boli v rade BB-, bolo by výhodnejšie, nenechať predpis prefixu prázdny, ale zadať do neho reťazec "AA-" a v prípade potreby ho pri zadaní novej karty zmeniť 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ĺžkou tela sa rozumie počet miest, vyhradených pre rad, ktorý sa bude pre každú novú firmu alebo kartu zvyšovať. Vo väčšine prípadov pôjde o číselný rad, ale teoreticky možno zadávať aj znaky. Telo kódu teda nechápe ako číslo, ale ako sekvenciu číslic alebo znakov, ktoré sa postupne povyšujú a to číslice od nuly po deviatku, písmena podľa 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.

Tip pre vás: Takže napr. máte telo trojmiestne a ste pri čísle 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 takom prípade je potrebné počítať s tým, že sa záznamy pri radení podľa kódu budú radiť inak, ako v poradí, v ktorom boli zadané. Príklad: Autom. predvyp. kód sklad. karty má dĺžku 4. Tzn. karty sú číslované od 0000 do 9999. Ale kariet už je viac ako 10 000 kariet a je potrebné dĺžku kódu rozšíriť. 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í:
- Pri vstupe do poľa pre dĺžku tela kódu tabulátorom alebo dvojklikom myši, ale aj jednoduchým kliknutím myši sa aktuálny obsah podfarbí (vyberie).
- Zahájením editácie (tzn. zadaním akéhokoľvek znaku) sa 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 agende Adresár firiem sa navyše zobrazí tiež kód a názov nasledovníckej firmy, ak je záznam s nájdeným posledným kódom firmy predchodcom nejakej inej firmy. Funkcia nie je k dispozícii v agende Odoslaná pošta.

Príklad: V agende Adresár firiem sa predvypĺňa kód firmy na základe automatického generovania kódov v tvare K-0001. V adresári sú zadané záznamy s kódom 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.

Spomenutú funkciu nie je možné v Adresári vyvolanom z pokladní pokladničného/reštauračného predaja. Viď popis pri funkcii Pridať novú firmu.