Vous consultez une page technique concernant le logiciel de gestion Mercator. Celle-ci contient des informations spécifiques destinées aux professionnels de Mercator. Souhaitez-vous être redirigés vers des informations plus générales ?


   Ne plus poser cette question

Compatibilité avec les scanners de codes-barres intégrés

0000002989     -      25/04/2024

MercatorPenguin 2.9.2 ou ultérieur, sous Android, prend en charge le scanner de codes-barres intégré sur le matériel suivant :

  • CipherLab : RS30, RS31 et 9700A
  • Zebra : compatible DataWedge
  • DataLogic

Deux modes d'intégration sont disponibles. Ils requièrent tous les deux le placement d'un objet de type EditScannerConnector dans le code XAML d'un écran en écriture (Billing, Transfer, Inventory, ...).

Pour indiquer lequel de ces matériels est disponible, il faut se rendre dans la fenêtre d'information de MercatorPenguin et choisir la valeur adéquate dans le déroulant.

 

Mode d'intégration 1 : si plusieurs zones peuvent recevoir un code-barres

L'objectif de ce mode est de définir des zones (EditEntry) dans lesquelles le lecteur de codes-barres doit être actif ; celui-ci étant désactivé quand le focus est dans une autre zone. Cela permet d'éviter des saisies erronées (par exemple, lire un code-barres numérique dans la zone "quantité").

Pour activer ce mode, il faut placer ce code XAML dans l'écran en écriture :

<m:EditScannerConnector Font="Micro" Margin="0,10,0,10" HorizontalOptions="FillAndExpand" />

Toutes les propriétés habituellement disponibles sur un Label peuvent être ajoutées / modifiées. Ce composant va afficher l'état du scanner intégré.

Les zones dans lesquelles le scanner pourra être activé doivent recevoir cette propriété :

NoKeyboard="True"

Voir cette page pour plus d'information concernant cette propriété.

 

Mode d'intégration 2 : si une seule zone peut recevoir un code-barres

L'objectif de ce mode est de définir une zone (EditEntry) qui recevra toujours le code-barres lu, quelque soit la zone de l'écran ayant le focus. Cela permet d'effectuer du scanning "à la volée" sans se préoccuper de la zone active.

Pour activer ce mode, il faut placer ce code XAML dans l'écran en écriture :

<m:EditScannerConnector Font="Micro" Margin="0,10,0,10" HorizontalOptions="FillAndExpand" SourceDefaultEntry="LINE|ID_ARTICLE" />

Toutes les propriétés habituellement disponibles sur un Label peuvent être ajoutées / modifiées. Ce composant va afficher l'état du scanner intégré. On voit que la propriété SourceDefaultEntry permet de spécifier la zone de destination par sa source.

Par défaut, si la zone de destination n'est pas vide, le scanner ne remplacera pas l'information déjà présente et vibrera pour indiquer une erreur. Si on souhaite permettre l'écrasement de cette information éventuellement déjà présente, il faut ajouter à l'EditScannerConnector cette propriété :

AllowOverWrite="True"

Pour ce second mode uniquement, et en ce qui concerne le scanner Zebra, il est nécessaire d'effectuer manuellement cette configuration dans l'application DataWedge du terminal, en créant un profil supplémentaire comme suit :

  • nom = Intent0
  • cocher "Activer sortie via intent"
  • action intent : mercatorpenguin.barcode
  • catégorie d'intent : laisser à vide
  • livraison d'intent : diffuser / broadcast
  • décocher "Sortie de touche" pour désactiver l'émulation clavier.

Le profil "Profile0 (default)" doit exister et être configuré pour l'émulation clavier et envoi de la touche "Enter" en fin de code-barres.


Depuis la version 2.10.28 de MercatorPengin, ce type de connecteur est aussi disponible dans le formulaire de recherche des bundles. Il faut placer un objet de type SearchScannerConnector dans son code XAML.

<m:SearchScannerConnector Font="Micro" Margin="0,10,0,10" HorizontalOptions="FillAndExpand" SourceDefaultEntry="@key" AllowOverWrite="True" />