Changes for page Postup převodu dat z Clavia
Last modified by Jan Šimeček on 2025/11/03 15:11
From version 22.1
edited by Jan Šimeček
on 2024/06/28 10:19
on 2024/06/28 10:19
Change comment:
There is no comment for this version
To version 46.1
edited by Jan Šimeček
on 2024/06/28 11:03
on 2024/06/28 11:03
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -9,17 +9,19 @@ 9 9 == Tipy a Triky == 10 10 11 11 {{html}} 12 -<button onclick="toggleContent()">Tipy a Triky - přečíst</button> 13 -<div id="content" style="display: none;"> 12 +<button onclick="toggleContent('content1')">Tipy a Triky - přečíst</button> 13 +<div id="content1" style="display: none;"> 14 +<hr style="border: none; height: 5px; background-color: black;"> 14 14 <p>Revize se nepřevádí, musí být před zahájením převodu do Tritia uzavřena.</p> 15 15 <p>Dispečink Clavia se nepřevádí, pokud data potřebují, tak si je musí před vypnutím Clavia opsat.</p> 16 16 <p>Statistiky LWWW se nepřevádí, knihovna si je musí opsat.</p> 17 17 <p>Neměnit klíč v definici poplatků po testovacím převodu, nepovede se pak napojení poplatků při dalším importu - měnit až po posledním importu knihovny.</p> 18 18 <p>Neměnit zkratky v odděleních, nebude fungovat vazba výchozího oddělení čtenáře - měnit až po ostrém startu.</p> 20 +<hr style="border: none; height: 5px; background-color: black;"> 19 19 </div> 20 20 <script> 21 - function toggleContent() { 22 - var content = document.getElementById( "content");23 + function toggleContent(contentId) { 24 + var content = document.getElementById(contentId); 23 23 if (content.style.display === "none") { 24 24 content.style.display = "block"; 25 25 } else { ... ... @@ -59,31 +59,75 @@ 59 59 60 60 == Příprava CLAVIUS SQL == 61 61 62 -Pro převod dat akvizice, výpůjčního protokolu a další částí se používá přímý převod do Tritiia z SQL databáze Clavius. 63 -Proto je nutné převést celý Clavius do SQL (lze využít SQL server pro Tritius), tento krok lze vynechat jen pokud se importuje pouze fond. 64 +{{html}} 65 +<button onclick="toggleContent('content4')">O programu NASQL</button> 66 +<div id="content4" style="display: none;"> 67 +<hr style="border: none; height: 5px; background-color: black;"> 68 +<p>Pro převod dat akvizice, výpůjčního protokolu a další částí se používá přímý převod do Tritiia z SQL databáze Clavius. 69 +<p>Proto je nutné převést celý Clavius do SQL (lze využít SQL server pro Tritius), tento krok lze vynechat jen pokud se importuje pouze fond. 70 +<p>Je zapotřebí použít program <b>NASQL.exe</b></p> 71 +<hr style="border: none; height: 5px; background-color: black;"> 72 +</div> 73 +<script> 74 + function toggleContent(contentId) { 75 + var content = document.getElementById(contentId); 76 + if (content.style.display === "none") { 77 + content.style.display = "block"; 78 + } else { 79 + content.style.display = "none"; 80 + } 81 + } 82 +</script> 83 +{{/html}} 64 64 65 -* postup vytvoření databáze clavius na SQL serveru a převodu dat Clavia pomocí **NASQL.EXE** viz: [[http:~~/~~/www.vkta.cz/LANius/diskety/sql/mssql.htm>>url:http://www.vkta.cz/LANius/diskety/sql/mssql.htm]] pro MSSQL 66 -* není potřeba nic nastavovat pouze je potřeba SQL uživatel který má plná práva pro databázi clavius 67 - 68 68 == Importování knihovny pokud v cílovém Tritiu již je část svazků (např. Výměnné soubory) == 69 69 70 70 V případě připojování dat je nutná existence čárového kódu v tabulce svazky u výměnných souborů, aby došlo ke správnému napárování: 71 71 72 72 {{html}} 73 -<button onclick="toggleContent()">Postup kontroly a příkazy pro vygenerování</button> 74 -<div id="content" style="display: none;"> 90 +<button onclick="toggleContent('content2')">Postup kontroly a příkazy pro vygenerování</button> 91 +<div id="content2" style="display: none;"> 92 +<hr style="border: none; height: 5px; background-color: black;"> 93 +<p><b>Kontrola dat v Claviu, jestli obsahují vygenerovaný správně ckod, kdy 31840 - je prefix nadřízené knihovny:</b></p> 94 +<br> 95 +<p>browse for betw(val(pcislo),500000,599999) and !empt(ckod) and ckod<>'31840'</p> 96 + <br> 97 +<p><b>Pokud nic nevrátí, tak netřeba dělat! V opačném případě je potřeba předem dogenerovat do svazky.ckod čárový kód s prefiem nadřízené knihovny:</b></p> 98 + <br> 99 +<p>browse for betw(val(pcislo),500000,599999) and betw(len(allt(ckod)),0,8)</p> 100 +<br> 101 +<p>repl ckod with '31840'+padl(allt(pcislo),8,'0') for betw(val(pcislo),500000,599999) and betw(len(allt(ckod)),0,8)</p> 102 +<p>repl ckod with '31840'+right(ckod,7) for betw(val(pcislo),500000,599999) and !empt(ckod) and ckod<>'31840'</p> 103 +<hr style="border: none; height: 5px; background-color: black;"> 104 +</div> 105 +<script> 106 + function toggleContent(contentId) { 107 + var content = document.getElementById(contentId); 108 + if (content.style.display === "none") { 109 + content.style.display = "block"; 110 + } else { 111 + content.style.display = "none"; 112 + } 113 + } 114 +</script> 115 +{{/html}} 75 75 76 -<p>Kontrola dat v Claviu, jestli obsahují vygenerovaný správně ckod, kdy 31840 - je prefix nadřízené knihovny: 77 -browse for betw(val(pcislo),500000,599999) and !empt(ckod) and ckod<>'31840' 78 -Pokud nic nevrátí, tak netřeba dělat! V opačném případě je potřeba předem dogenerovat do svazky.ckod čárový kód s prefiem nadřízené knihovny: 79 -browse for betw(val(pcislo),500000,599999) and betw(len(allt(ckod)),0,8) 80 -repl ckod with '31840'+padl(allt(pcislo),8,'0') for betw(val(pcislo),500000,599999) and betw(len(allt(ckod)),0,8) 81 -repl ckod with '31840'+right(ckod,7) for betw(val(pcislo),500000,599999) and !empt(ckod) and ckod<>'31840'</p> 117 +Je nutné zkontrolovat u VS, aby svazky měli {{html}}<span style="color: red;">vyplněný</span>{{/html}} CKOD (viz výše) a poté {{html}}<span style="color: red;">PIDKN</span>{{/html}} obsahovalo znak {{html}}<span style="color: red;">˙</span>{{/html}} : 82 82 119 +{{html}} 120 +<button onclick="toggleContent('content3')">Postup kontroly a příkazy pro vygenerování</button> 121 +<div id="content3" style="display: none;"> 122 +<hr style="border: none; height: 5px; background-color: black;"> 123 +<p><b>Kontrola:</b></p> 124 +<p>pohled("SELECT * FROM svazky where ckod <> ' ' AND ckod not like 'prefixImportovaneREKSovky%' AND pidkn != '˙'")</p> 125 +<p></p> 126 +<p><b>Oprava:</b></p> 127 +<p>pohled("UPDATE svazky SET pidkn = '˙' where ckod <> ' ' AND ckod not like 'prefixImportovaneREKSovky%' AND pidkn != '˙'")</p> 128 +<hr style="border: none; height: 5px; background-color: black;"> 83 83 </div> 84 84 <script> 85 - function toggleContent() { 86 - var content = document.getElementById( "content");131 + function toggleContent(contentId) { 132 + var content = document.getElementById(contentId); 87 87 if (content.style.display === "none") { 88 88 content.style.display = "block"; 89 89 } else { ... ... @@ -95,16 +95,14 @@ 95 95 96 96 //Rozdíly oproti bodu 2.6.2 Import dat~:// 97 97 98 -1. **Díla:** 144 +1. **{{html}}<span style="color: green;">Díla:</span>{{/html}}** 99 99 100 -* 101 -** vybrat v roletce pro duplicity: Kontroluje duplicitu čárových kódů - duplicitní čárové kódy neimportuje a nepřidá je failed souboru 102 -*** doporučuji použít až na druhý pokus a okem zkontrolovat, že jsou to opravdu duplicity s knihovnou, která už je na serveru 146 +* vybrat v roletce pro duplicity: {{html}}<span style="color: red;">Kontroluje duplicitu čárových kódů - duplicitní čárové kódy neimportuje a nepřidá je failed souboru</span>{{/html}} 147 +** doporučuji použít až na druhý pokus a okem zkontrolovat, že jsou to opravdu duplicity s knihovnou, která už je na serveru 103 103 104 -1. **Výpůjčky:** 149 +1. **{{html}}<span style="color: green;">Výpůjčky:</span>{{/html}}** 105 105 106 -* 107 -** Vybrat KPUJCKY_REKS a neimportovat KPUJCKY! 151 +* Vybrat {{html}}<span style="color: red;">KPUJCKY_REKS</span>{{/html}} a neimportovat KPUJCKY! 108 108 109 109 == Import dat v Tritiu, pokud v cílovém Tritiu není část svazků (např. Výměnné soubory) == 110 110 ... ... @@ -112,11 +112,15 @@ 112 112 113 113 Je potřeba zaregistrovat novou knihovnu v Tritiu (Přihlášení do Tritia tlačítko Registrovat) 114 114 115 -Při převádění REKSového Clavia nebo převádění knihovny, která má Carmen (Knihovna s REKSovkami - Clavius neobsahuje pouze jednu knihovnu) nedávat po registraci vytvořit webovou definici - vznikne naimportováním DEFWEB, kdy dojde k založení webové definice pro každou REKSovou knihovnu. 159 +Při převádění REKSového Clavia nebo převádění knihovny, která má {{html}}<span style="color: red;">Carmen</span></span>{{/html}} (Knihovna s REKSovkami - Clavius neobsahuje pouze jednu knihovnu) nedávat po registraci vytvořit webovou definici - vznikne naimportováním DEFWEB, kdy dojde k založení webové definice pro každou REKSovou knihovnu. 116 116 117 -~!!!Pokud se jedná o sdílený server, kde již běží knihovny na ostro, tak provést zálohu databáze, kdyby se něco zvrtlo co nedokáže [[Postup Odstranění importovaných dat>>url:https://confluence.tritius.cz/pages/viewpage.action?pageId=102925148]] vyřešit a bylo potřeba provést obnovení!!! 161 +{{html}} 162 +<span style="color: red;">!!!Pokud se jedná o sdílený server, kde již běží knihovny na ostro, tak provést zálohu databáze, kdyby se něco zvrtlo co nedokáže <a href="https://doc.tritius.cz/bin/view/uzivatelsky-manual/Pro-spravce/Postup-prevodu-dat-z-Clavia/Postup-Odstraneni-importovanych-dat/">Postup Odstranění importovaných dat</a> vyřešit a bylo potřeba provést obnovení!!!</span> 163 +{{/html}} 118 118 119 -~!!!Před zahájením zkontrolovat dostatek místa na disku VM!!!. 165 +{{html}} 166 +<span style="color: red;">!!!Před zahájením zkontrolovat dostatek místa na disku VM!!!</span> 167 +{{/html}} 120 120 121 121 Kontrolu lze provést 2 způsoby: 122 122 ... ... @@ -125,54 +125,69 @@ 125 125 126 126 === Import dat === 127 127 128 -Import REKS: nezapomenout **zamknout** slovníky (především klíčová slova, popřípadě dodavatele) 176 +{{html}}<span style="color: red;">Import REKS:</span>{{/html}} nezapomenout **{{html}}<span style="color: red;">zamknout</span>{{/html}}** slovníky (především klíčová slova, popřípadě dodavatele) 129 129 130 -**POZOR!!!!**: kontrola na existenci A podpolí v Tritiu, které zbyli od minulého importu, pokud ano tak smazat před importem!: 178 +**{{html}}<span style="color: red;">POZOR!!!!</span>{{/html}}**: kontrola na existenci A podpolí v Tritiu, které zbyli od minulého importu, pokud ano tak smazat před importem!: 131 131 132 -| 180 +{{html}} 181 +<button onclick="toggleContent('content5')">Příkaz pro kontrolu</button> 182 +<div id="content5" style="display: none;"> 183 +<hr style="border: none; height: 5px; background-color: black;"> 184 +<p>select count(*) from authority_data where subfield_definition in (</p> 185 +<p>select id from subfield_definition where name_sub='A')</p> 186 +<br> 187 +<p>select count(*) from work_data where subfield_definition in (</p> 188 +<p>select id from subfield_definition where name_sub='A')</p> 189 +<br> 190 +<p>dále:</p> 191 +<p>Po zapnutí Importovacího módu nesmí tabulka import_id_backup obsahovat jediný řádek, který má ve sloupci library ID právě převáděné knihovny, tedy select * from import_id_backup where library = ID_prave_prevadene_knihovny musí vrátit 0 .</p> 192 +<hr style="border: none; height: 5px; background-color: black;"> 193 +</div> 194 +<script> 195 + function toggleContent(contentId) { 196 + var content = document.getElementById(contentId); 197 + if (content.style.display === "none") { 198 + content.style.display = "block"; 199 + } else { 200 + content.style.display = "none"; 201 + } 202 + } 203 +</script> 204 +{{/html}} 133 133 134 -{{{select count(*) from authority_data where subfield_definition in ( 135 -select id from subfield_definition where name_sub='A') 136 - 137 -select count(*) from work_data where subfield_definition in ( 138 -select id from subfield_definition where name_sub='A') 139 - 140 -dále: 141 -Po zapnutí Importovacího módu nesmí tabulka import_id_backup obsahovat jediný řádek, který má ve sloupci library ID právě převáděné knihovny, tedy select * from import_id_backup where library = ID_prave_prevadene_knihovny musí vrátit 0 . }}} 142 - 143 143 * Pokud importuji do knihovny s defaultně jiným jazykem (slovenské knihovny) musím před importem správně nastavit **SYSTEM_DEFAULT_LANGUAGE **tak i** LOCALE.** 144 -* Pokud se nejedná o multiknihovní instanci, nastavit v položkách nastavení **MULTI_LIBRARY_INSTANCE** na false ( -304 ) - musí se provést před importem vzkazů čtenářů. 145 -* V záložce **Systém** je volba **Import dat** 207 +* Pokud se nejedná o multiknihovní instanci, nastavit v položkách nastavení **{{html}}<span style="color: red;">MULTI_LIBRARY_INSTANCE</span>{{/html}}** na false ( -304 ) - musí se provést před importem vzkazů čtenářů. 208 +* V záložce **Systém** je volba **{{html}}<span style="color: green;">Import dat</span>{{/html}}** 146 146 * Spustí se importní mód - běžní uživatelé se do knihovny v importním módu nemohou přihlásit 147 147 * //Doporučení - naimportovat dump databáze na VM s Tritiem pod uživatelem root (import je řádově rychlejší)// 148 148 * URL spojení databázi Clavius SQL kde jsou výpůjčky : 149 -** Pro MySQL: **jdbc:mysql:~/~/server.lanius.cz:3306///<databaseName>//?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Europe/Prague** 150 -** Pro MSSQL: **jdbc:sqlserver:~/~/192.168.0.24:1433;databaseName=//<databaseName>//**;SendStringParametersAsUnicode=False; 151 -* Zadáte uživatele a heslo pro připojení do databáze a tlačítkem **Připojit** provedete spojení (po úspěchu se tlačítko změní na **Odpojit**) 152 -* **Start import mode** 212 +** Pro MySQL: **jdbc:mysql:~/~/server.lanius.cz:3306///{{html}}<span style="color: green;"><databaseName></span>{{/html}}//?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Europe/Prague** 213 +** Pro MSSQL: **jdbc:sqlserver:~/~/192.168.0.24:1433;databaseName=//{{html}}<span style="color: green;"><databaseName></span>{{/html}}//**;SendStringParametersAsUnicode=False; 214 +* Zadáte uživatele a heslo pro připojení do databáze a tlačítkem **{{html}}<span style="color: green;">Připojit</span>{{/html}}** provedete spojení (po úspěchu se tlačítko změní na **Odpojit**) 215 +* **{{html}}<span style="color: green;">Start import mode</span>{{/html}}** 153 153 * Postupně procházíme jednotlivé záložky zleva do prava. Vynecháváme ty které nejsou vždy (akvizice, webový katalog Carmen) 154 -** **Záložka Definice** - vybrat postupně po jedné definiční tabulky a dejte **Importuj** vybrané tabulky (v případě opakovaného importu podruhé neprovádět !!!) 217 +** **{{html}}<span style="color: green;">Záložka Definice</span>{{/html}}** - vybrat postupně po jedné definiční tabulky a dejte **Importuj** vybrané tabulky (v případě opakovaného importu podruhé neprovádět !!!) 155 155 *** **Definici webů (DEFWEB)** importovat pouze pro REKSové knihovny (při převodu do sdílené knihovny je třeba založit ručně při registraci knihovny) 156 156 *** Pokud se nepodaří v případě knihovny, která má Carmen převést DEFWEB, tak stačí v Tritius založit ručně webovou definici a do import_id vyplnit ID, které se najde v databázi Clavia: 157 157 *** SELECT distinct defWebId FROM car_cloud; 158 158 159 -* 222 +* 160 160 ** //Doporučení - Pokud se jedná o převod větší knihovny, tak po importu větších dat (autorit, díla, poplatky, čtenáři, výpůjčky, ...) dělat zálohu databáze// 161 -** **Záložka Autority (u REKSovky zvážit neimportování!)**: 224 +** **{{html}}<span style="color: green;">Záložka Autority</span>{{/html}} {{html}}<span style="color: red;">(u REKSovky zvážit neimportování!)</span>{{/html}}**: 162 162 *** tlačítko Nahrát soubor nalistujeme **AUTORITY.TAG** a po jeho nahrání jej vybereme a dáme Importovat. Po importu jsou chybné, neimportované záznamy v souboru failed 163 163 ** Pokud je soubor velký desítky MB a nejde nahrát zkuste přímou adresu např. : [[http:~~/~~/192.168.0.250:8080/Tritius/>>url:http://192.168.0.250:8080/Tritius/cz.effectiva.tritius.Application/Application.html#Import_wizard]] takto obejdete Apache web server 164 -** **Záložka Díla a Svazky (u REKSovky zvážit ztitulování a neskládání autorit!):** 227 +** **{{html}}<span style="color: green;">Záložka Díla a Svazky </span>{{/html}} {{html}}<span style="color: red;">(u REKSovky zvážit ztitulování a neskládání autorit!)</span>{{/html}}:** 165 165 *** obsah složky **NAWEB** z Clavia (pokud existuje) - v průvodci importu dat je na záložce import děl tlačítko, které nahraje zabalenou složku (NAWEB.zip) do příslušné složky a rozbalí. (dříve - ručně nakopírovat do složky Tritia (\tritius\files\Clavius\WORK\NAWEB) 166 -*** Pozor: zkontrolovat názvy souborů pokud obsahují mezery nebo znaky s diakritikou nedojde k propojení !!! 229 +*** {{html}}<span style="color: red;">Pozor: zkontrolovat názvy souborů pokud obsahují mezery nebo znaky s diakritikou nedojde k propojení !!!</span>{{/html}} 167 167 *** Typ importu duplicit - kontroluje duplicitu podle typu dokumentu a ISBN, popřípadě podle typu dokumentu, názvu, autora a roku (Zkontrolovat duplicity ISBN v TAGu) 168 168 *** Přes Nahrát soubor vybereme **DATA.TAG** a po jeho nahrání jej vybereme a dáme Importovat. Po importu jsou chybné, neimportované záznamy v souboru failed 169 169 *** Problémové záznamy v souboru failed, které se nenaimportovaly, je potřeba hned řešit tzn. **opravit a opakovaně importovat teprve pak se může pokračovat**! 170 -** **Čtenáři:** 171 -*** Vybrat CTENARI nebo CTENARI_DO_VSECH_KNIHOVEN - neimportovat obě! 172 -** **MVS** 233 +** **{{html}}<span style="color: green;">Čtenáři:</span>{{/html}}** 234 +*** Vybrat CTENARI nebo CTENARI_DO_VSECH_KNIHOVEN - {{html}}<span style="color: red;">neimportovat obě!</span>{{/html}} 235 +** **{{html}}<span style="color: green;">MVS</span>{{/html}}** 173 173 *** Lepší Vytvářet nové záznamy, aby nedocházelo k propojení rezervací na MVS. 174 -** **Záložka Výpůjčky**: 175 -*** Vybrat KPUJCKY nebo KPUJCKY_REKS - neimportovat obě! 237 +** **{{html}}<span style="color: green;">Záložka Výpůjčky</span>{{/html}}**: 238 +*** Vybrat KPUJCKY nebo KPUJCKY_REKS - {{html}}<span style="color: red;">neimportovat obě!</span>{{/html}} 176 176 *** postupně po jednotlivých tabulkách importovat a v logu kontrolovat provedení. 177 177 *** **Poplatky **- způsob uhrazení (poplatek.kartou) 178 178 **** 0 - platba v hotovosti ... ... @@ -183,12 +183,12 @@ 183 183 184 184 === Odstranění importovaných dat === 185 185 186 -Pokud dojde během importu k problému s některou částí importu (kromě nastavení), tak ji lze smazat pomocí: [[Postup Odstranění importovaných dat>> url:https://confluence.tritius.cz/pages/viewpage.action?pageId=102925148]]249 +Pokud dojde během importu k problému s některou částí importu (kromě nastavení), tak ji lze smazat pomocí: [[Postup Odstranění importovaných dat>>doc:.Postup-Odstraneni-importovanych-dat.WebHome]] 187 187 188 188 == Nastavení po importu == 189 189 190 -* **Před ukončením importního módu je třeba vytvořit zálohu databáze.** 191 -* **Ukončit import mód - až v momentě, kdy jsou všechna data správně převedená! **(u velkého serveru může zastavení trvat i půl hodiny) 253 +* **{{html}}<span style="color: red;">Před ukončením importního módu je třeba vytvořit zálohu databáze.</span>{{/html}}** 254 +* **{{html}}<span style="color: red;">Ukončit import mód - až v momentě, kdy jsou všechna data správně převedená! **(u velkého serveru může zastavení trvat i půl hodiny)</span>{{/html}}** 192 192 * Pokud se převáděla konfigurace výpůjčního protokolu je potřeba projít a opravit podmínky v následujících částek nastavení, jinak by spadla reindexace: 193 193 ** Kategorie operací 194 194 ** Pravidla registrací ... ... @@ -203,81 +203,33 @@ 203 203 * **Restart Tomcatu pomocí tools** (vyčistí se paměť po importu) !!!((( 204 204 205 205 ))) 206 -* **Provést nastavení podle checklist!!!!** 207 -* **Přečíst 2.1 Tipy a Triky na začátku stránky!** 269 +* **{{html}}<span style="color: red;">Provést nastavení podle checklist!!!!</span>{{/html}}** 270 +* **{{html}}<span style="color: red;">Přečíst 2.1 Tipy a Triky na začátku stránky!</span>{{/html}}** 208 208 209 209 = Regulární výrazy pro opravy dat = 210 210 211 211 Všechny nové regulární výrazy je třeba nejprve otestovat vývojářem - **ReplaceHelperTest**. 212 212 213 -|((( 214 -== Autority == 215 - 216 -|=Popis problému|=Regulární výraz|=Vstup|=Výstup|=(% colspan="1" %)Poznámka 217 -| Pole 100 obsahuje podpole 4.| 218 - 219 -{{{100\\ [\\ 0-9]{2}\\ \\$4.*}}}| 220 - 221 -{{{100 1 $4070}}}| |(% colspan="1" %)Celé pole se zahodí. 222 - 223 -| Obsahuje pole 1??| 224 - 225 -{{{(1\?\?\ )(.*,.*)§100 $2}}} 226 - 227 -{{{(1\?\?\ )(.*)§110 $2}}}| 228 - 229 -{{{1?? $aAudoly, Sylvie}}}| 230 - 231 -{{{100 $aAudoly, Sylvie}}}|(% colspan="1" %)Pokusí se rozpoznat zda se jedná o osobní jméno, nebo korporaci (pokud je osobní jméno, obsahuje hodnota čárku) 232 - 233 -|(% colspan="1" %)Pole 1XXa je prázdné|(% colspan="1" %) 234 - 235 -{{{^1??.*\\$a$}}}| 236 - 237 -{{{199 $a}}}|(% colspan="1" %) |Odstraní se celé opakování pole 238 - 239 -|(% colspan="1" %)Obsahuje pole 100 a 110|(% colspan="1" %) 240 - 241 -{{{^110.*}}}| 242 - 243 -{{{100 1 $aRoni, Luigi 110 2 $aRoni, Luigii}}}| 244 - 245 -{{{100 1 $aRoni, Luigi}}}|(% colspan="1" %)Odstraní opakování pole 110 246 - 247 -== Díla == 248 - 249 -|=Popis problému|=Regulární výraz|=Vstup|=Výstup|=(% colspan="1" %)Poznámka 250 -|Odkazy na soubory v NAWEB obsahují před adresářem neplatné znaky.| 251 - 252 -{{{(X00[\ ]{4}.*\$[uo]).*(NAWEB.*)(\$.*)§$1$2$3 (X00[\ ]{4}.*\$[uo]).*(NAWEB.*)§$1$2}}}| 253 - 254 -{{{X00 $uW:\NAWEB\OBSAHY\N38492.pdf$tObsah$oNAWEB\2016_Knihy\N38492.jpg X00 $uW:\NAWEB\OBSAHY\N38492.pdf$tObsah$oW:\NAWEB\2016_Knihy\N38492.jpg X00 $uNAWEB\OBSAHY\N38492.pdf$tObsah$oW:\NAWEB\2016_Knihy\N38492.jpg X00 $oW:\NAWEB\OBSAHY\N38492.pdf$tObsah$uNAWEB\2016_Knihy\N38492.jpg X00 $oW:\NAWEB\OBSAHY\N38492.pdf$tObsah$uW:\NAWEB\2016_Knihy\N38492.jpg X00 $oNAWEB\OBSAHY\N38492.pdf$tObsah$uW:\NAWEB\2016_Knihy\N38492.jpg}}}| 255 - 256 -{{{X00 $uNAWEB\OBSAHY\N38492.pdf$tObsah$oNAWEB\2016_Knihy\N38492.jpg X00 $uNAWEB\OBSAHY\N38492.pdf$tObsah$oNAWEB\2016_Knihy\N38492.jpg X00 $uNAWEB\OBSAHY\N38492.pdf$tObsah$oNAWEB\2016_Knihy\N38492.jpg X00 $oNAWEB\OBSAHY\N38492.pdf$tObsah$uNAWEB\2016_Knihy\N38492.jpg X00 $oNAWEB\OBSAHY\N38492.pdf$tObsah$uNAWEB\2016_Knihy\N38492.jpg X00 $oNAWEB\OBSAHY\N38492.pdf$tObsah$uNAWEB\2016_Knihy\N38492.jpg}}}|(% colspan="1" %)Odstraní znaky co nepatří před NAWEB. 257 - 258 -|(% colspan="1" %)X00 odakzuje na adresář, který neexistuje z důvodu velikosti písmen na linuxu (velikost písmen se musí shodovat).|(% colspan="1" %) 259 - 260 -{{{(X00[\ ]{4}\$[ou]NAWEB[\\/])OBSAHY([\\/].*)§$1Obsahy$2}}}| 261 - 262 -{{{X00 $oNAWEB/OBSAHY/NC3404.pdf}}}| 263 - 264 -{{{X00 $oNAWEB/Obsahy/NC3404.pdf}}}|(% colspan="1" %)Změna velikosti písmen "OBSAHY" → "Obsahy". Regulární příkaz se musí dát až za regulární příkaz opravující validnost cesty. 265 - 266 -|(% colspan="1" %)Obsahuje pole ???.|(% colspan="1" %) 267 - 268 -{{{^\?\?\?.*}}}| 269 - 270 -{{{??? $aCzech Republic$eautomapa}}}|(% colspan="1" %) |Odstraní otazníkové pole. 271 - 272 -|(% colspan="1" %)1XX4 nebo 7XX4 obsahuje neexistující kód role|(% colspan="1" %) 273 - 274 -{{{(^[710]{3}.*)(\$4sut)(.*)§$1$3}}}| 275 - 276 -{{{100 1 $A1000239919$aLiker, Jeffrey K.$7xx0031426$4sut}}}| 277 - 278 -{{{100 1 $A1000239919$aLiker, Jeffrey K.$7xx0031426}}}|(% colspan="1" %)kód role z autority Neznámý kód role odstraní. 279 - 280 - 281 -))) 282 - 283 - ~{~{/html}}~{~{/html}} 276 +<button onclick="toggleContent('content5')">Příkaz pro kontrolu</button> 277 +<div id="content5" style="display: none;"> 278 +<hr style="border: none; height: 5px; background-color: black;"> 279 +<p>select count(*) from authority_data where subfield_definition in (</p> 280 +<p>select id from subfield_definition where name_sub='A')</p> 281 +<br> 282 +<p>select count(*) from work_data where subfield_definition in (</p> 283 +<p>select id from subfield_definition where name_sub='A')</p> 284 +<br> 285 +<p>dále:</p> 286 +<p>Po zapnutí Importovacího módu nesmí tabulka import_id_backup obsahovat jediný řádek, který má ve sloupci library ID právě převáděné knihovny, tedy select * from import_id_backup where library = ID_prave_prevadene_knihovny musí vrátit 0 .</p> 287 +<hr style="border: none; height: 5px; background-color: black;"> 288 +</div> 289 +<script> 290 + function toggleContent(contentId) { 291 + var content = document.getElementById(contentId); 292 + if (content.style.display === "none") { 293 + content.style.display = "block"; 294 + } else { 295 + content.style.display = "none"; 296 + } 297 + } 298 +</script>