Lors de la duplication d’une fiche article, ne pas dupliquer les données des fournisseurs liés

0000002142     -      15/01/2025

Cet exemple montre comment empêcher de dupliquer les données de l’onglet "Fournisseurs" de la fiche article lors de la duplication de la fiche.
Il suffira d’implémenter l’interface MercatorUi.ICustomizers.IFormLoadCustomizer pour utiliser l’évènement AfterRecordDuplicate.

Source du code :

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

namespace SigStock
{
    public class Customizer : MercatorUi.ICustomizers.IFormLoadCustomizer, MercatorUi.ICustomizers.IFormClosedCustomizer
    {
        public void FormLoadCustomize(Form form)
        {
            MercatorUi.Forms.Sig.SigForm sigForm = (MercatorUi.Forms.Sig.SigForm)form;
            sigForm.Sig.AfterRecordDuplicate += SigStock_AfterRecordDuplicate;
        }

        public void FormClosedCustomize(Form form)
        {
            MercatorUi.Forms.Sig.SigForm sigForm = (MercatorUi.Forms.Sig.SigForm)form;
            sigForm.Sig.AfterRecordDuplicate -= SigStock_AfterRecordDuplicate;
        }

        void SigStock_AfterRecordDuplicate(object sender, MercatorUi.Sig.Sig.AfterRecordDuplicateEventArgs e)
        {
            MercatorUi.Forms.Sig.SigGrids.ArtFou artFou = e.SigForm.MovableControls.Values.OfType<MercatorUi.Forms.Sig.SigGrids.ArtFou>().FirstOrDefault();
            if (artFou != null)
            {
                artFou.Grid.CurrentCell = null;
                DataTable dt = (DataTable)artFou.Grid.DataSource;
                dt.Rows.Clear();
            }
        }
    }
}


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)