Kod źródłowy Wiki Modifikace čárových kódů
Ostatnio modyfikowane 2025/11/10 12:16 przez Jan Slezák
Pokaż ostatnich autorów
| author | version | line-number | content |
|---|---|---|---|
| 1 | = Wyrażenie regularne do modyfikacji kodów kreskowych = | ||
| 2 | |||
| 3 | * Kody kreskowe można teraz edytować w ustawieniach za pomocą wyrażenia regularnego | ||
| 4 | ** Ustawienia w urządzeniu: BARCODE_MODIFIER_REGEX_PATTERN | ||
| 5 | ** Wyrażenie regularne musi zawierać co najmniej jedną parę nawiasów okrągłych (tzw. grupa), w której znajduje się poszukiwana część kodu kreskowego. | ||
| 6 | ** Przykład: **(\d+)** – wybrane zostaną wszystkie cyfry | ||
| 7 | ** **Uwaga**! Wyrażenie regularne musi być napisane w taki sposób, aby wybierało prawidłowe sekwencje z podanego wpisu, a nie odwrotnie (tj. ignorowało niektóre sekwencje) → Dlatego musi zawierać co najmniej jedną grupę. ´ | ||
| 8 | ** Należy zwrócić **uwagę **na spacje przed i po, które można wstawić w polu, a następnie zapisać. Dzieje się tak na przykład podczas kopiowania wyrażenia regularnego z tego doku | ||
| 9 | |||
| 10 | == Wyrażenia regularne == | ||
| 11 | |||
| 12 | * Wartość domyślna: **(.*)** – nie modyfikuje kodu kreskowego | ||
| 13 | * Usunięcie początkowych zer: **^0*(\d+)$** | ||
| 14 | * Usunięcie ukośnika (lub znaków specjalnych): **(\d+)\/?(\d+)** - znak „/” można zastąpić innym | ||
| 15 | * Usunięcie początkowych zer i ukośnika**: ^0*(\d+)\/?(\d+)** | ||
| 16 | * Usunięcie zer na początku i usunięcie cyfr kontrolnych: **[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}|(.* )** | ||
| 17 | ** jeśli kod kreskowy ma długość 12 znaków, usuwa z początku zera i cyfrę kontrolną | ||
| 18 | ** jeśli kod kreskowy ma długość 11 znaków, usuwa z początku zera i cyfrę kontrolną | ||
| 19 | ** jeśli kod kreskowy ma długość 8 znaków, usuwa z początku zero i cyfrę kontrolną | ||
| 20 | ** jeśli nie spełnia żadnego z warunków, zwraca oryginalny ciąg znaków | ||
| 21 | * Można definiować kody kreskowe z dodaniem przedrostka lub przyrostka do środka ciągu znaków | ||
| 22 | ** separatorem wyrażenia regularnego i sposobu zamiany jest paragraf** §** | ||
| 23 | ** **(91)39[0]*([0-9]*)§$11C$2** | ||
| 24 | *** okrągłe nawiasy określają grupę | ||
| 25 | *** **$** i numer grupy reprezentuje rzeczywistą wartość w danej grupie | ||
| 26 | *** można następnie złożyć wynikowy ciąg znaków, w tym zamienić kolejność danych | ||
| 27 | *** poprzedni przykład generuje: **911C6551** | ||
| 28 | * ((( | ||
| 29 | === **Konkretne wyrażenia dla niektórych instancji** === | ||
| 30 | ))) | ||
| 31 | |||
| 32 | ==== **Pilzno** ==== | ||
| 33 | |||
| 34 | * **([\d\w]+)[\/\-]?([\d\w]+)** – usuwa znaki ukośnika i myślnika. Pozostawia cyfry i litery (litery używane w kartach pilzneńskich). | ||
| 35 | |||
| 36 | ==== **TSK - Trenčín** ==== | ||
| 37 | |||
| 38 | * **[0]{2}([\d]{9})[\d]{1} **– Jeśli kod kreskowy ma 12 znaków i zaczyna się od dwóch zer, to są one obcinane i usuwana jest cyfra kontrolna. Czytniki tych kodów EAN13 automatycznie obcinają pierwsze zero – w rzeczywistości są to 3 zera, ale czytnik zwraca tylko 2. | ||
| 39 | |||
| 40 | ==== TSK - Povážská knižnica ==== | ||
| 41 | |||
| 42 | * **[0]*([\d]*)** - różna liczba zer na początku kodu kreskowego, bez cyfry kontrolnej | ||
| 43 | |||
| 44 | ==== ŠAVS ==== | ||
| 45 | |||
| 46 | * problematyczne kody: „° žš+áí” – należy usunąć spacje | ||
| 47 | * INC_NUMBER_MODIFIER_REGEX_PATTERN ustawione na **^\s*(\d+)$** | ||
| 48 | * BARCODE_MODIFIER_REGEX_PATTERN ustawione na **^\s*(\d+)$** | ||
| 49 | |||
| 50 | ==== **Starlib** ==== | ||
| 51 | |||
| 52 | * **[0]{1}([\d]{10})[\d]{1} **- Problematyczne kody 039410319006 – odcięcie zera na początku i odcięcie cyfry kontrolnej. | ||
| 53 | |||
| 54 | ==== Měk Znojmo albo Měk Třebíč ==== | ||
| 55 | |||
| 56 | * **[0]{5}([\d]{6})[\d]{1}|(.*)** - książki mają u nich 000000187352, a skanery odczytują 000001873528, więc trzeba odciąć 5 zer i cyfrę kontrolną. | ||
| 57 | |||
| 58 | ==== UNIZA ==== | ||
| 59 | |||
| 60 | * ((( | ||
| 61 | ^0(\d{17}) - jeśli kod ma długość 18, to usuwa 0 na początku | ||
| 62 | ))) | ||
| 63 | |||
| 64 | == Testowanie == | ||
| 65 | |||
| 66 | * W celu przetestowania wyrażenia regularnego w zakładce „System” znajduje się blok testowy, w którym zdefiniowane są używane kody kreskowe (EAN13, EAN8 ...) + można wprowadzić własne kody kreskowe (oddzielone średnikiem) do przetestowania. | ||
| 67 | * Należy przetestować cały zestaw możliwych kodów kreskowych. | ||
| 68 | |||
| 69 | == Gdzie się stosuje? == | ||
| 70 | |||
| 71 | * (% style="font-size:14px" %)Wypożyczenia | ||
| 72 | ** Kod kreskowy | ||
| 73 | ** Kod kreskowy złożony | ||
| 74 | ** Numer czytelnika | ||
| 75 | * Katalog serwisowy | ||
| 76 | ** Zakładka „Nr kodu/Nr przydziału” | ||
| 77 | ** Wyszukiwanie łączone → wyszukiwanie według kodu kreskowego |