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

Installation d'une colonne de solde cumulé dans un financier

0000002499     -      03/10/2015

Via ses possibilités de paramétrage, Mercator permet d'ajouter aisément une colonne dans les financiers, reprenant le total cumulé du solde. Ceci peut être d'une grande aide, afin de trouver une erreur dans un financier, lorsque le solde final de l'extrait encodé ne correspond pas à l'extrait final indiqué par la banque. Le total de chaque feuillet de l'extrait de compte papier peut ainsi être comparé avec ce total cumulé. De la sorte, l'imputation erronée peut être décelée rapidement.

Pour installer cette fonctionnalité, il convient de modifier la structure de la table LIGNES_C en ajoutant un champ CUMUL de type float.

Ensuite, dans la séquence de comptabilité (type financier) adéquate, il est nécessaire de :

  • modifier la grille de saisie en ajoutant cette colonne (CUMUL) dans le LinesEditor,
  • référencer le customizer suivant :
Zoom
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using MercatorApi;
using MercatorUi;

namespace Booking
{
    public class Customizer : MercatorUi.ICustomizers.IBookingEngineCreated, MercatorUi.ICustomizers.IBookingEngineClosed
    {

        public void BookingEngineCreated(MercatorUi.Engine.Cpta.BookingEngine bookingEngine)
        {
            bookingEngine.AfterUpdateAmounts += new EventHandler(BookingEngine_AfterUpdateAmounts);
        }

        public void BookingEngineClosed(MercatorUi.Engine.Cpta.BookingEngine bookingEngine)
        {
            bookingEngine.AfterUpdateAmounts -= new EventHandler(BookingEngine_AfterUpdateAmounts);
        }

        void BookingEngine_AfterUpdateAmounts(object sender, EventArgs e)
        {
            MercatorUi.Engine.Cpta.BookingEngine bookingEngine = (MercatorUi.Engine.Cpta.BookingEngine)sender;
            int n_dec = Convert.ToInt32(bookingEngine.PIEDS_C["n_dec"]);
            double cumul = Api.ConvertToDouble(bookingEngine.PIEDS_C["tot_bas_dv"]); // solde initial
            foreach (DataRow dr in bookingEngine.LIGNES_C.Rows)
            {
                cumul += Api.ConvertToDouble(dr["tot_dv"]);
                Api.SmartReplace(dr, "cumul", cumul, n_dec);
            }
        }
    }
}