Vous consultez une page technique concernant le logiciel de gestion Mercator. Celle-ci contient des informations spécifiques destinées aux professionnels de Mercator. Souhaitez-vous être redirigés vers des informations plus générales ?


   Ne plus poser cette question

Importer des colonnes supplémentaires via le PTFILE

0000003100     -      21/09/2022

Le customizer dont le code est repris ci-dessous montre comment importer des colonnes supplémentaires via le terminal PTFILE. Dans ce fichier Excel, une colonne NUM_SERIE a été ajoutée afin d'importer son contenu dans la colonne de même nom des lignes d'un document d'achat.

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 BarcodeTerm
{
    public class Customizer : MercatorUi.ICustomizers.IBarcodeTermCreated, MercatorUi.ICustomizers.IBarcodeTermClosed
    {

        public void BarcodeTermCreated(MercatorUi.BarcodeTerm.BarcodeTerm barcodeTerm)
        {
            if (barcodeTerm is MercatorUi.BarcodeTerm.BarcodeTermPTFILE)
                barcodeTerm.AfterInsert += BarcodeTermPTFILE_AfterInsert;
        }

        public void BarcodeTermClosed(MercatorUi.BarcodeTerm.BarcodeTerm barcodeTerm)
        {
            if (barcodeTerm is MercatorUi.BarcodeTerm.BarcodeTermPTFILE)
                barcodeTerm.AfterInsert -= BarcodeTermPTFILE_AfterInsert;
        }

        private void BarcodeTermPTFILE_AfterInsert(object sender, MercatorUi.BarcodeTerm.BarcodeTerm.AfterInsertEventArgs e)
        {
            if ((e.ContextForm is MercatorUi.Forms.Billing.BillingForm billingForm) && (billingForm.BillingEngine.TypeVA == MercatorUi.Engine.Gescom.Billing.TypeVAEnum.A)
                && e.CurrentBarCode.Table.Columns.Contains("num_serie") && !string.IsNullOrWhiteSpace(e.CurrentBarCode["num_serie"].ToString()))
            {
                e.DataRowWhereInserted["num_serie"] = e.CurrentBarCode["num_serie"];
            }
        }

    }
}

 

 L'ajout ou la modification de ce code requiert un redémarrage de Mercator.

Voir aussi cette page.