Zdrojový kód wiki Modifikace čárových kódů
Version 1.1 by Jan Šimeček on 2024/08/02 09:01
Show last authors
| author | version | line-number | content |
|---|---|---|---|
| 1 | = Regulární výraz pro modifikaci čárových kódů. = | ||
| 2 | |||
| 3 | |||
| 4 | * Čárové kódy je možné nyní upravovat v nastavení pomocí regulárního výrazu | ||
| 5 | ** Nastavení na zařízení: BARCODE_MODIFIER_REGEX_PATTERN | ||
| 6 | ** Regulární výraz musí obsahovat alespoň jednu dvojici kulatých závorek (tzv. grupa), ve které se nachází hledaná část čárového kódu. | ||
| 7 | *** Př. **(\d+) - **vyberou se všechna čísla | ||
| 8 | ** **Pozor!** Regulární výraz musí být napsán tak, aby vybíral správné sekvence ze zadaného vstupu, ne obraceně (tedy že by ignoroval nějaké sekvence) → Proto musí obsahovat alespoň jednu grupu. ´ | ||
| 9 | ** **Pozor** na mezery před a za, které je možné vložit do pole a následně uložit. Děje se tak například při kopírování regulárního výrazu z tohoto dokumentu. | ||
| 10 | |||
| 11 | |||
| 12 | == Regulární výrazy == | ||
| 13 | |||
| 14 | * Výchozí hodnota: **(.*)** - naupravuje čárový kód | ||
| 15 | * Odstranění počátečních nul: **^0*(\d+)$** | ||
| 16 | * Odstranění lomítka (resp. speciálních znaků): **(\d+)\/?(\d+)** - znak '/' může být nahrazen za jiný | ||
| 17 | * Odstranění počátečních nul a lomítka : **^0*(\d+)\/?(\d+)** | ||
| 18 | * Odstranění nul ze začátku a odstranění kontrolních číslic: **[0]{2}([1-9]{1}[0-9]{8})[~\~\d]{1}|[0]{3}([1-9]{1}[0-9]{7})[~\~\d]{1}|[0]{1}([1-9]{1}[0-9]{5})[~\~\d]{1}|(.*)** | ||
| 19 | ** pokud má čárový kód délku 12 znaků, tak ze začátku odstraní nuly a odebere kontrolní číslici | ||
| 20 | ** pokud má čárový kód délku 11 znaků, tak ze začátku odstraní nuly a odebere kontrolní číslici | ||
| 21 | ** pokud má čárový kód délku 8 znaků, tak ze začátku odstraní nulu a odebere kontrolní číslici | ||
| 22 | ** pokud nevyhovuje ničemu, vrací původní řetězec | ||
| 23 | * Můžou se definovat čárové kódy s doplněním prefixu, suffixu do prostřed řetězce | ||
| 24 | ** oddělovač regulárního výrazu a způsobu náhrady je paragraf **§** | ||
| 25 | ** **(91)39[0]*([0-9]*)§$11C$2** | ||
| 26 | *** kulaté závorky specifikují skupinu | ||
| 27 | *** **$** a číslo skupiny reprezentuje reálnou hodnotu v dané skupině | ||
| 28 | *** je pak možné sekládat výsledný řetězec včetně proházení pořadí dat | ||
| 29 | *** předchozí příklad vygeneruje: **911C6551** | ||
| 30 | |||
| 31 | === **Konkrétní výrazy pro některé instance** === | ||
| 32 | |||
| 33 | ==== **Plzeň** ==== | ||
| 34 | |||
| 35 | * **([\d\w]+)[\/\-]?([\d\w]+) - **maže znaky lomítka a pomlčky. Nechává čísla a písmena (písmena používají v Plzeňských kartách). | ||
| 36 | |||
| 37 | ==== **TSK - Trenčín** ==== | ||
| 38 | |||
| 39 | * **[0]{2}([\d**]{9})[**\d**]{1} - Pokud je čárový kód 12 znaků a začíná dvěma nulami, tak je ořízne a odstraní kontrolní číslici. Jejich čtečky u těchto EAN13 kódů automaticky odřezávají první nulu - reálně jsou 3 nuly, čtečka vrátí pouze 2. | ||
| 40 | |||
| 41 | ==== TSK - Povážská knižnica ==== | ||
| 42 | |||
| 43 | * **[0]*([\d]*)** - ruzny počet nul na začátku čárového kódu, bez kontrolní číslice | ||
| 44 | |||
| 45 | ==== ŠAVS ==== | ||
| 46 | |||
| 47 | * problémové kódy: **"**° žš+áí**" **- je potřeba se zbavit mezer | ||
| 48 | * INC_NUMBER_MODIFIER_REGEX_PATTERN nastaveno na **^\s*(\d+)$** | ||
| 49 | * BARCODE_MODIFIER_REGEX_PATTERN nastaveno na **^\s*(\d+)$** | ||
| 50 | |||
| 51 | ==== **Starlib** ==== | ||
| 52 | |||
| 53 | * **[0]{1}([\d]{10})[\d]{1} **- Problémové kódy 039410319006 - odtržení nuly na začátku a odtržení kontrolní číslice. | ||
| 54 | |||
| 55 | ==== Měk Znojmo nebo Měk Třebíč ==== | ||
| 56 | |||
| 57 | * **[0]{5}([\d]{6})[\d]{1}|(.*)** - knihy mají u nich 000000187352 a skenery to čtou 000001873528, tedy je potřeba oříznout 5 nul a kontrolní číslici | ||
| 58 | |||
| 59 | == Testování == | ||
| 60 | |||
| 61 | * Pro testování regulárního výrazu existuje v záložce 'Systém' testovací blok, ve kterém jsou definované používané čárové kódy (EAN13, EAN8 ..) + je možné zadat vlastní čárové kódy (oddělené středníkem) pro testování. | ||
| 62 | * Je třeba otestovat na celé množině možných čárových kódů. | ||
| 63 | |||
| 64 | == Kde se používá? == | ||
| 65 | |||
| 66 | * Výpůjčky | ||
| 67 | ** Čárový kód | ||
| 68 | ** Složený čárový kód | ||
| 69 | ** Čtenářské číslo | ||
| 70 | * Servisní katalog | ||
| 71 | ** Záložka "Č. kód/Přír. č" | ||
| 72 | ** Kombinované vyhledávání → vyhledávání podle čárového kódu |