EET2.Client

Reprezentace EET klienta = pokladny.

Vlastnosti

Vlastnost Typ Popis
EicPoplatnika String EIČ Poplatníka, formát CZ + 8-10 číslic
IdJednotky Integer ID Provozovny (1–999999999)
IdPokl String ID Pokladny, max 20 znaků
Endpoint String Nastavená URL adresu serveru (playground/ostré prostředí)
CertPath String Lokální cesta k aktuálně používanému .p12 certifikátu

Metody

Init(eicPopl: WideString; idJednotky: Integer; idPokl: WideString; isPlayground: WordBool)

Inicializace klienta před použitím

Parametr Typ Popis
eicPopl WideString EIČ poplatníka, formát CZ + 8-10 číslic
idJednotky Integer ID provozovny (1–999999999)
idPokl WideString ID pokladny, max 20 znaků
isPlayground WordBool True = testovací prostředí, False = ostré prostředí

Vyhodí chybu při nevalidních hodnotách nebo pokud již byl klient inicializován.

Příklad:

var
  Client: OleVariant;
begin
  Client := CreateOleObject('EET2.Client');
  Client.Init('CZ12345678', 3, 'KASA-001', False);
end;

LoadCert(pkcs12Path: WideString; password: WideString)

Načte podpisový certifikát (.p12). Musí být zavoláno před odesíláním dat.

Parametr Typ Popis
pkcs12Path WideString Cesta k .p12 souboru
password WideString Heslo od .p12 certifikátu

Vyhodí chybu pokud je certifikát neplatný nebo heslo není správné.

Příklad:

var
  Client: OleVariant;
begin
  Client := CreateOleObject('EET2.Client');
  Client.Init('CZ12345678', 3, 'KASA-001', False);
  Client.LoadCert('CZ12345678.p12', 'tajne_heslo');
end;

Submit(transakce: IDispatch; prvniZaslani: WordBool): WideString

Odešle transakci na server a vrátí potvrzovací kód POK

Parametr Typ Popis
transakce IDispatch Objekt typu EET2.Transaction reprezentující odesílanou transakci
prvniZaslani WordBool True pokud se jedná o první pokus o zaslání, jinak False

Vrací server vrácený POK nebo případnou chybu.

Příklad:

var
  Client, Tx: OleVariant;
  Pok: string;
begin
  Client := CreateOleObject('EET2.Client');
  Client.Init(...);
  Tx := CreateOleObject('EET2.Transaction');
  Tx.Init(...);
  Pok := Client.Submit(Tx, True);
end;

Ošetření chyb (doporučeno): try/except + EOleException

Metody knihovny vyhazují standardní COM chybu, kterou Delphi zachytí jako EOleException včetně popisné zprávy.

Příklad:

var
  Client: OleVariant;
begin
  try
    Client := CreateOleObject('EET2.Client');
    // Zavolani Submit() pred Init()
    Client.Submit(Tx, True);
  except
    on E: EOleException do
      ShowMessage('Chyba: ' + E.Message); // napr. "Objekt neni inicializovan"
  end;
end;

GetLastErrorCode(): Integer

Alternativní/starší způsob zjištění posledního chybového kódu — vrátí kód posledního erroru nebo 0, pokud poslední zavolaná funkce proběhla bez chyby. V běžném Delphi kódu preferujte try/except + EOleException.Message výše.

Příklad:

var
  Client: OleVariant;
begin
  Client := CreateOleObject('EET2.Client');
  // Zavolani Submit() pred Init()
  Client.Submit(Tx, True);
  ShowMessage(IntToStr(Client.GetLastErrorCode)); // Vrati 200, tedy error NOT_INITIALIZED
end;