Skocz do zawartości

[SFERA] Otwieranie szuflady, terminal płatniczy - nowa płatność

Polecane posty

Dzień dobry,

jaki będzie najprostszy sposób by otworzyć szufladę? (z drukarki fiskalnej)

(IOperacjeDrukarkiFiskalnej -> UtworzOperacjeOtwarciaSzuflady)

 

Podobnie potrzebuję prostego sposobu na wysłanie kwoty na terminal płatniczy (lub innego sposobu dla stworzonego Paragonu lub DokumentZK).

(IOperacjeTerminalaPlatniczego -> UtworzOperacjeWykonaniaPlatnosciNaTerminalu)

 

Nie umiem się dobrać do żadnego z tych interfejsów, nie ma ich na liście managerów w pliku pomocy SDK, nie ma też żadnego przykładu postępowania.

 

Aktualnie mam tyle:

var uz = sfera.PodajObiektTypu<IUrzadzeniaZewnetrzne>().Dane.Wszystkie().ToList();
var fiskalna = uz.Where(u => u.Typ == (int)TypUrzadzeniaZewnetrznego.DrukarkaFiskalna && u.Domyslne).FirstOrDefault();
var polcard = uz.Where(u => u.Typ == (int)TypUrzadzeniaZewnetrznego.TerminalPlatniczy && u.Domyslne).FirstOrDefault();

Tak się nie da:

var operacjeFiskalnej = sfera.PodajObiektTypu<IOperacjeDrukarkiFiskalnej>();
Cytat

InvalidOperationException: The current type, InsERT.Moria.Urzadzenia.Core.IOperacjeDrukarkiFiskalnej, is an interface and cannot be constructed. Are you missing a type mapping?

Proszę o pomoc.

Edytowane przez Łukasz W
Link to postu

Operacja otwarcia szuflady niestety nie jest "usferyczniona". Zapisałem ten brak do uzupełnienia.

Co do wykonania operacji na terminalu to należy skorzystać z interfejsu ITerminalePlatnicze. Poniżej przesyłam przykładowy kod:

string numerDokumentu = "FS 123/MAG/2021";
IDokumentySprzedazy dokumentySprzedazy = sfera.PodajObiektTypu<IDokumentySprzedazy>();
IUrzadzeniaZewnetrzne urzadzenia = sfera.PodajObiektTypu<IUrzadzeniaZewnetrzne>();
UrzadzenieZewnetrzne terminal = urzadzenia.Dane.Wszystkie().Where(d => d.Typ == (int)TypUrzadzeniaZewnetrznego.TerminalPlatniczy && d.Domyslne).FirstOrDefault();
ITerminalePlatnicze terminale = sfera.PodajObiektTypu<ITerminalePlatnicze>();
DokumentDS dokument = dokumentySprzedazy.Dane.Wszystkie().Where(d => d.NumerWewnetrzny.PelnaSygnatura == numerDokumentu).FirstOrDefault();
terminale.WykonajPlatnosc(terminal.Id, dokument, true, p => { /* raportuj postęp operacji */ });

 

  • Dziękuję 1
Link to postu

Bardzo dziękuję za odpowiedź.

Czy znana jest przybliżona data "usferycznienia" otwarcia szuflady oraz czy mógłbym prosić o informację w tym wątku o jej wprowadzeniu?

 

[Update]

Okazało się, iż napisanie biblioteki do drukarki fiskalnej (Novitus HD e) jest prostsze niż przypuszczałem, gdyby ktoś potrzebował pomocy - pomogę.

Edytowane przez Łukasz W
Update
Link to postu
×
×
  • Dodaj nową pozycję...