Przejdź do głównej zawartości

Dodano możliwość wyboru urządzenia do drukowania paragonu „Faktura”

Począwszy od wersji Syrve 6.4, API V6 dodało możliwość wyraźnego określenia, gdzie będzie drukowany paragon typu „Faktura”.

Sprawdzenie typu „Faktura” jest stosowane w niektórych krajach, na przykład na Łotwie.
Nie wszystkie modele rejestratorów fiskalnych obsługują drukowanie paragonów typu „Faktura”. Dla urządzeń opisanych w API Equipment obsługa drukowania paragonów typu „Faktura” jest włączana za pomocą CashRegisterDriverParameters poprzez ustawienie IsBillTaskSupported = true.
Paragon typu „Faktura” to polecenie ICashRegister.DoBillCheque().
Konfiguracja IsBillTaskSupported = true zakłada, że w poleceniu paragonu płatności wymagany jest numer faktury.
W związku z tym w wynikach polecenia DoBillCheque pole CashRegisterResult.BillNumber musi być wypełnione.

W momencie drukowania rachunku gościa rdzeń Syrve POS pyta subskrybentów „W którym punkcie sprzedaży powinienem wydrukować Fakturę dla tego zamówienia?”.
Rejestracja routera do drukowania paragonów typu „Faktura” odbywa się za pomocą metody INotificationsService.BillChequePosResolving():

  • Metoda przyjmuje funkcję z argumentami IOrder „zamówienie” oraz bool „czy to jest zwrot rachunku”.
  • Funkcja powinna zwrócić IPointOfSale: punkt sprzedaży, do którego zostanie wysłane polecenie paragonu typu „Faktura”.
  • Jeśli funkcja zwróci null lub zgłosi wyjątek, polecenie paragonu typu „Faktura” nie zostanie nigdzie wysłane.

Przykładowy kod dla prostego przypadku, gdy drukowanie faktury powinno odbywać się na rejestratorze fiskalnym bieżącej maszyny:

var pointsOfSales = PluginContext.Operations.GetHostTerminalPointsOfSale();
var currentPos = pointsOfSales.FirstOrDefault();

if (currentPos != null)

{ subscriptions.Push(PluginContext.Notifications.BillChequePosResolving.Subscribe(_ => currentPos)); }