JADU.dll pro EET/EETXP dle specifikace ver 3.1
****************************************
EET - pro Windows 7 a ve
EETXP - pro Windows XP a ve

****************************************
Zpsob pouit (ukzka ve Visual Foxpro):

Public Leet

Leet=Createobject("JADU.EET")                       &&verze pro Windows 7+
Leet=Createobject("JADU.EETXP")                     &&verze pro Windows XP+


Leet.TimeOut=2000                                   &&Defaultov hodnota=5000ms, nelze zadat hodnotu pod 2000ms
Leet.DIC="CZ00000019"
*Leet.DICZast=''                                    &&DI povujcho poplatnka
Leet.CertHeslo='eet'
Leet.CertSb='c:\vfp\eet\Certifikt\EET_CA1_Playground-CZ00000019.p12'
Leet.Rezim=0                                        &&Bn - 0, zjednoduen - 1
Leet.Overeni=.t.                                    &&Slou k oven komunikace. Nen vrcen FIK, ale pouze chybov hlavika. 0 = funkn komunikace
Leet.idprovoz=273
Leet.idpokl='/5546/RO24'

****************************************
Zkrcen forma
Leet.Trzba_kr("9edeb22b-4234-4047-869c-3a76f86c20d3",.t.,"0/6460/ZQ42","2016-01-05T00:30:12+01:00","2016-09-19T19:06:37+01:00",34113.00)

UUID (je-li przdn, bude pidleno a hodnota je v Leet.UUID), prvn zasln, id dokladu, datum dokladu (je-li przdn, bude pidleno), datum zasln(je-li przdn, bude pidleno a hodnota je v Leet.EETin a Leet.EETinOff), celkov stka
Nepovinn pole lze nastavit, jsou prefixovna T_. Nap. Leet.T_Pou_DPH1 je DPH u pouitho zbo.
Nepovinn pole se pole (nastav se na true jeho vlastnost Specified), pokud je hodnota nenulov. Tedy Leet.T_Pou_DPH1=10 se pole, Leet.T_Pou_DPH1=0 se nepole.
Trzba_kr posl (ppadn) i nepovinn pole, jsou-li nenulov. Zaslnm se hodnota nemn, take Leet.T_Pou_DPH1=10 se bude odeslat tak dlouho v dokladech, dokud se nevynuluje.

****************************************
Dlouh forma
Leet.Trzba("9edeb22b-4234-4047-869c-3a76f86c20d3",.t.,"0/6460/ZQ42","2016-01-05T00:30:12+01:00","2016-09-19T19:06:37+01:00",34113.00,3036.00,-820.92,-172.39,-3538.20,-530.73,9756.46,975.65,784.00,967.00,189.00,5460.00,324.00,679.00)

UUID (je-li przdn, bude pidleno a hodnota je v Leet.UUID), prvn zasln, id dokladu, datum dokladu (je-li przdn, bude pidleno), datum zasln(je-li przdn, bude pidleno a hodnota je v Leet.EETin a Leet.EETinOff), celkov stka
Zklad DPH0, Zklad DPH1, DPH1, Zklad DPH2, DPH2, Zklad DPH3, DPH3, Pouit zbo DPH1, Pouit zbo DPH2, Pouit zbo DPH3
Cestovn ruch DPH, Ureno k erpn, erpan ztovn

****************************************
Nkter programovac jazyky (nap. star verze Delphi) maj problm pedat do DLL parametr, kter je definovn jako Deciaml. Z toho dvodu existuj nsledujc metody, kter umouj zadat seln hodnoty jako etzec.

Leet.Trzba_kr_string je shodn s Leet.Trzba_kr, jen posledn parametr Celkem se zadv jako etzec
Leet.SetT_("Vlastnost","Hodnota") umouje nastavit hodnoty T_... vlastnost jako etzec, nap. Leet.SetT_("T_DPH1","15.2")


****************************************
Po odesln jsou k dispozici napoten hodnoty a odkazy na vrcen objekty

Leet.PubKey		Veejn kl certifiktu
Leet.FIK		Vrcen FIK
Leet.BKP		Vypoten BKP
Leet.PKP		Vypoten PKP
Leet.PKPPlain		etzec pro zakdovn
Leet.Odpoved		kompletn SOAP odpov z EET
Leet.Zprava		SOAP zprva ped podpepsnm
Leet.Chyba_Text		Chybov hlka, v ppad chyby

Leet.CertByte		Certifikt je naten jako pole byt. Ne kad vvojov prosted um poslat pole byto do dll korektn. (Poad je - CertFrName - CertByte - CertSb/CertHeslo)
Leet.CertExpiration	Datum a as exspirace cerifiktu jako etzec.
Leet.CertFrName		FriendlyName certifiktu. Certifikt je naten z loit certifikt. (Poad je - CertFrName - CertByte - CertSb/CertHeslo)
Leet.CertHeslo		Heslo certifiktu
Leet.CertSb		Umstn certifiktu

Leet.DateToOffet	Pi nastaven na true bude dll vstupn etzce datum/as uvaovat jako bezoffsetov a pevede je na offsetov tvar

Leet.EETin		Datum zasln
Leet.EETinOff		Datum zasln s offsetem
Leet.EETout		Datum odpovdi
Leet.EEToutOff		Datum odpovdi s offsetem

Leet.Exception		Kompletn vpis chyby

Leet.SetProxy		Je mon zadat nastaven pro netransparentn proxy.

Leet.VarovaniLen	Dlka pole s objekty s varovnm. 0 = dn varovn
Leet.VarovaniKod(I)	Kd I-tho varovn. Prv prvek pole m hodnotu 0. Zad-li se index mimo rozsah, vrt DLL -1
Leet.VarovaniText(I)	Text I-tho varovn. Prv prvek pole m hodnotu 0. Zad-li se index mimo rozsah, vrt DLL vlastn chybovou hlku DLL: Pole mimo rozsah

Leet.VynulDane		vynuluje veker T_... properties
Leet.Vysl		Vrac chybu z EET (>0), ve OK (=0) nebo -1, -2, -3 (timeout, komunikan chyba, chyba s certifiktem).

Leet.oChyba		Objekt chybov hlky
Leet.oHlav		Objekt hlaviky
Leet.oPolo		Objekt poloky odpovdi
Objekty dvaj k dispozici sv vlastnosti dle specifikace EET, nap. Leet.oChyba.kod

Leet.TimeOut		Timeout komunikace. Defaultov hodnota=5000ms, nelze zadat hodnotu pod 2000ms
Leet.EETVer		Verze EET rozhran
Leet.Ver		Verze DLL

Leet.T_...		Nepovinn pole (dan, pouit zbo, cestovn ruch, ztovn), kter jsou pro pltce DPH povinn

Leet.Crypto		Sputn vpotu PKP/BKP bez komunikace s EET. Vhodn pro offline reim (pouze v pln verzi DLL). "0" = spch, jinak je vrcen text chybov hlky.
			Parametr je PKPPlain etzec, dle kterho se spote BKP a PKP.
			PKPPlain je dic_popl | id_provoz | id_pokl | porad_cis | dat_trzby | celk_trzba
			Pklad: Leet.Crypto("CZ00000019|273|/5546/RO24|0/6460/ZQ42|2016-09-19T19:06:37+01:00|34113.00")

Leet.SetURL		Nastaven/zjitn adresy webov sluby (pouze v pln verzi DLL)

Leet.ResponseTrusted	Zda je odpov z EET dvryhodn (logical).

****************************************
Vazba mezi definic EET a knihovnou

EET                 	DLL
_______________________________________________________________________________
uuid_zpravy		parametr v Trzba	String				Leet.UUID vrac UUID, vhodn pi generovn UUID v DLL
dat_odesl		parametr v Trzba	String				nap.2016-09-19T19:19:19+01:00
prvni_zaslani		parametr v Trzba	Hodnota .t./.f.
overeni			Overeni			Hodnota .t./.f., default .f.
dic_popl		DIC			String
dic_poverujiciho	DICZast			String
id_provoz		IDProvoz		Numeric(5)
id_pokl			IDpokl/parametr Trzba	String	
porad_cis		parametr v Trzba	String	
dat_trzby		parametr v Trzba	String	
celk_trzba		parametr v Trzba	Decimal				String v Trzba_kr_string
zakl_nepodl_dph		T_Zakl_DPH0		Hodnota ve formtu "#.00"
zakl_dan1		T_Zakl_DPH1		Hodnota ve formtu "#.00"
dan1			T_DPH1			Hodnota ve formtu "#.00"
zakl_dan2		T_Zakl_DPH2		Hodnota ve formtu "#.00"
dan2			T_DPH2	tnost		Hodnota ve formtu "#.00"
zakl_dan3		T_Zakl_DPH3		Hodnota ve formtu "#.00"
dan3			T_DPH3			Hodnota ve formtu "#.00"
cest_sluz		T_Cest_DPH		Hodnota ve formtu "#.00"
pouzit_zboz1		T_Pou_DPH1		Hodnota ve formtu "#.00"
pouzit_zboz2		T_Pou_DPH2		Hodnota ve formtu "#.00"
pouzit_zboz3		T_Pou_DPH3		Hodnota ve formtu "#.00"
urceno_cerp_zuct	T_Urc_Cerp		Hodnota ve formtu "#.00"
cerp_zuct		T_Cerp_Zuct		Hodnota ve formtu "#.00"
rezim			Rezim			Hodnota 0/1


****************************************
Objekty oHlav,oPolo a oChyba maj vlastnosti definovan webovou slubou. Pi spn komunikaci se oHlav vrac vdy, dle vsledku pak bu oPolo nebo oChyba:

oHlav
________________________________________________________________
bkp                    toton s Leet.BKP
dat_odmit              toton s Leet.EETOutOff
dat_odmitSpecified     boolean, zda je zprva odmtnuta
dat_prij               toton s Leet.EETOutOff
dat_prijSpecified      boolean, zda je zprva pijata
uuid_zpravy            toton s Leet.UUID

oPolo
________________________________________________________________
fik		       toton s Leet.FIK
test		       toton s Leet.Overeni
testSpecidied	       boolean, zda je test specifikovn

oChyba
________________________________________________________________
kod		       toton s Leet.Vysl pro hodnoty > 0
test		       toton s Leet.Overeni
testSpecidied	       boolean, zda je test specifikovn
text		       toton s Leet.Chyba_text

