Verwijderen van de vraag "Alle gekoppelde lijnen uitwissen?" in het commercieel beheer

0000002300     -      08-06-2016

De hierbeschreven customizer laat ons toe om het dialoogvenster "Alle gekoppelde lijnen uitwissen?" te verwijderen en bepaalt dat het antwoord op deze vraag altijd "Ja" is.Deze programmering is gebasseerd op het static event van Dialogs.BeforeAnswerYesNo. In ons voorbeeld, limiteren we het terugtrekken van dit dialoogvenster op de sequentie "VEN". Alle andere voorwaarden kunnen eenvoudig geïmplementeerd worden. De code wordt geplaatst in de Main-customizer die zich inschrijft op het event opening van Mercator. (Dus is een herstart van Mercator vereist)

De code is als volgt:

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 += new Dialogs.BeforeAnswerYesNoEventHandler(Dialogs_BeforeAnswerYesNo);
            }
            else if (Action == MercatorUi.ICustomizers.ExecAction.DossierClose)
            {
                Dialogs.BeforeAnswerYesNo -= new Dialogs.BeforeAnswerYesNoEventHandler(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; // simulatie van het antwoord op de vraag = JA
                }
            }
        }

    }
}