De inhoud bewerken in de lijst met kortingen (Tools > Kortingen)

0000002450     -      28-09-2025

Volgende code toont ons hoe we de inhoud van de lijst met beschikbare kortingen kunnen wijzigen, wanneer de functie kortingen geactiveerd is. Het voorbeeld hier toont hoe we de begin- en einddatum van de promotie toevoegen.

Deze programmatie vereist 2 customizers.

De eerste customizer, Gescom, laat ons de SQL-query aanpassen die de gegevens uit de tabllen BAREMESV_PIEDS of BAREMESA_PIEDS haalt. Hier moet men de kolommen DEBUT en FIN toevoegen.

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

namespace Gescom
{
    public class Customizer : MercatorUi.ICustomizers.IStringUpdater
    {
        public string StringUpdate(string stringToModify)
        {
            string id = Api.StrExtract(stringToModify, "<ID>", "</ID>");
            if (id.StartsWith("ALLOWANCES_FOOTERS_"))
                return stringToModify.Replace("select id,intitule from", "select id,intitule,debut,fin from");
            else
                return stringToModify;
        }
    }
}

Vervolgens in de Main customizer, het evenement BaseFormCreating die het evenement AddingBaremePied van de form  MercatorUi.Forms.Gescom.GescomAllowancesFootersForm.

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

// <CompileWithRoslyn />

namespace Main
{
    public class Customizer : MercatorUi.ICustomizers.IExec
    {
        public void Main(MercatorUi.ICustomizers.ExecAction action)
        {
            if (action == MercatorUi.ICustomizers.ExecAction.DossierOpen)
            {
                Globals.Main.BaseFormCreating += Main_BaseFormCreating;
            }
            else if (action == MercatorUi.ICustomizers.ExecAction.DossierClose)
            {
                Globals.Main.BaseFormCreating -= Main_BaseFormCreating;
            }
        }

        void Main_BaseFormCreating(object sender, MercatorUi.Main.BaseFormCreatingEventArgs e)
        {
            if (e.Form is MercatorUi.Forms.Gescom.GescomAllowancesFootersForm gescomAllowancesFootersForm)
            {
                gescomAllowancesFootersForm.AddingBaremePied += gescomAllowancesFootersForm_AddingBaremePied;
                gescomAllowancesFootersForm.FormClosed += gescomAllowancesFootersForm_FormClosed;
            }
        }

        void gescomAllowancesFootersForm_FormClosed(object sender, System.Windows.Forms.FormClosedEventArgs e)
        {
            MercatorUi.Forms.Gescom.GescomAllowancesFootersForm gescomAllowancesFootersForm = (MercatorUi.Forms.Gescom.GescomAllowancesFootersForm)sender;
            gescomAllowancesFootersForm.AddingBaremePied -= gescomAllowancesFootersForm_AddingBaremePied;
            gescomAllowancesFootersForm.FormClosed -= gescomAllowancesFootersForm_FormClosed;
        }

        //Het event AddingBaremePied wordt opgeroepen, wanneer we een regel toevoegen aan de lijst.
        void gescomAllowancesFootersForm_AddingBaremePied(object sender, MercatorUi.Forms.Gescom.GescomAllowancesFootersForm.AddingBaremePiedEventArgs e)
        {
            e.ListViewItem.Text += " "
                + Convert.ToDateTime(e.DataRow["debut"]).ToShortDateString()
                + "-"
                + Convert.ToDateTime(e.DataRow["fin"]).ToShortDateString();
        }
    }
}

 


Aanvullende informatie : Functionaliteiten in "Tools > Kortingen"


Functionele cookies: Cookies die nodig zijn voor het gebruik van de website en voorkeurscookies. Ze bevatten geen persoonsgegevens. (Meer informatie)

Analytische cookies: Verzamelen van statistieken met betrekking tot het gedrag van internetgebruikers. (Meer informatie)

Marketingcookies: Om bezoekers op verschillende websites te volgen voor advertentiedoeleinden. (Meer informatie)