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 :
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);
}
}
}
}