Dans la gestion commerciale, permettre la création de nouveaux documents sans autoriser leur modification ultérieure

0000002298     -      21/03/2016

Par défaut, dans Mercator, le droit "Modifier" comprend toujours la possibilité de créer et de modifier ultérieurement. La programmation décrite ici permet de retirer à l'utilisateur la possibilité de modifier un document existant.

Cette programmation est construite autour d'un customizer Billing qui implémente l'interface MercatorUi.ICustomizers.IBillingEngineCreated.

La condition qui détermine si le document peut être modifié ou non lorsqu'il est réouvert se trouve sur la ligne 16 (if...). Elle peut être modifiée aisément. Dans notre exemple, le document réouvert ne sera pas modifiable si le champ Libre1 de l'utilisateur actif contient ReadOnly.

Le code s'établit comme suit :

Zoom
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Windows.Forms;
using MercatorApi;


namespace Billing
{
    public class Customizer : MercatorUi.ICustomizers.IBillingEngineCreated
    {

        public void BillingEngineCreated(MercatorUi.Engine.Gescom.BillingEngine BillingEngine)
        {
            if ((MercatorUi.Globals.CurrentUser["libre1"].ToString() == "ReadOnly") && !BillingEngine.IsNew && !BillingEngine.ReadOnly)
                BillingEngine.ReadOnly = true;
        }
    }
}