|
|
| Řádek 1: |
Řádek 1: |
| ''Insolvence - aktualizace dat'' - informace o zaměstnancích v insolvenčním řízení v aplikaci KS mzdy. Jedná se o '''doplňkový modul''' aplikace zpřístupněný na vyžádaní (objednávka).
| |
|
| |
|
| == Popis řešení ==
| |
| Zde je popsáno řešení automatického zjišťování insolvenčních dlužníků v aplikaci. Informace o těchto dlužnících jsou uloženy v databázi
| |
| informačního systému veřejné správy - Insolvenční rejstřík (ISIR). Pro účely automatického zjišťování insolvenčních dlužníků je na straně ISIR k dispozici webová služba ISIR_CUZK_WS, která umožňuje on-line dotazování na řízení vedená v insolvenčním rejstříku za pomoci identifikačních údajů dlužníka. Tato on-line webová služba poskytuje pouze stručné informace o insolvenčních řízeních vedených s osobami na území ČR. Jejím účelem je poskytnutí informace, zda je na danou osobu (fyzickou či právnickou) vedeno insolvenční řízení a v jakém je stavu. Webová služba tedy neposkytuje podrobné informace o průběhu insolvenčního řízení a rovněž neposkytuje zveřejněné dokumenty. Webová služba čerpá data z vlastní databáze, která je v pravidelném intervalu 1 hodiny synchronizována s databází Insolvenčního rejstříku ISIR. Služba tak poskytuje stejné údaje jako webové rozhraní Insolvenčního rejstříku (https://isir.justice.cz), avšak s maximálním zpožděním 1 hodiny.
| |
|
| |
| Aplikace KS mzdy přímo nekomunikuje s webovou službou ISIR_CUZK_WS. Důvodem je snaha o zajištění maximální dostupnosti informace o dlužnících. Ke komunikaci s webovou službou ISIR_CUZK_WS slouží KS klient, což je samostatný program, který zjištěné informace o dlužnících ukládá do databáze aplikace KS mzdy. Informace o vlastních zaměstnancích, kteří jsou vedeni jako dlužníci v insolvenčním řízení, jsou potom dostupné v sestavě ''Zaměstnanci v insolvenčním rejstříku'' (MP 016).
| |
|
| |
| == Zaměstnanci v insolvenčním rejstříku (sestava) ==
| |
| Popis práce se sestavou - viz zde [[Insolvence]].
| |
|
| |
| == Aktualizace báze dat ==
| |
| Před prvním spuštěním je potřeba [[Rozšiřující parametry#Doplnění rozšiřujících parametrů|doplnit rozšiřující parametry]]. <small>Skrytý rozšiřující parametr insr_last_id je totiž použit k uchování posledního zpracovaného záznamu z ISIR.</small>
| |
|
| |
| Aktualizace báze dat se provádí prostřednictvím KS klienta, což je samostatný program, který pracuje jako klient webové služby ISIR.
| |
| Tohoto klienta lze spouštět buď přímým spuštěním s danými parametry nebo prostřednictvím windows služby či spouštěče úloh.
| |
|
| |
| <small> Databáze insolvenčního rejstříku ISIR obsahuje velké množství záznamu (ke dni 25.4.2012, cca 7.000.000 záznamů), které je potřeba zpracovat a vytvořit odpovídající bázi dat v databázi KS mzdy PROFi. Proto bude při prvním spuštění klienta zpracována kompletní databáze ISIR a po jejím zpracování bude klient při dalším spuštění zpracovávat pouze změny v databázi ISIR. </small>
| |
|
| |
| Pro spouštění klienta doporučujeme využít dodanou windows službu (viz níže).
| |
|
| |
| == KS klient ==
| |
| K činnosti klienta je vyžadováno běhové prostředí '''.NET Framework 4'''.
| |
|
| |
| KS klient je tvořen dvěma programy:
| |
| * '''Program pro aktualizaci báze dat (KSPortalServiceCommand)'''
| |
| * '''Windows služba (KSPortalService)'''
| |
|
| |
| === Program pro aktualizaci báze dat (KSPortalServiceCommand) ===
| |
| Jedná se o hlavní program KS klienta (konzolovou aplikaci), který slouží k vyhledávání insolvenčních dlužníků v ISOR a pro svou činnost vyžaduje zadání parametrů při spuštění. Tyto parametry určují jeho funkcionalitu.
| |
|
| |
| Dvojice parametrů, při nichž dojde k naplnění báze dat z insolvenčního rejstříku:
| |
| : /zInsolvence /cwebservice.
| |
|
| |
| <small>Příklad: KSPortalServiceCommand.exe /zInsolvence /cwebservice </small>
| |
|
| |
| Pokud se vyskytne chyba při vykonávání činnosti aplikace, je tato zapsána do log souboru a vypsána na obrazovku (umístění log souboru je definováno v konfiguračních souborech - viz dále). Činnost aplikace je po vyvolání chyby ukončena.
| |
|
| |
| === Windows služba (KSPortalService) ===
| |
| Jedná se o windows službu, která provádí stejnou činnost jako konzolová aplikace KSPortalServiceCommand, kdy dle nastaveného intervalu provádí vyhledání vlastních zaměstnanců v ISIR <small>(provádí řízené spouštění programu KSPortalServiceCommand)</small>.
| |
|
| |
| Po jejím správném nainstalování a spuštění ve správci služeb (Nástroje pro správu / Služby) provádí automatické vyhledávání vlastních zaměstnanců v ISIR. Pokud se vyskytne chyba při vykonávání činnosti aplikace, je tato chyba zapsána do log souboru a prohlížeče událostí. Po výskytu chyby při činnosti klienta je zpracování ukončeno, ale po uplynutí nastaveného intervalu (interval je počítán od doby posledního spuštění této služby) je zpracování automaticky spuštěno.
| |
|
| |
| ==== Instalace ====
| |
| Instalaci windows služby je '''potřeba provádět pod administrátorským účtem'''.
| |
|
| |
| Instalace windows služby se provádí utilitou '''''InstallUtil.exe''''', která je součástí .NET Frameworku. Parametrem je cesta k instalačnímu souboru. Při instalaci se definuje účet pod kterým služba poběží (nemusí být administrátorský).
| |
|
| |
| <small>Příklad: C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe C:\<cesta>\ksportalservice.exe </small>
| |
|
| |
| ==== Odinstalace ====
| |
| Odinstalace se provádí utilitou '''''InstallUtil.exe''''' spuštěné s parametry. Prvním parametrem je /u a druhým cesta k instalačnímu souboru.
| |
|
| |
| <small>Příklad: C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe /u C:\<cesta>\ksportalservice.exe </small>
| |
|
| |
| === Konfigurační soubory ===
| |
| Součástí programů jsou konfigurační soubory '''KSPortalService.exe.config''' a '''KSPortalServiceCommand.exe.config'''. Musí být nakonfigurovány oba soubory a to stejně.
| |
| V těchto souborech je potřeba nakonfigurovat tyto sekce:
| |
| : Cestu k logovacímu souboru
| |
| : Databázové připojení
| |
| : Interval spouštění klienta windows službou (v příkladu je nastavena hodnota 10min (600000ms), což může být pro začátek ponecháno)
| |
| : Přístupové údaje k proxy serveru. Tyto parametry je potřeba doplnit do konfiguračních souborů pouze v případě, že je vyžadováno ověřování na proxy serveru.
| |
|
| |
| <appSettings>
| |
| <!--Interval (v tisícinách sekundy) ve kterém windows služba spouští klienta webové služby-->
| |
| <add key="interval" value="600000"/>
| |
| <!--Název windows služby-->
| |
| <add key="ServiceName" value="KSPortalService_Insolvence"/>
| |
| <!—Cesta k logovacímu souboru-->
| |
| <add key="LogPath" value="d:\Test\"/>
| |
| <!--Nastavení pro PROXY -->
| |
| <add key="ProxyUserName" value="username"/>
| |
| <add key="ProxyPassword" value="password"/>
| |
| </appSettings>
| |
|
| |
| <connectionStrings>
| |
| <!--Databázové připojení (atribut name="mzdy" musí zůstat zachován).-->
| |
| <add name="mzdy" connectionString="server=absint_pc;database=web_mzdy;uid=test;pwd=test"
| |
| providerName="System.Data.SqlClient"/>
| |
| </connectionStrings>
| |
|
| |
| V sekci <system.serviceModel> lze konfigurovat připojení k webové službě.
| |
|
| |
| Pokud je v síti používaná proxy, je potřeba mít nastaveny hodnoty klíčů: 'ProxyUserName', 'ProxyPassword'. Dále je
| |
| potřeba použít upravenou sekci <binding> s nastavením skutečné IP adresy proxy serveru a portu v parametru 'proxyAdress' (např.: proxyAddress="http://123.10.0.12:83"), viz. příklad:
| |
|
| |
| <bindings>
| |
| <basicHttpBinding>
| |
| <binding name="IsirWsCuzkPortTypeBinding" useDefaultWebProxy="false" proxyAddress="http://123.10.0.12:83">
| |
| <security mode="Transport">
| |
| <transport clientCredentialType="None" proxyCredentialType="Basic"/>
| |
| <message clientCredentialType="UserName" algorithmSuite="Default"/>
| |
| </security>
| |
| </binding>
| |
| </basicHttpBinding>
| |
| </bindings>
| |
|
| |
| ==== Nastavení DB připojení ====
| |
| Připojení na databáze MSSQL a Oracle je již implementován přímo v .Net Frameworku, takže se pro tyto databázové platformy nemusí nic instalovat. K ostatním databázovým platformám je možné přistupovat prostřednictvím ODBC. Použité ODBC musí podporovat DotNet. Zákazník by měl získat ODBC od svého dodavatele databáze.
| |
|
| |
| Databázové připojení v KS klientovi definuje ConnectionString, který se nachází v sekci <connectionStrings> v souboru KSPortalServiceCommand.exe.config.
| |
|
| |
| Příklady ConnectionStringu: <br>
| |
| '''Pro MSSQL''' <br>
| |
| <add name="web_mzdy" connectionString="server=web_pc;database=mzdy;uid=test;pwd=test"
| |
| providerName="System.Data.SqlClient"/>
| |
|
| |
| '''Pro ODBC''' <br>
| |
| <add name="web_mzdy" connectionString="DSN=i_mzdy" providerName="System.Data.Odbc"/>
| |
|
| |
| '''Položky DB připojení''' <br>
| |
| * name - jméno DB připojení
| |
| * server - název nebo IP adresa počítače, na kterém běží DB server
| |
| * database - název databáze, ke které bude chtít být připojeni
| |
| * uid - login pro přístup do databáze
| |
| * pwd - heslo pro přístup do databáze
| |
|
| |
| == Logovací soubory ==
| |
| Pokud je KS klient spouštěn prostřednictvím windows služby a během jeho činnosti vzniknou chybové události, jsou informace o těchto událostech dostupné v prohlížeči událostí (Nástroje pro zprávu – Prohlížeč událostí) nebo v logovacím souboru Insolvence_log.xml.
| |
| Soubor Insolvence_log.xml je dostupný v umístění dle konfiguračního souboru (např. <add key="LogPath" value="d:\Test\"/>)
| |
|
| |
| == Test funkčnosti KS klienta ==
| |
| Zda klient zpracovává záznamy z ISIR lze zjistit v sestavě MP016. Pokud poslední aktualizace proběhla úspěšně, je v okně sestavy uveden datum a čas poslední aktualizace. Pokud poslední aktualizace neproběhla správně, je namísto data a času poslední aktualizace uvedeno 'NEÚSPĚŠNĚ'.
| |
|
| |
| Dále je možno ověřit zda klient zpracovává záznamy z ISIR níže uvedenými SQL příkazy nad příslušnou databázi definovanou v konfiguračních souborech.
| |
|
| |
| SELECT count(*) FROM insr_osoba;
| |
| : SQL příkaz vypíše počet nalezených dlužníků v ISIR.
| |
|
| |
| SELECT hodnota FROM e_param WHERE polozka = 'insr_last_id';
| |
| : Ve sloupci hodnota budou 3 údaje odděleny znakem '|':
| |
| : [počet nalezených dlužníku | čas poslední aktualizace | čas synchronizace databází ISIR].
| |
| : Pokud je údaj 'počet nalezených dlužníků' >= -1 pracuje klient správně (hodnota -1 značí, že se právě
| |
| : provádí ověřování). V případě chyby je na tomto místě uvedeno číslo -10 a v logovacím souboru je zalogována chyba.
| |
|
| |
| == DB tabulky ==
| |
| Při činnosti klienta jsou používány tyto databázové tabulky:
| |
| : ''pracovnici'' – čtení
| |
| : ''insr_osoba'' – čtení a zápis
| |
| : ''e_param'' - čtení a zápis
| |
|
| |
| == Odkazy ==
| |
| * [[Insolvence]]
| |
|
| |
| <!-- Vypracoval:
| |
| Ing. Milan Žamboch
| |
| Programátor
| |
| KS - program, spol. s r.o.
| |
| Rokytnice 153
| |
| 755 01 Vsetín
| |
| tel: 571 499 474
| |
| milan.zamboch@ksprogram.cz
| |
| -->
| |