Lors de l'import d'une facture dans la gestion commerciale depuis la PeppolBox, Mercator construit d'abord le BillingEngine dans son entièreté, avec l'ensemble des données, en ce compris les commandes et livraisons éventuellement engagées dans une augmentation de statut vers cette facture. En conséquence, si on souhaite modifier des données que Mercator place par défaut dans le BillingEngine, il faut intervenir après. Par exemple dans l'événement 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)
{
// votre code ici
}
}
}
}
💡 Si on souhaite accéder au contenu XML de la facture, il suffit d'utiliser :
System.Xml.XmlDocument xmlDoc = billingEngine.Einvoice;
👉 Le même principe s'applique au BookingEngine pour les imports en comptabilité, via BookingFormLoaded.