Spis treści
Istnieją dwa podstawowe interfejsy, dzięki którym można dostosować działanie modułu fiskalnego do własnych potrzeb.
IFiscalizationService – zawiera wszystkie metody uczestniczące w komunikacji z drukarka fiskalną. Dodatkowo można sterować metodami, które przygotowują dane do fiskalizacji (np., elementy dokumentu, płatności, adres do faktury)
ItemCustomizationService – umożliwia modyfikację dowolnego pola, które jest wysyłane na drukarkę fiskalna.
Istotnym aspektem rozszerzania modułu fiskalnego jest to, ze bazowa klasa Module musi dziedziczyć po klasie Module z modułu fiskalnego, a nie z Comarch.POS.Presentation.Core. Możemy wówczas przeciążyć dodatkowe metody (RegisterServices, TriggerEventBinding, RegisterViewModels, RegisterViews, AddContainerElements)
Modyfikacja sterownika Comarch.B2.Printer2
Dodatkowo, jeśli istnieje taka potrzeba to można, dziedzicząc po klasie PrinterManager, przeciążyć każdą metodę.
Należy pamiętać, aby klasa dziedzicząca również dziedziczyła po interfejsie IPrinterService. Wynika to z faktu ze sterowniki ładowane są dynamicznie, a instancjonowanie następuje na podstawie odpowiedniego interfejsu.
public class MyPrinterManager : PrinterManager, IPrinterService { … }
Wydruk własnego dokumentu
Istnieje możliwość wydruku własnego dokumentu. Na odpowiednim viewModelu należy wykorzystać metodę PrintCustomDocument z serwisu IDocumentEventService.
Następnie można albo
– dziedzicząc po klasie FiscalizationService wywoływać na wewnętrznej instancji IPrinterService metody do drukowania linii w trybie niefiskalnym (NonFiscalOpen, NonFiscalLinePrint, NonFiscalClose)
Albo
– napisać własny driver (np. na podstawie Comarch.B2.Printer2), przeciążyć metodę PrintCustomDocument oraz, dziedzicząc po klasie FiscalizationService, przeciążyć metodę PrintCustomDocument
Dodatkowe flagi
W klasie TradeDocument zostało dodane property FiscalParams, które przechowuje dodatkowe informacje dla modułu fiskalnego.