Drukarka Posnet Thermal - LBTRXEND1 Nip Nabywcy

0

Witam,

Walczę z implementacją wydruku Nip nabywcy w protokole Thermal z wykorzystaniem pola numeru i nazwy kasjera.
Dla paragonu, który jest anulowany używam polecenia LBTREXITCAN, a dla zatwierdzenia LBTRXEND1.
Niestety drukarka Posnet Thermal Online uparcie nie przyjmuje komendy LBTREXITCAN - próbowałem różne warianty i bez powodzenia.
Co ciekawe LBTREXITCAN wykonuje się poprawnie, ale na drukarce Posnetu nie drukuje się niestety ten Nip w miejscu kasjera( w ogóle nie drukuje się ta linia).
Aby było śmieszniej drukarka firmy Elzab Mera Online skonfigurowana jako Thermal drukuje poprawnie obydwa polecenia.
W dokumentacji którą posiadam opis protokołu dla polecenie LBTRXEND1 jest dosyć nieprecyzyjny.
Ktoś może już się spotkał z takimi problemami?

PS. Na stronie Posnet'u znalazłem dział do pobrania dla programistów, ale trzeba się zarejestrować i nie wiem jak szybko mi udostępnią dostęp i czy coś ciekawego tam znajdę.

Pozdrawiam Piotrek

0

Temat się rozwiązał. Głównym powodem problemów było wyłączenie wyświetlania błędów na drukarkę i niewłaściwa obsługa tychże w programie.
Po poprawieniu sekwencji - usunięciu nadmiarowego parametru paragon poprawnie się wydrukował z Nip'em w odpowiednim miejscu.
Chciałbym podziękować koledze abrakadaber za zainteresowanie i naprowadzenie na rozwiązanie problemu.

Piotrek

0

A dlaczego nie skorzystałeś z funkcji LBTRSNIP - dedykowanej do wydruku NIP nabywcy na paragonie (obsługiwana przez protokół THERMAL)?

0

Witam,

Nie natrafiłem na taką komendę w protokole Thermal...
Można więcej szczegółów prosić? ( treść polecenia, plik w którym jest to opisane)

Pozdrawiam Piotrek

0

Ja z kolei próbowałem użyć funkcji LBTRSNIP, ale za każdym razem dostaje kod -20 (całkowity brak odpowiedzi).

Udało mi się dołożyć NIP na końcu paragonu, natomiast nie jestem pewny czy jest to legalne z punktu widzenia ustawodawcy. Ma ktoś jakieś doświadczenia w tej kwestii?

0

Rozumiem, że mówimy o poleceniu th_trnipset?
Testujesz to na fizycznej drukarce czy na emulatorze Posnetu?

Pozdrawiam Piotrek

0

Korzystam z dokumentu "Instrukcja programisty biblioteki ThermalServiceLibrary.dll 1.11"

Jest tam polecenie LBTRSNIP które próbuje wywołać z kodu C# używając deklaracji funkcji:
[DllImport(@"ThermalServiceLibrary.dll")]
public static extern int LBTRSNIP(byte Pw, string aNip);

Rozwiązanie testuje na fizycznej drukarce Novitus.

screenshot-20200129102726.png

1

Nie korzystam z zewnętrznej biblioteki - sam składam polecenia i wysyłam na port COM. Być może Novitus nie wspiera tego polecenia w trybie Thermal.
W drukarce Posnetu można włączyć monitor transmisji i podejrzeć co dokładnie lecie na drukarkę. Może ten Novitus też ma taką funkcjonalność?

Co do części pytania odnośnie wydruku NIP po logu fiskalnym, to u nas nie zdecydowaliśmy się na takie rozwiązanie, ponieważ może to być potem zakwestionowane przez US.

Pozdrawiam Piotrek

1

Problemem okazała się drukarka Novitus, która nie obsługuje wszystkich funkcji protokołu Thermal.

Na drukarce Posnet Thermal XL kod zadziałał prawidłowo.

0

Cześć!
Potrzebuję pomocy z dodaniem nipu. Program piszę w Javie w aplikacji mobilnej, która komunikuje się za pomocą Bluetootha z drukarką POSNET TEMO HS FV EJ. Muszę do tego wykorzystywać stary protokół (wysyłam plik w załączniku). Mógłby ktoś mi pomóc i podpowiedzieć w jaki sposób i w jakim miejscu mógłbym przekazać ten numer nip? Będę bardzo wdzięczny

Pozdrawiam,
Rafał

0

Hej,
Masz nieaktualny opis protokołu. W załączeniu opis polecenia do wydruku nipu nabywcy dedykowaną funkcją. Aktualna wersja specyfikacji screenshot-20200206141726.png
screenshot-20200206141602.png

0

screenshot-20200206142235.png
Parametr Pw : drukowanie nipu 1 = wyróżniony, 0 zwykły
Parametr nip : 30 znaków alfanumerycznych z nipem nabywcy
Rozkaz można wysłać w dowolnym momencie po rozpoczęciu transakcji i przed zakończeniem.

0
pitgal napisał(a):

screenshot-20200206142235.png
Parametr Pw : drukowanie nipu 1 = wyróżniony, 0 zwykły
Parametr nip : 30 znaków alfanumerycznych z nipem nabywcy
Rozkaz można wysłać w dowolnym momencie po rozpoczęciu transakcji i przed zakończeniem.

Dzięki wielkie udało się :D

1 użytkowników online, w tym zalogowanych: 0, gości: 1