Lors de l'import Peppol ajouter des colonnes dans les documents précédents

0000003377     -      13/11/2025

Lors l'import Peppol en gestion commerciale, Mercator propose dans la partie gauche de l'écran la liste des commandes et des livraisons pour le fournisseur sélectionné. Par défaut, cet affichage reprend 

  • Journal et numéro
  • Date
  • Référence

Ce code montre comment ajouter une ou plusieurs colonnes. L'exemple est donné pour une colonne nommée CUSTOM_COL de la table PIEDS_A. Il s'implémente sous la forme d'un customizer Gescom.

Via l'interface IStringUpdater, la requête SQL dont l'ID est EINVOICE_IMPORT_PREVIOUS_DOC est modifiée. 

Les modifications dans l'écran sont apportées via IDialogLoadCustomizer.

Zoom
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Linq;
using MercatorApi;
using MercatorExtensions;
using MercatorUi;
using MercatorDatabase;

// <CompileWithRoslyn />

namespace Gescom
{
    public class Customizer : MercatorUi.ICustomizers.IStringUpdater, MercatorUi.ICustomizers.IDialogLoadCustomizer
    {
        public string StringUpdate(string stringToModify)
        {
            string id = Api.StrExtract(stringToModify, "<ID>", "</ID>");
            if (id == "EINVOICE_IMPORT_PREVIOUS_DOC")
                stringToModify = stringToModify.Replace(",pieds_a.reference,", ",pieds_a.reference,pieds_a.custom_col,");
            return stringToModify;
        }

        public void DialogLoadCustomize(System.Windows.Forms.Form form)
        {
            if (form is MercatorUi.Forms.Gescom.GescomDialogs.GescomAskEinvoiceImport gescomAskEinvoiceImport)
            {
                gescomAskEinvoiceImport.CustomColumnsPreviousDocDescriptors.Add(
                    new MercatorUi.Forms.Gescom.GescomDialogs.GescomAskEinvoiceImport.CustomColumnsPreviousDocDescriptor
                    {
                        Source = "custom_col",
                        Width = 50,
                        HeaderText = "Custom Col."
                    });

                gescomAskEinvoiceImport.PreviousDoc.Columns[2].Width.Absolute -= 50; // Rétrécir la colonne "Référence" de 50 px
                gescomAskEinvoiceImport.SplitterDistance = 600; // Elargir la partie gauche de l'écran
            }
        }
    }
}

 

Le même procédé peut être utilisé pour ajouter des colonnes numériques, par exemple les totaux des documents. Il est toutefois recommandé de travailler avec des colonnes de type caractères. Par exemple :

Zoom
stringToModify = stringToModify.Replace(",pieds_a.reference,", ",pieds_a.reference,ltrim(dbo.transform(pieds_a.tot_bas_dv,'999 999.99')) as tot_htva,");


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)