Documents de la gestion commerciale, transferts de dépôts et inventaires : mode minimisé

0000003105     -      04/09/2023

MercatorPenguin 2.10.11 ou ultérieur présente des fonctionnalités qui permettent de minimiser une vente, un achat, un transfert de dépôts ou un inventaire. Ceci afin d'autoriser l'utilisateur à se rendre ensuite dans n'importe quel autre écran de l'application. A partir de là, il pourra, par exemple, parcourir différents bundles présentant des listes d'articles et ajouter directement un article dans l'écran d'édition minimisé au préalable. Cela rend ainsi possible l'utilisation de MercatorPenguin par un représentant de commerce, qui montre les articles à son client et qui, au gré de ses choix, les ajoute dans une commande en cours d'édition.

Un écran en modification peut être minimisé en cliquant sur ce bouton :

minimize

L'écran peut être réaffiché en cliquant sur ce bouton :

maximize

ou en cliquant sur le bouton qui avait initialement ouvert cet écran.

Dans un bundle, il est possible d'afficher un AddItemButton qui permet d'ajouter l'article en cours de visualisation au document minimisé. Ce bouton contient une propriété IdArt qui assure la liaison avec l'article qui sera ajouté.

Ce bouton est mis en place avec ce code dans la zone XAML ListViewCell :

<m:AddItemButton IdArt="@S_ID" />

 

Ce bouton peut aussi être ajouté dans une SubCellView :

 

 <m:AddItemButton IdArt="{Binding .[S_ID]}" />

 

Note : ce bouton est équivalent à la sélection d'un article dans l'écran d'édition. Il est encore nécessaire ensuite de cliquer sur l'EditAddLineButton pour ajouter la ligne dans le document.


En plus de l'insertion de l'article, il est possible d'alimenter automatiquement tout EditEntry du document minimisé. Cela permet, par exemple, de saisir directement la quantité souhaitée. Mais ce principe peut s'appliquer à toutes les EditEntries. Pour cela, il faut utiliser un AddItemEntry et effectuer la liaison vers l'EditEntry du document minimisé via la propriété TargetEditSource.

 

<StackLayout Orientation="Horizontal" HorizontalOptions="FillAndExpand">
<m:AddItemEntry TargetEditSource="LINE|Q" IsNumeric="True" Text="1" WidthRequest="50" />
<m:AddItemButton IdArt="@S_ID" />
</StackLayout>

 

Outre toutes les propriétés d'un Entry, AddItemEntry contient ces propriétés spécifiques :

  • TargetEditSource : la source de l'EditEntry dans l'écran minimisé
  • IsNumeric : True / False
  • Décimals : le nombre de décimales pour les nombres
  • UpperCase : True / False pour les chaînes de caractères

 

Note : il est possible d'utiliser des AddItemEntries masquées (IsVisible="False") pour forcer des valeurs que l'utilisateur ne peut modifier dans le bundle d'affichage.

 


Si aucun document n'est minimisé et que l'utilisateur clique sur un AddItemButton, il recevra par défaut ce message :

"Aucun document disponible !"

Il est possible de déroger à cela en fixant une de ces propriétés de l'AddItemButton :

  • BillingEditButtonIfNoDoc
  • TransferEditButtonIfNoDoc
  • InventoryEditButtonIfNoDoc

Ceci permet d'initialiser un nouveau document (vente, achat, transfert de dépôts, inventaire) selon la propriété parmi ces trois qui a été complétée et les propriétés de l'EditButton lui-même.

Ceci est réalisé avec un paramètrage XAML comme celui-ci :

<m:AddItemButton IdArt="@S_ID">
<m:AddItemButton.BillingEditButtonIfNoDoc>
<m:BillingEditButton BillingTypeVA="V" BillingId="" BillingJournal="Brou" BillingPiece="0" BillingType="7" />
</m:AddItemButton.BillingEditButtonIfNoDoc>
</m:AddItemButton>

 

Toutes les propriétés habituellement utilisées dans les EditButtons sont aussi disponibles.

Note : cet EditButton n'est pas visible. Il est instancié par MercatorPenguin pour disposer de ses propriétés et méthodes, mais reste invisible.