Insolvence - aktualizace dat

Z Prirucky

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).

Následující popis je historická varianta - aktuální zde:

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 doplnit rozšiřující parametry. Skrytý rozšiřující parametr insr_last_id je totiž použit k uchování posledního zpracovaného záznamu z ISIR.

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.

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.

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 .

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.

Příklad: KSPortalServiceCommand.exe /zInsolvence /cwebservice

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 (provádí řízené spouštění programu KSPortalServiceCommand).

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ý).

Příklad: C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe C:\<cesta>\ksportalservice.exe

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.

Příklad: C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe /u C:\<cesta>\ksportalservice.exe

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>
  <add key="interval" value="600000"/>
  <add key="ServiceName" value="KSPortalService_Insolvence"/>
  <!—Cesta k logovacímu souboru-->
  <add key="LogPath" value="d:\Test\"/>
  <add key="ProxyUserName" value="username"/>
  <add key="ProxyPassword" value="password"/>
</appSettings>
<connectionStrings>
  <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:
Pro MSSQL
<add name="web_mzdy" connectionString="server=web_pc;database=mzdy;uid=test;pwd=test" providerName="System.Data.SqlClient"/>

Pro ODBC
<add name="web_mzdy" connectionString="DSN=i_mzdy" providerName="System.Data.Odbc"/>

Položky DB připojení

  • 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