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

MercatorPenguin en écriture : documents de la gestion commerciale : création et modification de reçus

0000002901     -      17/12/2019

Cette page montre un paramétrage effectué autour de la gestion commerciale et de MercatorPenguin. Il permet de créer et de modifier des reçus associés à des clients. Ces reçus pourront être encodés : 

  • soit en cash (dans notre paramétrage, le mode de paiement n° 1),
  • soit via carte bancaire, via le terminal de paiement SumUp® (dans notre paramétrage, le mode de paiement n° 11),
  • soit une combinaison des deux.

Un bundle de type "Liste" permet de créer un nouveau reçu ou de lister les derniers reçus encodés afin de les modifier éventuellement. Le paramétrage de ce bundle est disponible dans le fichier Recu.pngb. Dans notre exemple, la séquence utilisée est "1Recu".

Le paramétrage XAML de la séquence est le suivant :

<StackLayout Margin="10, 10, 10, 10">
<StackLayout Orientation="Horizontal">
    <m:EditEntry Placeholder="Client" Source="id_cli" Margin="0,0,25,0" WidthRequest="120" />
    <m:TargetSigLabel Origin="id_cli" Font="Medium" VerticalOptions="Center" HorizontalOptions="FillAndExpand" />
</StackLayout>
<m:EditEntry Placeholder="Référence"  Source="reference" HorizontalOptions="FillAndExpand" />
<Label Text="Paiement cash :" Font="Medium" Margin="10,5,0,0" />
<StackLayout Orientation="Horizontal" Margin="20,0,0,0">
<m:EditEntry Source="typ_paiem1" Text="1" IsVisible="False" />
<m:EditEntry Source="tot_paiem1" Margin="0,0,15,0" WidthRequest="80" />
</StackLayout>
<Label Text="Paiement par CB :" Font="Medium" Margin="10,5,0,0" />
<StackLayout Orientation="Horizontal" Margin="20,0,0,0">
<m:EditEntry Source="typ_paiem2" Text="11" IsVisible="False" />
<m:EditEntry Source="tot_paiem2" Margin="0,0,15,0" WidthRequest="80" />
    <m:EditPaymentButton TargetSource="tot_paiem2" Source="sumup_result" Text="SumUp" WidthRequest="120" />
</StackLayout>
<StackLayout Orientation="Horizontal" Margin="10,10,0,0">
<Label Text="Total encaissement : € " Font="Medium" />
<m:EditExpression Expression="$tot_paiem1$ + $tot_paiem2$" Font="Medium" />
</StackLayout>
</StackLayout>

Notez dans ce paramétrage que le premier mode de paiement est associé au cash (Source="typ_paiem1" Text="1") et le second au paiement par carte bancaire (Source="typ_paiem2" Text="11"). Ceci par le biais de deux EditEntries masqués (IsVisible="False").

Il est nécessaire d'ajouter ce champ dans la table PIEDS_V afin d'y sauvegarder le résultat du paiement effectué sur le terminal :

alter table PIEDS_V add SUMUP_RESULT varchar(MAX) not null default ''

A l'inverse de ce qui se passe habituellement dans Mercator (demander d'abord le montant à payer et ensuite le répartir entre les différents modes de paiement), ici, la somme des deux modes de paiement mis en place sera calculée a posteriori pour compléter la zone de montant à payer (PIEDS_V.NET_DV). Ceci est assuré par MercatorPenguinServer.

En amont de la sauvegarde, Mercator appellera le client spécifié via la méthode BillingEngine.ApplyCustomerAndCliLiv. Ceci signifie que le code des customizers éventuellement mis en place à cet endroit du moteur de Mercator seront bien exécutés. Si ces customizers contiennent des écrans ou des boîtes de dialogue, il est nécessaire d'exclure ces parties du code en utilisant la propriété MercatorUi.Globals.IsMercatorPenguinServer.

Toute la mécanique de sauvegarde des reçus habituellement utilisée lors de la sauvegarde d'un reçu dans Mercator sera aussi appliquée ici, puisque MercatorPenguinServer utilise exclusivement le BillingEngine pour sauvegarder ces données.

Les écrans dans MercatorPenguin se présentent comme ceci :

    


Associer un reçu à une commande client pour en augmenter l'acompte : voir cette page.