==== Č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}}\\