Dans un textbox lié à un signalétique, restreindre la sélection des fiches dans ce signalétique

0000002220     -      26/12/2025

Comment restreindre la sélection des projets suivant le client choisi dans la vente ?

Via un customizer, il faut d'abord prendre la main sur le MercatorUi.MovableControls.MovableTextBox correspondant à ce textbox pointant vers le signalétique projet et compléter la propriété ComplWhereForTargetSig avec une clause SQL valide (sans le where).

Ce principe est valable pour tous les écrans paramétrables (BookingForm, BillingForm, ActionForm, SigForm, TransferForm, ...) et pour tous les signalétiques.

⚠️ Mercator utilise aussi parfois cette propriété ComplWhereForTargetSig. Si celle-ci est non vide, il vaut mieux ne pas la changer, ou le compléter.

Ce qui précède est valable pour tous les signalétiques : clients, fournisseurs, articles, 4ème signalétique, contacts, comptes généraux, comptes analytiques, immobilisés, prospects, prestataires et emplacements.

👉 Par exemple, le code suivant permet d'exclure les clients cochés "livraison seulement" c_liv_seul = 1 lors de la recherche d'un client de facturation :

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, MercatorUi.ICustomizers.IBillingEngineClosed
    {
        public void BillingEngineCreated(MercatorUi.Engine.Gescom.BillingEngine billingEngine)
        {
            billingEngine.BillingFormLoaded += BillingEngine_BillingFormLoaded;
        }

        public void BillingEngineClosed(MercatorUi.Engine.Gescom.BillingEngine billingEngine)
        {
            billingEngine.BillingFormLoaded -= BillingEngine_BillingFormLoaded);
        }

        void BillingEngine_BillingFormLoaded(object sender, EventArgs e)
        {
            MercatorUi.Engine.Gescom.BillingEngine billingEngine = (MercatorUi.Engine.Gescom.BillingEngine)sender;
            billingEngine.BillingForm.CustomerSupplier.ComplWhereForTargetSig = "c_liv_seul = 0";
        }
    }
}


Cookies fonctionnels : Cookies nécessaires à l'utilisation du site et cookies de préférence. Ils ne contiennent aucune donnée à caractère personnel. (En savoir plus)

Cookies statistiques : Captation de statistiques liées aux comportements des internautes. (En savoir plus)

Cookies marketing : Pour effectuer le suivi des visiteurs au travers des sites web, à des fins publicitaires. (En savoir plus)