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

Lors de l'ouverture du signalétique des articles activer un filtre excluant les articles en sommeil

0000002339     -      13/12/2016

Le customizer proposé ici permet de placer un filtre excluant les articles en sommeil (s_sommeil=0) dès l'ouverture du signalétique des articles. Cette programmation peut être adaptée facilement, sachant que l'expression du filtre peut être remplacée par toute clause SQL where valide pour la table STOCK.

Notez que ceci produit un résultat identique au filtrage effectué manuellement dans Mercator, à l'exception du fait que la liste de parcours des articles n'est pas affichée.

Le code du customizer s'établit comme suit : 

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

namespace SigStock
{
    public class Customizer : MercatorUi.ICustomizers.IFormLoadCustomizer, MercatorUi.ICustomizers.IFormClosedCustomizer
    {

        public void FormLoadCustomize(System.Windows.Forms.Form WindowsForm)
        {
            MercatorUi.Forms.Sig.SigForm sigForm = (MercatorUi.Forms.Sig.SigForm)WindowsForm;
            sigForm.FullInitialized += new EventHandler(sigForm_FullInitialized);
        }

        public void FormClosedCustomize(System.Windows.Forms.Form WindowsForm)
        {
            MercatorUi.Forms.Sig.SigForm sigForm = (MercatorUi.Forms.Sig.SigForm)WindowsForm;
            sigForm.FullInitialized -= new EventHandler(sigForm_FullInitialized);
        }

        void sigForm_FullInitialized(object sender, EventArgs e)
        {
            MercatorUi.Forms.Sig.SigForm sigForm = (MercatorUi.Forms.Sig.SigForm)sender;
            if (sigForm.IsFirstRecord)
                sigForm.Sig.FilterExpression(sigForm, "s_sommeil=0", true);
        }
    }
}