Suppression de la question "Effacer les lignes liées ?" dans la gestion commerciale

0000002300     -      20/12/2024

Le customizer décrit ici permet de supprimer la boîte de dialogue "Effacer les lignes liées ?" et d'établir que la réponse donnée doit toujours être "Oui". Cette programmation se fonde sur l'évènement statique Dialogs.BeforeAnswerYesNo. Dans notre exemple, nous limitons le retrait de cette boîte de dialogue à la séquence "VEN". Toute autre condition peut être facilement mise en place. Le code est placé dans un customizer Main qui inscrit l'évènement à l'ouverture de Mercator. (Donc, un redémarrage est nécessaire)

Le code est le suivant :

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

namespace Main
{
    public class Customizer : MercatorUi.ICustomizers.IExec
    {

        public void Main(MercatorUi.ICustomizers.ExecAction action)
        {
            if (action == MercatorUi.ICustomizers.ExecAction.DossierOpen)
            {
                Dialogs.BeforeAnswerYesNo += Dialogs_BeforeAnswerYesNo;
            }
            else if (action == MercatorUi.ICustomizers.ExecAction.DossierClose)
            {
                Dialogs.BeforeAnswerYesNo -= Dialogs_BeforeAnswerYesNo;
            }
        }

        void Dialogs_BeforeAnswerYesNo(Dialogs.BeforeAnswerYesNoEventArgs e)
        {
            if (e.Message == _Divers.Iif_langue(Globals.Langue, "Remove linked lines ?", "Verbonden lijnen wissen ?", "Effacer les lignes liées ?"))
            {
                Form wonTop = MercatorUi.Globals.Main.WonTopForm();
                if (wonTop is MercatorUi.Forms.Billing.BillingForm)
                {
                    MercatorUi.Forms.Billing.BillingForm billingForm = (MercatorUi.Forms.Billing.BillingForm)wonTop;
                    if (billingForm.BillingEngine.Journal == "VEN")
                        e.Action = YesNoAskEnum.Yes; // simuler réponse à la question = OUI
                }
            }
        }

    }
}

 



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)