==== Často řešené problémy při implementaci EET ==== === Chyba „Požadavek byl přerušen: Nelze vytvořit zabezpečený kanál SSL/TLS“ === * Po 6.12.2019 se při odeslání dat do **TESTOVACÍHO prostředí EET** může zobrazit chyba, přestože máte na aplikačním serveru splněny všechny požadavky pro podporu protokolů TLS 1.1 a TLS 1.2. * V testovacím prostředí EET byla od 6.12.2019 ukončena podpora TLS 1.1, v TLS 1.2 byla ukončena podpora některých kryptografických algoritmů. * Na ESO9 verze 5.9 a starším není podání do testovacího prostředí EET funkční * Je funkční na připravovaném ESO9 verze 6.0, které je již přeloženo pro .NET Framework verze 4.6.1 * Může, ale nemusí být funkční na ESO9 verze 5.9 s technologickým doplňkem č. 1 (z 1.10.2019). * V **OSTRÉM prostředí EET** zůstalo vše funkční, podpora TLS 1.1 zatím pokračuje * Odesílání dat do EET tedy není omezeno v ESO9 ani v ESO9 Prodejna. === Platnost testovacího certifikátu pro EET === * 30.9.2019 skončila platnost certifikátu pro odesílání do testovacího prostředí EET. * Nový certifikát, který je platný od 8.8.2019 do 8.8.2022, si můžete stáhnout zde: https://www.etrzby.cz/assets/cs/prilohy/EET_CA1_Playground_v3.zip * Na FTP bude mezi doplňky umístěn skript pro jeho založení do databáze. === Chyba „The requested security protocol is not supported“ === * Operační systém na aplikačním serveru ESO9 musí podporovat protokoly TLS 1.1 a TLS 1.2. * Musí to být alespoň Windows Server 2008 R2, viz: [[https://blogs.msdn.microsoft.com/kaushal/2011/10/02/support-for-ssltls-protocols-on-windows/ | Podporované protokoly]] * Nestačí Windows Server 2008 SP2, již není podporovaným OS, viz: [[https://support.microsoft.com/en-us/lifecycle/search?alpha=Windows%20Server%202008 | Životní cyklus OS Windows]] * Na aplikačním serveru ESO9 musí být nainstalován .NET Framework 4.5\\ Je možné instalovat i novější verzi .NET Framework 4.6.2 === Chyba „The underlying connection was closed...“ nebo "Nadřízené připojení bylo uzavřeno..." === * Může být způsobeno i tím, že na aplikačním serveru nejsou podporovány protokoly TLS 1.1 a TLS 1.2, viz bod výše. * Na některé síťové vrstvě není povolen přístup na eet.cz (přes https), zpravidla je to firewall * Je třeba doplnit výjimku i na Proxy, pokud se používá * Přístupnost EET lze ověřit na adresách (z IE může zobrazit chybu, zpravidla funguje z Chrome): * produkční prostředí: https://prod.eet.cz/eet/services/EETServiceSOAP/v3 * testovací prostředí: https://pg.eet.cz/eet/services/EETServiceSOAP/v3 * zobrazí XML s hláškou "faultstring: EET Request processing: Unrecognized resource...", to je důkaz, že je přístupný. === Při použití certifikátu chyba: „Nesprávné heslo“ === * Pro ověření správnosti zadaného hesla je vhodné nainstalovat certifikát na počítač === Při odeslání do EET: „Neplatny podpis SOAP zpravy...“ === Jde o chybu číslo 4 vrácenou z EET. Všechny následné zobrazené texty u chyby jsou jen pokusem o odhad pravděpodobné příčiny. * "... Pravděpodobně je použit chybný certifikát"\\ mohl být použit i jiný certifikát než z autorit "EET CA 1" / "EET CA1 Playground", například z banky * "... nebo používáte certifikát pro EET z produkčního prostředí v testovacím prostředí"\\ zobrazí se tehdy, pokud je nastaven parametr ProstrediEET=1 (tedy testovací) - a současně máte na peněžním účtu připojen ostrý certifikát * "... nebo používáte certifikát pro EET z testovacího prostředí v produkčním prostředí"\\ zobrazí se tehdy, pokud je nastaven parametr ProstrediEET=0 (tedy ostrý) - a současně máte na peněžním účtu připojen testovací certifikát * prostředí a certifikát nelze "křížit", protože certifikační autorita pro ostré prostředí "EET CA 1" je jiná než pro testovací prostředí "EET CA1 Playground" * "... nebo byl certifikát zneplatněn"\\ knihovna se pokouší zjistit, zda certifikát je na seznamu zneplatněných, to se nemusí vždy podařit, proto obecné info. Zda je certifikát neplatný, lze zjistit v profilu organizace na portálu EET === Chyba „Nelze zjistit hodnotu parametru KOD_Sestavy“ === * Projeví se při "Tisk s odesláním do EET", na EET se odešle ale sestava se nezobrazí. * Ani opakovaný tisk sestavy z odkazu "Tisk" sekci o EET nevytiskne, v datovém zdroji chybí EET_idHdok * Řešení: upravit datový zdroj, tedy funkci fnDZ_FormularHDOK, doplnit do něj nové položky pro EET. === Chyba „ ...Počítač musí být důvěryhodný pro delegování...“ === * Pokud je v doméně standardní nastavení a účet aplikačního serveru je administrátorem na serveru, neměl by být problém * Problémem může být, když je aplikována nějaká restriktivní doménová politika. Přímo na objektu v Active Directory je záložka delegování, je třeba povolit * Pomohla změna účtu, pod kterém běží aplikační server - změnil se z doménového na lokálního administrátora ---- ==== ESO9 Prodejna ==== Chyby popsané v sekci Prodejna se mohou vyskytovat i ve STARTce (a naopak) - používá se společná knihovna i procedury\\ === Prodejna: „Nelze dešifrovat heslo k certifikátu pro EET“ === * Může nastat po výměně certifikátu pro EET a uložení jeho hesla v centrále - k chybě může dojít v případě rozdílných verzí SQL na centrále a Prodejně. * SQL 2017 používá ve fci EncryptByPassPhrase vyšší úroveň šifrování - SHA2. Takto zašifrované heslo neumí SQL 2014 (a nižší) na Prodejně dešifrovat. Jde o sloupec CERTIFIKAT.CERTHESLO_ENCRYPT. Starší verze (SHA1) začíná 'AQAAA....', novější (SHA2) začíná 'AgAAA...' * Řešením je provést upgrade SQL na Prodejně na SQL 2017 Express Edition. === Prodejna: „Error converting data type varchar to datetime“ === * SQL účet e9kasa je nastaven pro angličtinu a ne češtinu - je potřeba přepnout "default language" * Připravuje se verze, která bude na jazyku nezávislá === Prodejna: „...options have incorrect settings: 'ARITHABORT'...“ === * (Velmi) stará databáze Prodejny může mít compatibility_level <= 80, problém nastane při dešifrování hesla certifikátu * Řešení: nastavit ručně compatibility_level alespoň na 90, kde je výchozí hodnota ARITHABORT=ON * Nebo instalovat novější verzi ESO9 Prodejna, od verze 5.4.2.1 obsahuje skript toto nastavení * Prodejně zatím stačí level=90(pro SQL2005), nepotřebuje zatím level=110(pro SQL2012) jako START databáze ---- ==== Jiné... ==== Řešení jiných problémů lze hledat i v dokumentaci:\\ {{ :startdoc:cz:elektronicka_evidence_trzeb.pdf | Elektronická evidence tržeb}}\\ {{ :techdoc:eso9-prodejna.pdf | Prodejna ESO9, kapitola EET – Elektronická evidence tržeb}}\\