Liaison avec la gestion commerciale : blocage d'une facture fournisseur pour les futures propositions de paiements (module bancaire)

0000002508     -      16/09/2025

Le paramétrage décrit ici permet de marquer, dans la gestion commerciale, une facture fournisseur comme ne devant pas faire partie des propositions de paiements, qui seront générées par le module bancaire de la comptabilité Mercator. Le marquage de la facture fournisseur dans la gestion commerciale doit bien entendu se faire avant la centralisation en comptabilité.

Pour installer ce paramétrage :

  • Ajoutez dans la table PIEDS_A le champ BLOQ_PAIEM de type "bit". Ce champ devra porter la valeur 1 si on veut bloquer le paiement.
  • Ajoutez une case à cocher liée à ce champ dans l'écran de factures fournisseurs de la gestion commerciale
  • Dans la séquence d'achat de la comptabilité, placez ce customizer :

 

alter table PIEDS_A add BLOQ_PAIEM bit not null default 0

 

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

namespace Booking
{
    public class Customizer : MercatorUi.ICustomizers.IBookingEngineCreated, MercatorUi.ICustomizers.IBookingEngineClosed
    {
        public void BookingEngineCreated(MercatorUi.Engine.Cpta.BookingEngine bookingEngine)
        {
               bookingEngine.DuringSave += BookingEngine_DuringSave;
        }

        public void BookingEngineClosed(MercatorUi.Engine.Cpta.BookingEngine bookingEngine)
        {
               bookingEngine.DuringSave -= BookingEngine_DuringSave;
        }

        void BookingEngine_DuringSave(object sender, MercatorUi.Engine.Cpta.BookingEngine.DuringSaveEventArgs e)
        {
            e.SqlCommand.CommandText = "declare @id_gescom char(15), @bloq_paiem bit \r\n"
                                     + "select @id_gescom=id_gescom from #lignes_c_tmp where id_fou is not null \r\n"
                                     + "select @bloq_paiem=bloq_paiem from PIEDS_A where (journal=left(@id_gescom,5)) and (piece=right(@id_gescom,10)) \r\n" // @bloq_paiem sera null si le document de la gescom n'existe pas
                                     + "if @bloq_paiem=1 \r\n"
                                     + "    update #lignes_c_tmp set nivpaiem=7 where id_fou is not null";
            if (!Api.SqlExec(e.SqlCommand))
                e.CancelSave = true;
        }
    }
}

 



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)