U bevindt zich nu op een technische pagina over de software Mercator. Deze pagina bevat specifieke informatie die bestemd is voor professionals van de software Mercator. Wenst u naar algemenere informatie over Mercator door te gaan?


   Deze vraag niet meer stellen

Installatie van een kolom "Gecumuleerd saldo" bij een financiële post

0000002499     -      03-10-2015

Via de parametermogelijkheden in Mercator kunt u makkelijk een kolom toevoegen aan de financiële posten, waarin het gecumuleerde saldototaal wordt vermeld. Dit kan bijzonder interessant zijn om een fout bij een financiële post terug te vinden, wanneer het eindsaldo van de ingevoerde berichtgeving niet overeenkomt met de eindberichtgeving aangegeven door de bank. Het totaal van elk papieren berichtgevingsblad kan aldus worden vergeleken met dit gecumuleerde totaal. Op die manier kan de foutieve boeking snel worden opgespoord.

Om deze functionaliteit te installeren, moet u de structuur wijzigen van de tabel LIGNES_C door een veld CUMUL van het type float toe te voegen.

Vervolgens moet u in de juiste boekhoudingssequentie (type financiële post) :

  • de ingavescherm wijzigen door het bijvoegen van die kolom (CUMUL) in de LinesEditor,
  • de volgende customizer markeren :
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"]); // beginsaldo
            foreach (DataRow dr in bookingEngine.LIGNES_C.Rows)
            {
                cumul += Api.ConvertToDouble(dr["tot_dv"]);
                Api.SmartReplace(dr, "cumul", cumul, n_dec);
            }
        }
    }
}