Autor Téma: Delphi + EET  (Přečteno 48782 krát)

Offline vandrovnik

  • Plnoletý
  • ***
  • Příspěvků: 237
  • Karma: 2
    • Verze Delphi: 10.2
Re:Delphi + EET
« Odpověď #15 kdy: 26-06-2016, 23:03:03 »
Bohužel málokterého úředníka vybičuje k činnosti fakt, že by svojí prací někomu jinému práci ušetřil...

Offline Marek Weyda

  • Plnoletý
  • ***
  • Příspěvků: 181
  • Karma: 6
    • Verze Delphi: Delphi 2007, 10.1 Berlin
Re: Delphi + EET
« Odpověď #16 kdy: 27-06-2016, 10:16:01 »
Pánové, kdyby někdo doufal v součinnost GFŘ, tak tady je jejich odpověď:

Tak to jsem přesně čekal a vůbec mě to nepřekvapuje. Nemáš ani představu, co ze svých tvrdě vydělaných peněz platíme v daních za neschopný lidi prolezlý do státní správy. Pro mě osobně platí rovnítko IT (nejenom) zaměstnanec ve státní správě = dosaď si sám. Prostě nepochopili, že jsou živí z NAŠICH peněz. MY jsme jejich zákazníci a ONI nám jsou povinni sloužit. Bohužel je to přesně naopak. MY dřeme, MY chodíme do práce každý den, MY upíráme svým rodinám a svým dětem, aby ONI mohli žít nad poměry, stavět si luxusní sídla a pokud nedej bože něco od nich chceš - okamžitě Tě posílají někam a když se bráníš, tak na Tebe posílají různé kontroly a znepříjemňují Ti život. Bohužel bude to čím dál horší.

Takže pevně věřím, že se my programátoři tady semkneme a co nejvíce si s tím EET pomůžeme.

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 1692
  • Karma: 69
    • Verze Delphi: D5,D2007, DXE, DXE2 + 2 poslední (Tokyo)
    • O Delphi v češtině
Re:Delphi + EET
« Odpověď #17 kdy: 27-06-2016, 10:31:53 »
Já doufám, že to dopadne jak na Slovensku, kde mají krabičky za pár tisíc, které dělají tu špinavou práci, a jí jim jen řeknu, že chci zaúčtovat to a to v takové sazbě DPH a nebudu si muset špinit ruce a nasazovat krk.
Embarcadero MVP - Czech republic

Offline zdenek

  • Plnoletý
  • ***
  • Příspěvků: 120
  • Karma: 8
Re:Delphi + EET
« Odpověď #18 kdy: 27-06-2016, 11:50:30 »
Přispěju svou troškou do mlýna.

Tak klientské certifikáty pro připojení přes HTTPS nejsou požadovány (bod 6.1 dokumentace). Pro správné vytvoření zprávy stačí podepsat přesně daný řetězec přiděleným certifikátem (vytvořit PKP, BKP) a následně SOAP zprávu podepsat standardem XML (část zprávy). Ideální je třeba SecureBlackBox (pro podepsání XML i pro podepsání čehokoliv). Jinak cryptoapi na win umí první bod samozřejmě taky, druhý bod vyžaduje canonizaci.

 Hlavní věc je, kde mít ten certifikát. Na windows je to jednodušší, máme systémový store. Na androidu se ale k certifikátu v OS nedostaneme a uložení si certifikátu včetně priváního klíče někde do souboru mi přijde pekelně nebezpečné.
« Poslední změna: 27-06-2016, 11:53:04 od zdenek »

Karel

  • Host
Re:Delphi + EET
« Odpověď #19 kdy: 29-06-2016, 09:38:01 »
Nedělej si iluze, pro slovenský fiskál jsem programoval napojení a je to ještě mnohme složitější než EET.

Já doufám, že to dopadne jak na Slovensku, kde mají krabičky za pár tisíc, které dělají tu špinavou práci, a jí jim jen řeknu, že chci zaúčtovat to a to v takové sazbě DPH a nebudu si muset špinit ruce a nasazovat krk.

Offline KarelHorky

  • Plnoletý
  • ***
  • Příspěvků: 159
  • Karma: 6
    • Verze Delphi: 7, XE6
Re:Delphi + EET
« Odpověď #20 kdy: 29-06-2016, 16:15:20 »
Zdravím všechny postižené EET!
Postupně jsem se dopracoval až k podpisu SOAP zprávy. Podle mě je to správně, ale PlayGround mi to odmítá s kódem 4 - Neplatný podpis SOAP zprávy. Podepsáno to mám certifikátem "01000003.p12", který je k dispozici pro testování. Použil jsem SecureBlackBox v testovací verzi, tedy nevidím do zdrojů. Mohl by někdo, kdo použil také SecureBlackBox a PlayGround jeho SOAP zprávy akceptuje, sem také vložit nějakou svoji SOAP zprávu? To by všem, kdo to mají na triku, hodně pomohlo, předem díky za ochotu.

Kód: XML [Vybrat]
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><SOAP-ENV:Header><wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" SOAP-ENV:mustUnderstand="1"><wsse:BinarySecurityToken ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" wsu:Id="id-1435331660" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">MIID6zCCAtOgAwIBAgIEAQAAAzANBgkqhkiG9w0BAQsFADBYMQswCQYDVQQGEwJDWjEaMBgGA1UEAwwRR0ZSIEVFVCB0ZXN0IENBIDExLTArBgNVBAoMJEdlbmVyw6FsbsOtIGZpbmFuxI1uw60gxZllZGl0ZWxzdHbDrTAeFw0xNjA1MTkxMjQ1MDJaFw0xODA1MTkxMjQ1MDJaMFMxCzAJBgNVBAYTAkNaMRUwEwYDVQQDDAxDWjEyMTIxMjEyMTgxFzAVBgNVBAoMDk9zb2JhIEZ5emlja8OhMRQwEgYDVQQFEwtUMDAwMDAwMDAwMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMt0eW9n+RB0PSawKSJbtAg3j7e1I5p7P9OvEj0n9raEMI496Zuw7s4VaE8JEX4iowjWhlPIOPljDiAXX6HgZzH4PDps0rFm388KZxj7Ek/ZLyyh5jRovc0Yccfgm3i2huBepk7ZtifZXOZzDEDT0CZsxRpypZJp9PK6SOdj2zPIc11F+prwsGQCDAZsRtama5/W5qn2YUWjjk+4c5Zu3TcknC7bcp1dg7RJ9yMtNiYPY7LNV3uWQhAXZVFpmOpbfYwT1F8H3/UrWDSJ5zrHshICPreMyZ0skU9SUANQ8QQKE6lSlgSs59YaeEmCyGtpttVjN+iR/L9M9FRtq3ZhZz0CAwEAAaOBwTCBvjAeBgNVHREEFzAVgRNlcG9kcG9yYUBmcy5tZmNyLmN6MB8GA1UdIwQYMBaAFHpa/A3L7DamDdppGWaMm++Cw6k0MB0GA1UdDgQWBBQbyTbuGBZdorOZZm7usMraGAJ2STBMBgNVHSAERTBDMEEGCmCGSAFlAwIBMAIwMzAxBggrBgEFBQcCAjAlGiNUZW50byBjZXJ0aWZpa2F0IEpFIFBPVVpFIFRFU1RPVkFDSTAOBgNVHQ8BAf8EBAMCBsAwDQYJKoZIhvcNAQELBQADggEBAC3L8Bm7ZlWui9xWrjM00SlvCokpc2ldGCxNvj4hANaISoLRdPVZAPeLd1X4KsRyxOIazR5oq3EKVZV1ZP3sCF4QFL+SqurkPiBbIrrbABDLyDpf/8DIfyA1x/+zNpN9ul9j9Ca1739P4L1x3wpQcYhEuvSrTiLztndlJb69LXgYZOFfqcBSRedRuMwRdtux9OWkkZjrd9wNHTCDOIfOPaPRRoq5IPHP32shsXaTLvhsT7ktvR5Fr/SQ8CkWq3U6tdcOQRN35ZWyYSyOd5/vkJqK773R/gAeBUE80gpLMdqgVj8HaD7RlHrYyYJEVUI9gbctTfUIJW/9LZ3K78JLXXg=</wsse:BinarySecurityToken><ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"><ds:SignedInfo><ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/><ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/><ds:Reference URI="#id-1510723327"><ds:Transforms><ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></ds:Transforms><ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/><ds:DigestValue>MOkXQ2OCobT0WVJYKvoPwTp39Cn1InVJynRu1qqfXYo=</ds:DigestValue></ds:Reference></ds:SignedInfo><ds:SignatureValue>N2hiJO5Pa8bXKzA5dd3G37htYo344hSjx3s6anJe3XFRQXYp05yq0hmUbdHuhyOUp4YI3jZuyVBvE+p2NLj4ztgx7oH2kLwGC7Z7z6m/rW4grpZX9HkzMh9y+/ih/bL01PRQvo8J6vvZUUgPcn0zuI2It2dHpLFUW4iIEbbpyoBIATvAUJDeUNtC1eHRwTTZrwHt3wcZIEADoaaHTa3t4No1xUV3tye3MlohbtVdovnIhubAoUph6YNXtU2eL8MBp9wKxSG1N0LJUkLeuEdl0869BzQJnK6412d5KNItjMySVeSGgXl6+yzFfPCV6r6L7mdN/h3GkMujkSIyjiNKBg==</ds:SignatureValue><ds:KeyInfo><wsse:SecurityTokenReference><wsse:Reference URI="#id-1435331660" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"/></wsse:SecurityTokenReference></ds:KeyInfo></ds:Signature></wsse:Security></SOAP-ENV:Header><SOAP-ENV:Body wsu:Id="id-1510723327" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"><Trzba xmlns="http://fs.mfcr.cz/eet/schema/v2"><Hlavicka uuid_zpravy="d89c3911-98cd-4b1c-b129-1f67d4b605be" dat_odesl="2016-06-29T15:40:53+02:00" prvni_zaslani="true" overeni="true"/><Data dic_popl="CZ1212121218" id_provoz="273" id_pokl="/5546/RO24" porad_cis="0/6460/ZQ42" dat_trzby="2016-06-29T15:40:53+02:00" celk_trzba="121.00" zakl_dan1="100.00" dan1="21.00" rezim="0"/>
  3.                         <KontrolniKody>
  4.                                 <pkp cipher="RSA2048" digest="SHA256" encoding="base64">HKSUD8qfqXcJ9UwU5pBZgCp/Y5Gn05orpwKIyGvcpiocIRftFZq/XPU6s4QQMccPn+LklpgvHBxn
  5. Jb82bdTQpRYyFqB1EhQ4XugCEyGvjuQSP3N14ys+j0kLKbKIlDXRCC13+DmuSVtdujttsphNRyUw
  6. g6TXOo8QLtBjkuvMibAwS+8fWJXK1jItSfR62QRadQHhJ6xyL0+2C+oQB0yliAj/N8sXkGihAqqy
  7. 20ICruxovym6guJhtO769NpbrMfmo4pqsaaigMYsO6nUpuh8Wm8DVPooesWo7NyV6UtrehDkyfdM
  8. vLGSvG3Rp3in3EtnkSWQWBdOI9ytAlcziTrf4g==</pkp>
  9.                                 <bkp digest="SHA1" encoding="base16">78949ED8-91865FFF-607B2FF2-009D6820-7F6309CB</bkp>
  10.                         </KontrolniKody>
  11.                 </Trzba></SOAP-ENV:Body></SOAP-ENV:Envelope>
  12.  
  13.  

Moc hezky to nevypadá, tak to přiložím jako obrázek, xml není povoleno.
Mimochodem napojení na slovenský fiskál jsem úspěšně udělal, takže můžu porovnat. EET mi přijde mnohem složitější.

Offline karel.kral

  • Nováček
  • *
  • Příspěvků: 14
  • Karma: 0
Re:Delphi + EET
« Odpověď #21 kdy: 29-06-2016, 16:29:41 »
Řešil jsem to tady, zatím jenom odesílám jejich testovací zprávu ale problémy jsem měl podobné. S podepisováním zatím zkušenosti nemám.
https://groups.google.com/d/msg/foxpro/dm0FRwXk2vc/zIRxiE3wCAAJ

Offline roman@irl.cz

  • Nováček
  • *
  • Příspěvků: 3
  • Karma: 0
    • Verze Delphi: 7
Re:Delphi + EET
« Odpověď #22 kdy: 29-06-2016, 22:50:10 »
Mrkněte na toto http://www.arrowsys.cz/produkty/43-univerzalni-eet-modul.aspx má s tím někdo nějaké zkušenosti?

Offline KarelHorky

  • Plnoletý
  • ***
  • Příspěvků: 159
  • Karma: 6
    • Verze Delphi: 7, XE6
Re:Delphi + EET
« Odpověď #23 kdy: 30-06-2016, 09:22:25 »
Díky za odkaz, je vidět, že se s tím bojuje na všech stranách. Prostudování diskuze mě přivedlo na pár nápadů, jak dál postupovat ve vlastním vývoji, tj. odstranit veškeré formátování, ověření SOAP komunikace odesláním validního xml, atd...
Řešil jsem to tady, zatím jenom odesílám jejich testovací zprávu ale problémy jsem měl podobné. S podepisováním zatím zkušenosti nemám.
https://groups.google.com/d/msg/foxpro/dm0FRwXk2vc/zIRxiE3wCAAJ

Offline KarelHorky

  • Plnoletý
  • ***
  • Příspěvků: 159
  • Karma: 6
    • Verze Delphi: 7, XE6
Re:Delphi + EET
« Odpověď #24 kdy: 30-06-2016, 09:55:57 »
Tak opravdu pozor na formátování !!! Stačilo jej odstranit a už je zpráva validní !

fik: c42c1d5f-1cb0-4500-80ff-803834116cab-ff

Pro úpravu XML jsem použil XMLDoku: IXMLDocument, kde jsem měl
Kód: Delphi [Vybrat]
  1. XMLDoku.Options  := XMLDoku.Options + [doNodeAutoIndent];

Stačilo změnit na
Kód: Delphi [Vybrat]
  1. XMLDoku.Options  := [];
A už to podepisuje a odesílá a hlavně přijímá FIK. Wau!
Použil jsem standardní komponenty v Delphi XE6 a zkušební verzi SecureBlackBox, dá se to zvládnout s informacemi na webu Eldosu a nějakým tím googlením.

Offline anec

  • Mladík
  • **
  • Příspěvků: 70
  • Karma: 1
Re:Delphi + EET
« Odpověď #25 kdy: 30-06-2016, 13:48:32 »
zdravím, jednoduchý dotaz k EET:
máme skladový software, prodejce vystavuje mimojiné faktury za hotové, zjednodušené daňové doklady, normální daňové doklady. Je možné, že si zákazník koupí nějakou registrační pokladnu, která umí komunikovat s EET a postup by byl: v našem SW vystaví daňový doklad, do pokladny nacvaká částku celkem za doklad, odešle to na EET, po návratu FIKu se vytiskne na té pokladně nějaká stvrzenka, která se sešívačkou přicvaknce na náš daňový doklad?
díky

Offline mjseven

  • Mladík
  • **
  • Příspěvků: 63
  • Karma: 5
    • Verze Delphi: D7, D2006, XE2, Lazarus
Re:Delphi + EET
« Odpověď #26 kdy: 30-06-2016, 16:05:22 »
Povinnost plynoucí z EET by tímto modelem mělo jít také splnit.
Z pohledu zákazníka, používajícího váš software, to myslím není ale úplně dobré řešení.



Offline zdenek

  • Plnoletý
  • ***
  • Příspěvků: 120
  • Karma: 8
Re:Delphi + EET
« Odpověď #27 kdy: 30-06-2016, 18:00:28 »
To by přece nemělo mít formátování XML vliv na podepisování. Jaký typ kanonizace jste nastavil?

Edit:
Podle dokumentace k eet se používá exclusive kanonizace tedy by to mělo fungovat s:

Kód: Delphi [Vybrat]
  1. TElXMLSigner.CanonicalizationMethod:=xcmExclCanon;
« Poslední změna: 30-06-2016, 18:06:56 od zdenek »

Offline KarelHorky

  • Plnoletý
  • ***
  • Příspěvků: 159
  • Karma: 6
    • Verze Delphi: 7, XE6
Re:Delphi + EET
« Odpověď #28 kdy: 01-07-2016, 09:06:14 »
To formátování vyplynulo z toho, jak jsem měl napsanou testovací aplikaci. Chtěl jsem vidět, co přesně posílám. Protože je to jeden dlooouhý řádek, tak jsem si do XML doplnil zalamování uzlů. V ostré verzi formátování mít nebudu.
Pro EET je předepsaná Exclusive Canonization, tu tam mám, bez ní to nejede.
To by přece nemělo mít formátování XML vliv na podepisování. Jaký typ kanonizace jste nastavil?

Offline karel.kral

  • Nováček
  • *
  • Příspěvků: 14
  • Karma: 0
Re:Delphi + EET
« Odpověď #29 kdy: 01-07-2016, 10:42:32 »
Pánové, tady jeden šikovný člověk vytvořil implementaci pro Php a Javu, může to sloužit minimálně jako inspirace. Díky!

https://github.com/l-ra/openeet.git

 

S rychlou odpovědí můžete používat BB kódy a emotikony jako v běžném okně pro odpověď, ale daleko rychleji.

Jméno: E-mail:
Ověření:
Kolik je šest plus čtyři (slovem):