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

Peaufiner le paramétrage des documents de la gestion commerciale avec lignes, des transferts de dépôts ou des inventaires

0000002985     -      14/10/2020

Si on souhaite ajouter automatiquement la ligne en cours de saisie lors de la validation d'un EditEntry, il faut mettre à true sa propriété AutoAddLine. Ceci permet, par exemple, la mise en place de ce scénario : la quantité est d'abord saisie. Ensuite, l'article est scanné et ce scan ajoute directement la saisie en cours aux lignes du document. Dans ce cas, bien entendu, l'EditEntry associé à la quantité doit être idéalement placé au-dessus de celui permettant la sélection de l'article et référencé dans la propriété AutoFocusEntry de l'EditAddLineButton.

<m:EditEntry Placeholder="Article" Source="LINE|ID_ARTICLE" HorizontalOptions="FillAndExpand" AutoAddLine="True" />

 

Après l'ajout d'une ligne, par défaut, le focus est placé dans l'EditEntry permettant le choix de l'article. Si on souhaite déroger à cela, il suffit d'ajouter la propriété  AutoFocusEntry au bouton EditAddLineButton et d'y indiquer la source de l'EditEntry souhaité :

<m:EditAddLineButton AutoFocusEntry="LINE|..." />

 

Pour fixer une valeur de quantité par défaut, il suffit de déterminer celle-ci dans la propriété DefaultLineValue

<m:EditEntry Source="LINE|Q" DefaultLineValue="1" ... />

 

Si la quantité par défaut est fixée, il est possible de ne pas devoir passer par cette zone "quantité" et de valider directement le scan. Pour cela, il faut faire suivre la quantité par défaut d'un point d'exclamation.

<m:EditEntry Source="LINE|Q" DefaultLineValue="1!" ... />

 

Si on souhaite un avertissement sous la forme d'un message "Article non trouvé !" lorsque la recherche ne permet pas de sélectionner un article, il faut modifier le code XAML comme suit :

<m:EditEntry Placeholder="Article" Source="LINE|ID_ART" TargetSigNotFound="ToastShortCenter" ... />

Les valeurs possibles pour la propriété TargetSigNotFound sont :

  • Stop : affichage d'une boîte de dialogue à confirmer
  • ToastShortBottom : affichage d'un message dans le bas de l'écran, disparaissant automatiquement après 2 secondes
  • ToastShortCenter : affichage d'un message dans le centre de l'écran, disparaissant automatiquement après 2 secondes
  • ToastLongBottom : affichage d'un message dans le bas de l'écran, disparaissant automatiquement après 3.5 secondes
  • ToastLongCenter : affichage d'un message dans le centre de l'écran, disparaissant automatiquement après 3.5 secondes.

Note : ceci est disponible dans tous les écrans "en écriture" et dans tous les EditEntries liés à un signalétique.

 

Depuis MercatorPenguin 2.9 :

 

Si on souhaite que, après la sélection de l'article, la valeur saisie manuellement ne soit jamais remplacée, soit par une valeur par défaut, soit par une valeur déterminée par le programme, il faut mettre à True sa propriété PreserveValue.

<m:EditEntry Source="LINE|Q" PreserveValue="True"  ...

 

 

Il est possible d'ajouter à tout EditEntry la propriété NoKeyboard. Ceci permet de spécifier que le clavier ne doit pas être affiché lorsque l'EditEntry reçoit le focus. Cette possibilité est utile si une zone est toujours scannée avec un lecteur de codes-barres intégré.

<m:EditEntry Placeholder="Article" Source="LINE|ID_ART" NoKeyboard="True" ...

Si on souhaite afficher ponctuellement le clavier, il suffit d'appuyer longtemps sur la zone (clic long).

Cette propriété n'est pas prise en compte sous iOS. Sous Android, elle est disponible uniquement si le scanner hardware défini dans la fenêtre d'information n'est pas "Aucun scanner intégré".

 

L'EditEntry dispose d'une propriété QuantityChar qui permet de spécifier un caractère. Cette propriété est prise en compte uniquement sur les EditEntries dont la source est LINE|ID_ART ou LINE|ID_ARTICLE. Elle permet de spécifier un séparateur qui permettra de décoder la saisie dans la zone sous la forme :

  • quantité
  • séparateur
  • clé de recherche.

Par exemple, si QuantityChar vaut "*", il est possible de reproduire le comportement habituel de Mercator desktop qui permet de saisir "quantité * code article " (sans espace).

<m:EditEntry Placeholder="Article" Source="LINE|ID_ART" QuantityChar="*"  ...

Pour que ceci soit pris en compte, il est obligatoire de disposer sur cet écran d'un autre EditEntry dont la source est LINE|Q. Eventuellement, cet EditEntry peut être masqué en mettant sa propriété IsVisible à false.

 

MercatorPenguin permet de modifier une valeur dans la dernière ligne déjà validée mais non encore sauvegardée. Pour cela, il faut utiliser un EditChangeLastLineButton qui sera associé à un EditEntry. Ce bouton demande que deux propriétés soient complétées :

  • EditEntrySource : la source de l'EditEntry qui donnera la nouvelle valeur à appliquer 
  • ColumnToChange : le nom de la colonne dans les lignes à modifier.

Ce code XAML permet d'associer ce bouton à l'EditEntry permettant la saisie de la quantité. Ainsi, il devient possible de modifier la quantité de la dernière ligne validée.

<Label Text="Q" FontSize="12" VerticalOptions="Center" HorizontalOptions="End" Margin="0,0,5,0" Grid.Column="0" Grid.Row="5" />
<m:EditChangeLastLineButton EditEntrySource="LINE|Q" ColumnToChange="Q" Grid.Column="1" Grid.Row="5" />
<m:EditEntry Source="LINE|Q" DefaultLineValue="1" WidthRequest="120" Decimals="2" Grid.Column="2" Grid.Row="5" />

 Ce code XAML produit cette interface :

PenguinEditTransformButton

 

Il est possible de spécifier l'EditEntry qui doit recevoir le focus lorsque l'EditEntry en cours est validé. Cela se fait en ajoutant la propriété SourceNextFocus de l'EditEntry en cours d'édition et en y spécifiant la source de l'EditEntry suivant.

<m:EditEntry Source="LINE|PU" SourceNextFocus="LINE|NUM_SERIE"  ...

Cette fonctionnalité est disponible aussi dans les signalétiques et dans les actions.