Forum Użytkownikow Subiekt GT

InsERT GT => Dodatki - zestawienia - sfera => Wątek zaczęty przez: maniootek w Luty 08, 2017, 15:57:55

Tytuł: StatusFiskalny paragonu
Wiadomość wysłana przez: maniootek w Luty 08, 2017, 15:57:55
Witam.

Po pomyślnie zrealizowanym wywołaniu metody "Drukuj" na obiekcie "SuDokument" wykonuje metodę 'StatusFiskalny', która zwraca wartość "false" a powinno "true".
$oParagon = $oSubiekt.SuDokumentyManager.Wczytaj("PA 1/02/2017")
$oParagon.RejestrujNaUF = True
$oParagon.DrukarkaFiskalnaId = $drukarka_id
$oParagon.Drukuj(False)
$status = $oParagon.StatusFiskalny
$oParagon.Zamknij
//$staus = false

Dopiero taki schemat działa ale jest nieoptymalny
$oParagon = $oSubiekt.SuDokumentyManager.Wczytaj("PA 1/02/2017")
$oParagon.RejestrujNaUF = True
$oParagon.DrukarkaFiskalnaId = $drukarka_id
$oParagon.Drukuj(False)
Sleep(5000)
$oParagon = $oSubiekt.SuDokumentyManager.Wczytaj("PA 1/02/2017") //ponowne wczytanie obiektu
$status = $oParagon.StatusFiskalny
$oParagon.Zamknij
//$staus = true

Czy ktoś pomoże mi zrozumieć dlaczego muszę wczytywać paragon od nowa? Zna ktoś jakiś inny sposób? Może metoda, która odświeży dokument?
Tytuł: Odp: StatusFiskalny paragonu
Wiadomość wysłana przez: dkozlowski w Luty 08, 2017, 18:03:52
Zdradzisz co chcesz zrobić ?
Tytuł: Odp: StatusFiskalny paragonu
Wiadomość wysłana przez: maniootek w Luty 08, 2017, 21:59:31
Nie chcę wysyłać polecenia Drukuj, dopóki poprzedni dokument nie zostanie prawidłowo sfiskalizowany. Obecnie robię na zapytaniu SQL ale chciałem, żeby to działało przez Sferę
Tytuł: Odp: StatusFiskalny paragonu
Wiadomość wysłana przez: dkozlowski w Luty 08, 2017, 22:16:46
Przez Sferę nie ma innej możliwości niż wczytanie dokumentu, przecież wydruk/fiskalizacja dokumentu nie jest częścią edycji dokumentu, nie jest wykonywane w transakcji zapisu, dzieje się zupełnie obok przez nieokreślony z góry czas (może to być 2-5s jak również 20-50s) i nie musi zakończyć się poprawnie. Jedyny rozsądny sposób to pominięcie Sfery, można też rozważyć sprawdzanie rejestru transmisji.
Tytuł: Odp: StatusFiskalny paragonu
Wiadomość wysłana przez: maniootek w Luty 08, 2017, 22:19:45
Obecnie odpytuje bazę SQL w pętli do momentu aż dokument otrzyma status fiskalizacji. Druga opcja to wczytywanie dokumentu i sprawdzanie jego stanu fiskalizacji w pętli. Która opcja jest bardziej optymalna i "lżejsza" dla bazy SQL?
Tytuł: Odp: StatusFiskalny paragonu
Wiadomość wysłana przez: dkozlowski w Luty 08, 2017, 22:22:37
Obecnie odpytuje bazę SQL w pętli do momentu aż dokument otrzyma status fiskalizacji.

A jak nie otrzyma takiego statusu ?

Która opcja jest bardziej optymalna i "lżejsza" dla bazy SQL?

Przecież napisałem i zasugerowałem jeszcze lepsze rozwiązanie ?
Tytuł: Odp: StatusFiskalny paragonu
Wiadomość wysłana przez: maniootek w Luty 08, 2017, 22:26:24
A jak nie otrzyma takiego statusu ?

Wiadomo zrobię timeout i odpowiednie powiadomienie w razie niepowodzenia.

można też rozważyć sprawdzanie rejestru transmisji.

Mógłbyś to rozwinąć? Pierwsze słyszę
Tytuł: Odp: StatusFiskalny paragonu
Wiadomość wysłana przez: dkozlowski w Luty 08, 2017, 22:36:08
można też rozważyć sprawdzanie rejestru transmisji.

Mógłbyś to rozwinąć? Pierwsze słyszę

Pierwszy raz słyszysz, że każda operacja związana z obsługą urządzeń zewnętrznych jest zapisywana w rejestrze transmisji ? Zajrzyj do: Kasiarz->Rejestr transmisji...