Bij het importeren van een factuur in het commercieel beheer vanuit de PeppolBox bouwt Mercator eerst de volledige BillingEngine op, met alle gegevens, inclusief de bestellingen en leveringen die eventueel betrokken zijn bij een statusverhoging naar deze factuur. Bijgevolg, als men gegevens wil wijzigen die Mercator standaard in de BillingEngine plaatst, moet men nadien ingrijpen. Bijvoorbeeld in het event BillingFormLoaded.
using MercatorUi;
namespace Billing
{
public class Customizer : MercatorUi.ICustomizers.IBillingEngineCreated, MercatorUi.ICustomizers.IBillingEngineClosed
{
public void BillingEngineCreated(MercatorUi.Engine.Gescom.BillingEngine billingEngine)
{
billingEngine.BillingFormLoaded += BillingEngine_BillingFormLoaded;
}
public void BillingEngineClosed(MercatorUi.Engine.Gescom.BillingEngine billingEngine)
{
billingEngine.BillingFormLoaded -= BillingEngine_BillingFormLoaded;
}
private void BillingEngine_BillingFormLoaded(object sender, System.EventArgs e)
{
MercatorUi.Engine.Gescom.BillingEngine billingEngine = (MercatorUi.Engine.Gescom.BillingEngine)sender;
if (billingEngine.Context == MercatorUi.Engine.Gescom.BillingEngine.ContextEnum.ImportEinvoice)
{
// uw code hier
}
}
}
}
💡 Indien men toegang wil krijgen tot de XML-inhoud van de factuur, volstaat het om het volgende te gebruiken:
System.Xml.XmlDocument xmlDoc = billingEngine.Einvoice;
👉 Hetzelfde principe geldt voor de BookingEngine bij import in de boekhouding, via het event BookingFormLoaded.