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

De vervaldatum opnieuw berekenen bij het valideren van een boeking in de boekhouding (verkoop of aankoop)

0000002145     -      30-10-2013

Deze programmering toont aan hoe u de vervaldatum kan herberekenen bij het valideren van een boeking van een verkoop of aankoop in de boekhouding, rekeninghoudende met de boekingsdatum en de betalingstermijn vermeld in de fiche van de klant/leverancier.

De code wordt opgebouwd op basis van een sequentiecustomizer van de boekhouding. Het implementeert deze 2 interfaces:

en gebruikt het event BeforeSave van BookingEngine.

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.BeforeSave += new MercatorUi.Engine.Cpta.BookingEngine.BeforeSaveEventHandler(BookingEngine_BeforeSave);
        }

        public void BookingEngineClosed(MercatorUi.Engine.Cpta.BookingEngine BookingEngine)
        {
            BookingEngine.BeforeSave -= new MercatorUi.Engine.Cpta.BookingEngine.BeforeSaveEventHandler(BookingEngine_BeforeSave);
        }

        void BookingEngine_BeforeSave(object sender, MercatorUi.Engine.Cpta.BookingEngine.BeforeSaveEventArgs e)
        {
            MercatorUi.Engine.Cpta.BookingEngine bookingEngine = (MercatorUi.Engine.Cpta.BookingEngine)sender;
            DateTime date = Convert.ToDateTime(bookingEngine.PIEDS_C["date"]);
            if ((bookingEngine.Type == 1) && (bookingEngine.CLI != null))
                bookingEngine.PIEDS_C["vervaldatum"] = Api.AddDate(date, bookingEngine.CLI["c_paiem"].ToString());
            else if ((bookingEngine.Type == 2) && (bookingEngine.FOU != null))
                bookingEngine.PIEDS_C["vervaldatum"] = Api.AddDate(date, bookingEngine.FOU["f_paiem"].ToString());
        }

    }
}