De hier beschreven parameterinstelling laat toe om in Commercieel Beheer een leveranciersfactuur te markeren zodat ze geen deel uitmaakt van de betalingsvoorstellen die door de bankmodule van Boekhouding in Mercator worden gegenereerd. Uiteraard moet de leveranciersfactuur in het Commercieel Beheer worden gemarkeerd voorafgaand aan de centralisering in de boekhouding.
Om deze parameterinstelling te installeren:
- voeg in de tabel PIEDS_A het veld BLOQ_PAIEM (type "bit") toe. Dit veld moet de waarde 1 vermelden als u de betaling wilt blokkeren;
- voeg een CheckBox, gebonden aan dit veld, in het scherm van de leveranciersfacturen uit Commercieel Beheer:
- in de aankoopsequentie van de boekhouding, plaats deze customizer :
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 += new MercatorUi.Engine.Cpta.BookingEngine.DuringSaveEventHandler(BookingEngine_DuringSave);
}
public void BookingEngineClosed(MercatorUi.Engine.Cpta.BookingEngine BookingEngine)
{
BookingEngine.DuringSave -= new MercatorUi.Engine.Cpta.BookingEngine.DuringSaveEventHandler(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 zal leeg zijn indien het gescom-document niet bestaat
+ "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;
}
}
}