# Obsługa bufora pozycji paragonowych

Odebrane pozycje paragonowe są przechowywane w osobnej kolejce. Umożliwia to rozdzielenie obsługi poleceń zwykłych od obsługi odbioru danych towarowych, a co za tym idzie z punktu widzenia aplikacji - równoległe ich wykonywanie. Więcej...

## Funkcje
POSNET_API POSNET_HANDLE __stdcall | POS_PopSalesQueue (POSNET_HANDLE hLocalDevice, unsigned long timeout)
| Pobierz z kolejki pozycji paragonowych następny obiekt. Obiekty paragonowe mają swój kontekst urządzenia, ale dla wygody umieszczane są w osobnej kolejce odbiorczej.
POSNET_API unsigned long __stdcall | POS_SalesQueueLength (POSNET_HANDLE hLocalDevice, unsigned char globalnie=0)
| Ilość elementów w kolejce pozycji paragonowych.
POSNET_API POSNET_STATUS __stdcall | POS_SalesQueuePurge (POSNET_HANDLE hLocalDevice, unsigned char globalnie=0)
| Wyczyść kolejkę pozycji paragonowych.

## Opis szczegółowy

Odebrane pozycje paragonowe są przechowywane w osobnej kolejce. Umożliwia to rozdzielenie obsługi poleceń zwykłych od obsługi odbioru danych towarowych, a co za tym idzie z punktu widzenia aplikacji - równoległe ich wykonywanie.

Rozkazy odczytu kolejnych pozycji paragonowych są umieszczane w głównej kolejce rozkazów, ale ich wyniki są gromadzone w osobnej kolejce odbiorczej. Dzięki temu obsługa pozycji jest niezależna od obsługi rozkazów głównych.

## Dokumentacja funkcji

POSNET_API POSNET_HANDLE __stdcall POS_PopSalesQueue | ( | POSNET_HANDLE | hLocalDevice,
|  | unsigned long | timeout |
| ) |  |  |

Pobierz z kolejki pozycji paragonowych następny obiekt. Obiekty paragonowe mają swój kontekst urządzenia, ale dla wygody umieszczane są w osobnej kolejce odbiorczej.

Pobrany obiekt należy następnie skasować za pomocą funkcji POS_DestroyRequest .

Parametry:

  | hLocalDevice | Uchwyt lokalny urządzenia
  | timeout | Parametr określający czas oczekiwania na nową wartość w kolejce paragonowej. Jeśli ma wartość INFINITE funkcja czeka w nieskończoność, 0 - wraca natychmiast w przeciwnym wypadku oczekuje odpowiednią ilość milisekund na otrzymanie danych.

Zwraca:
  NULL jeśli nie ma (lub oczekiwanie zakończyło się timeoutem), uchwyt obiektu w przeciwnym razie.

POSNET_API unsigned long __stdcall POS_SalesQueueLength | ( | POSNET_HANDLE | hLocalDevice,
|  | unsigned char | globalnie = `0` |
| ) |  |  |

Ilość elementów w kolejce pozycji paragonowych.

Parametry:

  | hLocalDevice | Uchwyt lokalny urządzenia
  | globalnie | Jeśli parametr ten jest różny od 0 zwracana jest ilość obiektów w kontekscie globalnym, a nie lokalnym urządzenia (ilość wszystkich pozycji)

Zwraca:
  Ilość elementów w kolejce lub -1 w przypadku błędu

POSNET_API POSNET_STATUS __stdcall POS_SalesQueuePurge | ( | POSNET_HANDLE | hLocalDevice,
|  | unsigned char | globalnie = `0` |
| ) |  |  |

Wyczyść kolejkę pozycji paragonowych.

Czyści kolejkę zdarzeń paragonowych bez ich obsługi.

Parametry:

  | hLocalDevice | Uchwyt lokalny urządzenia
  | globalnie | Jeśli ten parametr jest różny od 0 czyszczone są WSZYSTKIE obiekty w kolejce, nie tylko należące do bieżącego kontekstu urządzenia.