Partager via


Implémentation des scanneurs (documentation du SDK POS pour .NET v1.14)

Un appareil scanneur est utilisé pour lire les données des code-barres.

Le scanneur est un appareil à usage exclusif, comme suit :

  • L’application doit revendiquer l’appareil avant de l’activer.
  • L’application doit revendiquer et activer l’appareil avant que l’appareil commence à lire les entrées.

L’objet Scanneur suit le modèle général pour l’entrée basée sur des événements :

  • Quand une entrée est reçue de l’appareil, un événement DataEvent est mis en file d’attente en utilisant la méthode d’assistance Microsoft, ScannerBase.GoodRead. Si l’appareil reçoit des données incorrectes, l’objet Service peut également mettre en file d’attente un événement ErrorEvent en appelant ScannerBase.FailedRead.
  • Si la propriété PosCommon.AutoDisable a la valeur true, la classe ScannerBase définit la propriété PosCommon.EnableDevice sur false. Si votre objet Service a implémenté cette méthode, il doit désactiver l’appareil de façon appropriée.

Un événement DataEvent mis en file d’attente est délivré à l’application seulement quand la propriété ScannerBase.DataEventEnabled est définie sur true.

  • La spécification Unified Point Of Service (UnifiedPOS) exige que les données provenant du DataEvent entrant soient copiées dans les propriétés correspondantes avant d’être délivrées à l’application. La méthode ScannerBase.PreFireEvent, qui est appelée juste avant de délivrer le DataEvent à l’application, répond à cette exigence en appelant ScannerBase.DecodeScanDataLabel et ScannerBase.DecodeScanDataType si la propriété DecodeData est définie sur true. En règle générale, vous devez implémenter ces méthodes dans votre objet Service.
  • Les données scannées sont placées dans la propriété Scanner.BaseScanData. Si l’application a défini la propriété ScannerBase.DecodeData sur true, les données sont décodées dans les propriétés ScannerBase.ScanDataLabel et ScanDataType.
  • Avant la remise de DataEvent à l’application, la propriété ScannerBase.DataEventEnabled est définie sur false. Ceci empêche que d’autres événements DataEvent soient délivrés à l’application tant qu’elle n’a pas terminé de traiter l’événement actuel. L’application définit ScannerBase.DataEventEnabled sur true quand elle est prête à traiter des événements entrants.
  • La propriété ScannerBasic.DataCount peut être lue pour obtenir le nombre total d’événements mis en file d’attente.
  • Tous les événements mis en file d’attente peuvent être supprimés en appelant la méthode ScannerBasic.ClearInput.

Dans cette section

  • Décodage des données Décrit le code nécessaire pour décoder des données spécifiques à l’appareil.

  • Événements du scanneur Montre comment un objet Service de scanneur utilise la mise en file d’attente POS pour .NET afin de déclencher des événements pour les applications.