# Obsługa kontekstu baz
[API Wysokiego Poziomu]

## Funkcje
POSNET_API POSNET_STATUS __stdcall | POSS_CntxAutoDiscntInit (const POSNET_HANDLE hDevice, POSNET_HANDLE *phRequest, const unsigned char flaga1, const unsigned char flaga2, const unsigned char tryb=POSNET_REQMODE_SPOOL)
| Realizacja rozkazu CNTXAUTODISCNTINIT - Ustawianie kontekstu dla bazy rabatów.
POSNET_API POSNET_STATUS __stdcall | POSS_CntxCashoutDescInit (const POSNET_HANDLE hDevice, POSNET_HANDLE *phRequest, const unsigned char flaga1, const unsigned char flaga2, const unsigned char tryb)
| Realizacja rozkazu CNTXCASHOUTDESCINIT - Ustawianie kontekstu dla bazy opisów wypłat.
POSNET_API POSNET_STATUS __stdcall | POSS_CntxCodeFmtInit (const POSNET_HANDLE hDevice, POSNET_HANDLE *phRequest, const unsigned char flaga1, const unsigned char flaga2, const unsigned char tryb=POSNET_REQMODE_SPOOL)
| Realizacja rozkazu CNTXCODEFMTINIT - Ustawianie kontekstu dla bazy formatów kodów.
POSNET_API POSNET_STATUS __stdcall | POSS_CntxDiscntInit (const POSNET_HANDLE hDevice, POSNET_HANDLE *phRequest, const unsigned char flaga1, const unsigned char flaga2, const unsigned char tryb=POSNET_REQMODE_SPOOL)
| Realizacja rozkazu CNTXDISCNTINIT - Ustawianie kontekstu dla bazy rabatów/narzutów.
POSNET_API POSNET_STATUS __stdcall | POSS_CntxErrMsgInit (const POSNET_HANDLE hDevice, POSNET_HANDLE *phRequest, const unsigned char flaga1, const unsigned char flaga2, const unsigned char tryb)
| Realizacja rozkazu CNTXERRMSGINIT - Ustawianie kontekstu dla bazy obsługi błędów.
POSNET_API POSNET_STATUS __stdcall | POSS_CntxGroupInit (const POSNET_HANDLE hDevice, POSNET_HANDLE *phRequest, const unsigned char flaga1, const unsigned char flaga2, const unsigned char tryb=POSNET_REQMODE_SPOOL)
| Realizacja rozkazu CNTXGROUPINIT - Ustawianie kontekstu dla bazy grup towarowych.
POSNET_API POSNET_STATUS __stdcall | POSS_CntxHotkeyInit (const POSNET_HANDLE hDevice, POSNET_HANDLE *phRequest, const unsigned char flaga1, const unsigned char flaga2, const unsigned char tryb=POSNET_REQMODE_SPOOL)
| Realizacja rozkazu CNTXHOTKEYINIT - Ustawianie kontekstu dla bazy klawiszy skrótu.
POSNET_API POSNET_STATUS __stdcall | POSS_CntxMUInit (const POSNET_HANDLE hDevice, POSNET_HANDLE *phRequest, const unsigned char flaga1, const unsigned char flaga2, const unsigned char tryb=POSNET_REQMODE_SPOOL)
| Realizacja rozkazu CNTXMUINIT - Ustawianie kontekstu dla bazy jednostek miary.
POSNET_API POSNET_STATUS __stdcall | POSS_CntxPackInit (const POSNET_HANDLE hDevice, POSNET_HANDLE *phRequest, const unsigned char flaga1, const unsigned char flaga2, const unsigned char tryb=POSNET_REQMODE_SPOOL)
| Realizacja rozkazu CNTXPACKINIT - Ustawianie kontekstu dla bazy opakowań.
POSNET_API POSNET_STATUS __stdcall | POSS_CntxPackShortageInit (const POSNET_HANDLE hDevice, POSNET_HANDLE *phRequest, const unsigned char flaga1, const unsigned char flaga2, const unsigned char tryb=POSNET_REQMODE_SPOOL)
| Realizacja rozkazu CNTXPACKSHORTAGEINIT - Ustawianie kontekstu do przeszukiwania bazy opakowań po brakach magazynowych.
POSNET_API POSNET_STATUS __stdcall | POSS_CntxPayformInit (const POSNET_HANDLE hDevice, POSNET_HANDLE *phRequest, const unsigned char flaga1, const unsigned char flaga2, const unsigned char tryb=POSNET_REQMODE_SPOOL)
| Realizacja rozkazu CNTXPAYFORMINIT - Ustawianie kontekstu dla bazy form płatności.
POSNET_API POSNET_STATUS __stdcall | POSS_CntxPLUDescInit (const POSNET_HANDLE hDevice, POSNET_HANDLE *phRequest, const unsigned char flaga1, const unsigned char flaga2, const unsigned char tryb)
| Realizacja rozkazu CNTXPLUDESCINIT - Ustawianie kontekstu dla bazy opisów towarów.
POSNET_API POSNET_STATUS __stdcall | POSS_CntxPLUInactiveInit (const POSNET_HANDLE hDevice, POSNET_HANDLE *phRequest, const unsigned char flaga1, const unsigned char flaga2, const char *data, const unsigned char tryb=POSNET_REQMODE_SPOOL)
| Realizacja rozkazu CNTXPLUINACTIVEINIT - Ustawianie kontekstu do przeszukiwania bazy PLU po nieaktywnych rekordach.
POSNET_API POSNET_STATUS __stdcall | POSS_CntxPLUInit (const POSNET_HANDLE hDevice, POSNET_HANDLE *phRequest, const unsigned char flaga1, const unsigned char flaga2, const unsigned char tryb=POSNET_REQMODE_SPOOL)
| Realizacja rozkazu CNTXPLUINIT - Inicjalizacja kontekstu bazy PLU.
POSNET_API POSNET_STATUS __stdcall | POSS_CntxPLUShortageInit (const POSNET_HANDLE hDevice, POSNET_HANDLE *phRequest, const unsigned char flaga1, const unsigned char flaga2, const unsigned char tryb=POSNET_REQMODE_SPOOL)
| Realizacja rozkazu CNTXPLUSHORTAGEINIT - Ustawianie kontekstu do przeszukiwania bazy PLU po brakach magazynowych.
POSNET_API POSNET_STATUS __stdcall | POSS_CntxUserInit (const POSNET_HANDLE hDevice, POSNET_HANDLE *phRequest, const unsigned char flaga1, const unsigned char flaga2, const unsigned char tryb=POSNET_REQMODE_SPOOL)
| Realizacja rozkazu CNTXUSERINIT - Ustawianie kontekstu dla bazy kasjerów.

## Opis szczegółowy

Rekordy w bazach można odczytywać albo bezpośrednio (podając numer czytanego rekordu) albo kontekstowo (podając CNTX_RECORD (wartość zero) jako numer rekordu. Kontekst zawiera numer bieżącego rekordu (rodzaj wskaźnika) oraz kryteria określające, który rekord będzie uważany za następny. Aby odczytywać bazę w trybie kontekstowym, należy najpierw zainicjalizować kontekst, co powoduje ustawienie wskaźnika na początek bazy. Późniejsze polecenia odczytu powodują ustawienie wskaźnika na kolejny rekord spełniający zadane kryteria i odczyt rekordu. Elementy kontekstu:

FLAGA1

  Maska bitowa – określa jaka informacja o rekordzie jest istotna.
  - bit 0 – czy brane pod uwagę jest istnienie rekordu. Ponieważ występuje możliwość wyszukiwania kontekstowego tylko istniejących rekordów, wartość tego bitu jest ignorowana.
  - bit 1 – czy brane pod uwagę są statystyki (0 – nie jest ważne jakie statystyki posiada rekord, 1 – jest ważne jakie statystyki posiada rekord)
  - bit 2 – czy brane pod uwagę jest to że rekord jest zestawem – bit dotyczy bazy PLU. (0 – nie jest ważne czy rekord jest zestawem, 1 – jest ważne czy rekord jest zestawem).
  FLAGA2

  Wartość bitowa – określa jakiej informacji o rekordzie poszukujemy
  - bit 0 – ponieważ występuje możliwość wyszukiwania kontekstowego tylko istniejących rekordów, wartość tego bitu jest ignorowana.
  - bit 1 – 1 – szukane są rekordy z niezerowymi statystykami, 0 – szukane są rekordy z zerowymi statystykami.
  - bit 2 – 1 – szukane są zestawy, 0 – szukane są pojedyncze elementy.
  Wartość bitowa i suma bitowa mogą stanowić sumy logiczne następujących bitów:
  PF_STAT1 0x02 - czy statystyki niezerowe
  PF_PLUSET 0x04 - czy jest to zestaw

Czyli np. Aby odczytac wszystkie statystyki niezerowe w bazie form płatności, wywołujemy CNTXPAYFORMINIT z wartością bitową 2 i maską bitową 2, Aby odczytać wszystkie zestawy o zerowych statystykach wywołujemy CNTXPLUINIT z wartością bitową 4 i maską bitową 6, Wartość = PF_PLUSET Maska = PF_PLUSET | PF_STAT1. Przy odczycie elementów z dowolnymi statystykami w masce bitowej bit 1 powinien mieć wartość 0, bit 1 w wartości bitowej przyjmuje wartość dowolną. Aby następnie odczytywać kolejne takie zestawy, wywołujemy PluRead z numerem rekordu równym 0, aż do zwrócenia błędu DB_ERR_CNTX_END przez to polecenie.

## Dokumentacja funkcji

POSNET_API POSNET_STATUS __stdcall POSS_CntxAutoDiscntInit | ( | const POSNET_HANDLE | hDevice,
|  | POSNET_HANDLE * | phRequest,
|  | const unsigned char | flaga1,
|  | const unsigned char | flaga2,
|  | const unsigned char | tryb = `POSNET_REQMODE_SPOOL` |
| ) |  |  |

Realizacja rozkazu CNTXAUTODISCNTINIT - Ustawianie kontekstu dla bazy rabatów.

Parametry i rezultat standardowe, zgodne z Instrukcją Programisty.

Część wysyłająca polecenie.

Nie posiada części odbiorczej.

POSNET_API POSNET_STATUS __stdcall POSS_CntxCashoutDescInit | ( | const POSNET_HANDLE | hDevice,
|  | POSNET_HANDLE * | phRequest,
|  | const unsigned char | flaga1,
|  | const unsigned char | flaga2,
|  | const unsigned char | tryb |
| ) |  |  |

Realizacja rozkazu CNTXCASHOUTDESCINIT - Ustawianie kontekstu dla bazy opisów wypłat.

Parametry i rezultat standardowe, zgodne z Instrukcją Programisty.

Część wysyłająca polecenie.

  Wersja protokołu: 1.02

  Kasy: COMBO, NEO

  Nie posiada części odbiorczej.

POSNET_API POSNET_STATUS __stdcall POSS_CntxCodeFmtInit | ( | const POSNET_HANDLE | hDevice,
|  | POSNET_HANDLE * | phRequest,
|  | const unsigned char | flaga1,
|  | const unsigned char | flaga2,
|  | const unsigned char | tryb = `POSNET_REQMODE_SPOOL` |
| ) |  |  |

Realizacja rozkazu CNTXCODEFMTINIT - Ustawianie kontekstu dla bazy formatów kodów.

Parametry i rezultat standardowe, zgodne z Instrukcją Programisty.

Część wysyłająca polecenie.

Nie posiada części odbiorczej.

POSNET_API POSNET_STATUS __stdcall POSS_CntxDiscntInit | ( | const POSNET_HANDLE | hDevice,
|  | POSNET_HANDLE * | phRequest,
|  | const unsigned char | flaga1,
|  | const unsigned char | flaga2,
|  | const unsigned char | tryb = `POSNET_REQMODE_SPOOL` |
| ) |  |  |

Realizacja rozkazu CNTXDISCNTINIT - Ustawianie kontekstu dla bazy rabatów/narzutów.

Parametry i rezultat standardowe, zgodne z Instrukcją Programisty.

Część wysyłająca polecenie.

Nie posiada części odbiorczej.

POSNET_API POSNET_STATUS __stdcall POSS_CntxErrMsgInit | ( | const POSNET_HANDLE | hDevice,
|  | POSNET_HANDLE * | phRequest,
|  | const unsigned char | flaga1,
|  | const unsigned char | flaga2,
|  | const unsigned char | tryb |
| ) |  |  |

Realizacja rozkazu CNTXERRMSGINIT - Ustawianie kontekstu dla bazy obsługi błędów.

Parametry i rezultat standardowe, zgodne z Instrukcją Programisty.

Część wysyłająca polecenie.

  Wersja protokołu: 1.02

  Kasy: COMBO, NEO

  Nie posiada części odbiorczej.

POSNET_API POSNET_STATUS __stdcall POSS_CntxGroupInit | ( | const POSNET_HANDLE | hDevice,
|  | POSNET_HANDLE * | phRequest,
|  | const unsigned char | flaga1,
|  | const unsigned char | flaga2,
|  | const unsigned char | tryb = `POSNET_REQMODE_SPOOL` |
| ) |  |  |

Realizacja rozkazu CNTXGROUPINIT - Ustawianie kontekstu dla bazy grup towarowych.

Parametry i rezultat standardowe, zgodne z Instrukcją Programisty.

Część wysyłająca polecenie.

Nie posiada części odbiorczej.

POSNET_API POSNET_STATUS __stdcall POSS_CntxHotkeyInit | ( | const POSNET_HANDLE | hDevice,
|  | POSNET_HANDLE * | phRequest,
|  | const unsigned char | flaga1,
|  | const unsigned char | flaga2,
|  | const unsigned char | tryb = `POSNET_REQMODE_SPOOL` |
| ) |  |  |

Realizacja rozkazu CNTXHOTKEYINIT - Ustawianie kontekstu dla bazy klawiszy skrótu.

Parametry i rezultat standardowe, zgodne z Instrukcją Programisty.

Część wysyłająca polecenie.

Nie posiada części odbiorczej.

POSNET_API POSNET_STATUS __stdcall POSS_CntxMUInit | ( | const POSNET_HANDLE | hDevice,
|  | POSNET_HANDLE * | phRequest,
|  | const unsigned char | flaga1,
|  | const unsigned char | flaga2,
|  | const unsigned char | tryb = `POSNET_REQMODE_SPOOL` |
| ) |  |  |

Realizacja rozkazu CNTXMUINIT - Ustawianie kontekstu dla bazy jednostek miary.

Parametry i rezultat standardowe, zgodne z Instrukcją Programisty.

Część wysyłająca polecenie.

Nie posiada części odbiorczej.

POSNET_API POSNET_STATUS __stdcall POSS_CntxPackInit | ( | const POSNET_HANDLE | hDevice,
|  | POSNET_HANDLE * | phRequest,
|  | const unsigned char | flaga1,
|  | const unsigned char | flaga2,
|  | const unsigned char | tryb = `POSNET_REQMODE_SPOOL` |
| ) |  |  |

Realizacja rozkazu CNTXPACKINIT - Ustawianie kontekstu dla bazy opakowań.

Parametry i rezultat standardowe, zgodne z Instrukcją Programisty.

Część wysyłająca polecenie.

Nie posiada części odbiorczej.

POSNET_API POSNET_STATUS __stdcall POSS_CntxPackShortageInit | ( | const POSNET_HANDLE | hDevice,
|  | POSNET_HANDLE * | phRequest,
|  | const unsigned char | flaga1,
|  | const unsigned char | flaga2,
|  | const unsigned char | tryb = `POSNET_REQMODE_SPOOL` |
| ) |  |  |

Realizacja rozkazu CNTXPACKSHORTAGEINIT - Ustawianie kontekstu do przeszukiwania bazy opakowań po brakach magazynowych.

Parametry i rezultat standardowe, zgodne z Instrukcją Programisty.

Część wysyłająca polecenie.

Nie posiada części odbiorczej.

POSNET_API POSNET_STATUS __stdcall POSS_CntxPayformInit | ( | const POSNET_HANDLE | hDevice,
|  | POSNET_HANDLE * | phRequest,
|  | const unsigned char | flaga1,
|  | const unsigned char | flaga2,
|  | const unsigned char | tryb = `POSNET_REQMODE_SPOOL` |
| ) |  |  |

Realizacja rozkazu CNTXPAYFORMINIT - Ustawianie kontekstu dla bazy form płatności.

Parametry i rezultat standardowe, zgodne z Instrukcją Programisty.

Część wysyłająca polecenie.

Nie posiada części odbiorczej.

POSNET_API POSNET_STATUS __stdcall POSS_CntxPLUDescInit | ( | const POSNET_HANDLE | hDevice,
|  | POSNET_HANDLE * | phRequest,
|  | const unsigned char | flaga1,
|  | const unsigned char | flaga2,
|  | const unsigned char | tryb |
| ) |  |  |

Realizacja rozkazu CNTXPLUDESCINIT - Ustawianie kontekstu dla bazy opisów towarów.

Parametry i rezultat standardowe, zgodne z Instrukcją Programisty.

Część wysyłająca polecenie.

  Wersja protokołu: 1.02

  Kasy: COMBO, NEO

  Nie posiada części odbiorczej.

POSNET_API POSNET_STATUS __stdcall POSS_CntxPLUInactiveInit | ( | const POSNET_HANDLE | hDevice,
|  | POSNET_HANDLE * | phRequest,
|  | const unsigned char | flaga1,
|  | const unsigned char | flaga2,
|  | const char * | data,
|  | const unsigned char | tryb = `POSNET_REQMODE_SPOOL` |
| ) |  |  |

Realizacja rozkazu CNTXPLUINACTIVEINIT - Ustawianie kontekstu do przeszukiwania bazy PLU po nieaktywnych rekordach.

Parametry i rezultat standardowe, zgodne z Instrukcją Programisty.

Część wysyłająca polecenie.

Nie posiada części odbiorczej.

POSNET_API POSNET_STATUS __stdcall POSS_CntxPLUInit | ( | const POSNET_HANDLE | hDevice,
|  | POSNET_HANDLE * | phRequest,
|  | const unsigned char | flaga1,
|  | const unsigned char | flaga2,
|  | const unsigned char | tryb = `POSNET_REQMODE_SPOOL` |
| ) |  |  |

Realizacja rozkazu CNTXPLUINIT - Inicjalizacja kontekstu bazy PLU.

Parametry i rezultat standardowe, zgodne z Instrukcją Programisty.

Część wysyłająca polecenie.

Nie posiada części odbiorczej.

POSNET_API POSNET_STATUS __stdcall POSS_CntxPLUShortageInit | ( | const POSNET_HANDLE | hDevice,
|  | POSNET_HANDLE * | phRequest,
|  | const unsigned char | flaga1,
|  | const unsigned char | flaga2,
|  | const unsigned char | tryb = `POSNET_REQMODE_SPOOL` |
| ) |  |  |

Realizacja rozkazu CNTXPLUSHORTAGEINIT - Ustawianie kontekstu do przeszukiwania bazy PLU po brakach magazynowych.

Parametry i rezultat standardowe, zgodne z Instrukcją Programisty.

Część wysyłająca polecenie.

Nie posiada części odbiorczej.

POSNET_API POSNET_STATUS __stdcall POSS_CntxUserInit | ( | const POSNET_HANDLE | hDevice,
|  | POSNET_HANDLE * | phRequest,
|  | const unsigned char | flaga1,
|  | const unsigned char | flaga2,
|  | const unsigned char | tryb = `POSNET_REQMODE_SPOOL` |
| ) |  |  |

Realizacja rozkazu CNTXUSERINIT - Ustawianie kontekstu dla bazy kasjerów.

Parametry i rezultat standardowe, zgodne z Instrukcją Programisty.

Część wysyłająca polecenie.

Nie posiada części odbiorczej.