La gestion commerciale propose des aspects spécifiques en ce qui concerne cette fonctionnalité : enregistrer une signature manuscrite. Lorsque cette fonctionnalité est correctement installée, il est possible de l'utiliser de façon plus intégrée dans la gestion commerciale. Pour cela, il faut ajouter cette colonne dans la table PIEDS_V :
alter table PIEDS_V add SIGN_IMG varbinary(MAX) null
Il faut ensuite paramétrer l'écran de la séquence souhaitée en ajoutant une PictureBox liée à cette colonne SIGN_IMG.
Une case à cocher "Signature" apparaît dans l'onglet "Evènements" des séquences. En la cochant, ce comportement supplémentaire sera rencontré : lors de la validation d'un nouveau document de vente, Mercator s'arrêtera afin de permettre la saisie d'une signature.
Lors d'une transformation de document vers un stade ultérieur, la signature est toujours supprimée; ceci afin de limiter la durée de vie de la signature dans la base de données (voir note concernant le respect du RGPD sur cette page). Le cas échéant, si nécessaire et toléré, la signature peut être stockée dans un duplicata PDF.
Par défaut, Mercator n'interdit pas la modification d'un document signé. Ceci dépendant de règles de gestion propres à chaque entreprise, cette éventuelle restriction doit être mise en place au niveau du paramétrage. Ci-dessous un exemple de customizer qui met tout document signé en lecture seule :
using System.Drawing;
using MercatorUi;
using MercatorApi;
using MercatorExtensions;
using System.ComponentModel;
using System.Data.SqlClient;
using System.Text;
namespace Billing
{
public class Customizer : MercatorUi.ICustomizers.IBillingEngineCreated
{
public void BillingEngineCreated(MercatorUi.Engine.Gescom.BillingEngine billingEngine)
{
if (!((billingEngine.PIEDS["sign_img"] == DBNull.Value) || (((byte[])billingEngine.PIEDS["sign_img"]).Length == 0)))
{
MercatorUi.Dialogs.Stop("Ce document contient une signature. Il ne peut plus être modifié !");
billingEngine.ReadOnly = true;
}
}
}
}